oota-llvm.git
19 years agoMake sure the CBackend is always a target that is built.
Reid Spencer [Fri, 22 Apr 2005 17:06:18 +0000 (17:06 +0000)]
Make sure the CBackend is always a target that is built.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21448 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoConsolidate the target selection options into a single option,
Reid Spencer [Fri, 22 Apr 2005 17:02:18 +0000 (17:02 +0000)]
Consolidate the target selection options into a single option,
--enable-target which can take values "all", "host-only" or a comma
separated list of target names (alpha,ia64,powerpc,skeleton,sparc,x86)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21447 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agokeep track of max depth stats
Andrew Lenharth [Fri, 22 Apr 2005 13:35:18 +0000 (13:35 +0000)]
keep track of max depth stats

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21446 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFirst step in avoiding compilation/usage of non-relevant targets. New
Reid Spencer [Fri, 22 Apr 2005 07:27:28 +0000 (07:27 +0000)]
First step in avoiding compilation/usage of non-relevant targets. New
options have been added to the configure script that control which targets
will be used. The options are:

--enable-target-this (default=disabled)
  This will specify that the target corresponding to the build host is
  the target that will be compiled/used. You can't use this with any of
  the other options (they'll be ignored). This is what most people want.

--disable-target-x86 (default=enabled)
  This will prevent the X86 target(s) from being compiled/used.

--disable-target-sparc (default=enabled)
  This will prevent both SparcV8 and SparcV9 from being compiled/used.

--disable-target-powerpc (default=enabled)
  This will prevent the PowerPC target from being compiled/used.

--disable-target-alpha (default=enabled)
  This will prevent the Alpha target from being compiled/used.

--disable-target-ia64 (default=enabled)
  This will prevent the IA64 target from being compiled/used.

Note that without any of these options, the default behavior is to build
all targets, as is the current practice.

All these options do is set up the substititution variable TARGETS_TO_BUILD
which contains the targets that should be compiled/used. The variable is
intended to be used in the makefiles. Those changes will come later.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21445 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoUpdated dependence analyzer. Fixed numerous bugs. Same stage scheduling, etc.
Tanya Lattner [Fri, 22 Apr 2005 06:32:48 +0000 (06:32 +0000)]
Updated dependence analyzer. Fixed numerous bugs. Same stage scheduling, etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21444 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMalloc/Free have mod/ref effects. Do not allow CSE of function calls that
Chris Lattner [Fri, 22 Apr 2005 05:36:59 +0000 (05:36 +0000)]
Malloc/Free have mod/ref effects.  Do not allow CSE of function calls that
call malloc/free.  This fixes PR555.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21443 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoremove 'another common example', which doesn't work with VC++, and indent
Chris Lattner [Fri, 22 Apr 2005 04:49:59 +0000 (04:49 +0000)]
remove 'another common example', which doesn't work with VC++, and indent
another example properly

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21442 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoEliminate tabs and trailing spaces
Jeff Cohen [Fri, 22 Apr 2005 04:13:13 +0000 (04:13 +0000)]
Eliminate tabs and trailing spaces

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21441 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoConvert tabs to spaces
Misha Brukman [Fri, 22 Apr 2005 04:08:30 +0000 (04:08 +0000)]
Convert tabs to spaces

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21440 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoConvert tabs to spaces
Misha Brukman [Fri, 22 Apr 2005 04:01:18 +0000 (04:01 +0000)]
Convert tabs to spaces

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21439 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoConvert tabs to spaces
Misha Brukman [Fri, 22 Apr 2005 03:46:24 +0000 (03:46 +0000)]
Convert tabs to spaces

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21438 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoConvert tabs to spaces
Misha Brukman [Fri, 22 Apr 2005 03:35:49 +0000 (03:35 +0000)]
Convert tabs to spaces

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21437 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoConvert tabs to spaces
Misha Brukman [Fri, 22 Apr 2005 03:27:20 +0000 (03:27 +0000)]
Convert tabs to spaces

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21436 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoConvert tabs to spaces
Misha Brukman [Fri, 22 Apr 2005 03:18:56 +0000 (03:18 +0000)]
Convert tabs to spaces

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21433 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd the RUN: prefix to the start of the run line so this test doesn't fail.
Reid Spencer [Fri, 22 Apr 2005 02:49:25 +0000 (02:49 +0000)]
Add the RUN: prefix to the start of the run line so this test doesn't fail.
BTW .. isn't the date on this funky? We haven't reachec 2005-05-09 yet???

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21432 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoChange some old-style casts to C++ style casts to avoid warnings in XPS
Reid Spencer [Fri, 22 Apr 2005 02:31:56 +0000 (02:31 +0000)]
Change some old-style casts to C++ style casts to avoid warnings in XPS
compilation. This change has been waiting in the wings for a long time but
since Misha just did a global change, I figured now was the time to commit
it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21431 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoThere is no =head3. Convert to =head2.
Reid Spencer [Fri, 22 Apr 2005 02:16:19 +0000 (02:16 +0000)]
There is no =head3. Convert to =head2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21430 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoCorrect the documentation to match the program.
Reid Spencer [Fri, 22 Apr 2005 02:12:41 +0000 (02:12 +0000)]
Correct the documentation to match the program.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21429 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove trailing whitespace
Misha Brukman [Fri, 22 Apr 2005 00:00:37 +0000 (00:00 +0000)]
Remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21428 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove trailing whitespace
Misha Brukman [Thu, 21 Apr 2005 23:48:37 +0000 (23:48 +0000)]
Remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21427 91177308-0d34-0410-b5e6-96231b3b80d8

19 years ago* Remove trailing whitespace
Misha Brukman [Thu, 21 Apr 2005 23:38:14 +0000 (23:38 +0000)]
* Remove trailing whitespace
* Convert tabs to spaces

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21426 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove trailing whitespace
Misha Brukman [Thu, 21 Apr 2005 23:30:14 +0000 (23:30 +0000)]
Remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21425 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove trailing whitespace
Misha Brukman [Thu, 21 Apr 2005 23:13:11 +0000 (23:13 +0000)]
Remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21424 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove trailing whitespace
Misha Brukman [Thu, 21 Apr 2005 22:55:34 +0000 (22:55 +0000)]
Remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21422 91177308-0d34-0410-b5e6-96231b3b80d8

19 years ago* Remove trailing whitespace
Misha Brukman [Thu, 21 Apr 2005 22:43:08 +0000 (22:43 +0000)]
* Remove trailing whitespace
* Convert tabs to spaces

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21421 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove trailing whitespace
Misha Brukman [Thu, 21 Apr 2005 22:36:52 +0000 (22:36 +0000)]
Remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21420 91177308-0d34-0410-b5e6-96231b3b80d8

19 years ago* Remove trailing whitespace
Misha Brukman [Thu, 21 Apr 2005 21:48:46 +0000 (21:48 +0000)]
* Remove trailing whitespace
* Convert tabs to spaces

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21418 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove trailing whitespace
Misha Brukman [Thu, 21 Apr 2005 21:44:41 +0000 (21:44 +0000)]
Remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21417 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove trailing whitespace
Misha Brukman [Thu, 21 Apr 2005 21:13:18 +0000 (21:13 +0000)]
Remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21416 91177308-0d34-0410-b5e6-96231b3b80d8

19 years ago* Remove trailing whitespace
Misha Brukman [Thu, 21 Apr 2005 21:10:11 +0000 (21:10 +0000)]
* Remove trailing whitespace
* Convert tabs to spaces

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21415 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoCheck for eqv matching
Chris Lattner [Thu, 21 Apr 2005 21:10:07 +0000 (21:10 +0000)]
Check for eqv matching

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21414 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMatch another form of eqv
Chris Lattner [Thu, 21 Apr 2005 21:09:11 +0000 (21:09 +0000)]
Match another form of eqv

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21413 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove trailing whitespace
Misha Brukman [Thu, 21 Apr 2005 20:59:05 +0000 (20:59 +0000)]
Remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21412 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove trailing whitespace
Misha Brukman [Thu, 21 Apr 2005 20:48:15 +0000 (20:48 +0000)]
Remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21411 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agothis passes on darwin
Chris Lattner [Thu, 21 Apr 2005 20:48:08 +0000 (20:48 +0000)]
this passes on darwin

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21410 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove trailing whitespace
Misha Brukman [Thu, 21 Apr 2005 20:39:54 +0000 (20:39 +0000)]
Remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21409 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove trailing whitespace
Misha Brukman [Thu, 21 Apr 2005 20:19:05 +0000 (20:19 +0000)]
Remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21408 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoHandle stores of global address as stores of immediates. Instead of:
Chris Lattner [Thu, 21 Apr 2005 19:11:03 +0000 (19:11 +0000)]
Handle stores of global address as stores of immediates.  Instead of:

test1:
        movl $N, %eax
        movl %eax, G
        ret

emit:

test1:
        movl $N, G
        ret

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21407 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoHandle (store &GV -> mem) as a store immediate. This often occurs for
Chris Lattner [Thu, 21 Apr 2005 19:03:24 +0000 (19:03 +0000)]
Handle (store &GV -> mem) as a store immediate.  This often occurs for
printf format strings and other stuff.  Instead of generating this:

        movl $l1__2E_str_1, %eax
        movl %eax, (%esp)

we now emit:

        movl $l1__2E_str_1, (%esp)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21406 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoUse the actual uid/gid for defaulting the fields in the archive.
Reid Spencer [Thu, 21 Apr 2005 17:49:57 +0000 (17:49 +0000)]
Use the actual uid/gid for defaulting the fields in the archive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21405 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix a bug where we would not promote calls to invokes if they occured in
Chris Lattner [Thu, 21 Apr 2005 16:46:46 +0000 (16:46 +0000)]
Fix a bug where we would not promote calls to invokes if they occured in
the same block as the setjmp.  Thanks to Greg Pettyjohn for noticing this!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21403 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoEliminate calls to system dependent function getuid by using
Reid Spencer [Thu, 21 Apr 2005 16:15:19 +0000 (16:15 +0000)]
Eliminate calls to system dependent function getuid by using
the newly implemented sys::Process::GetCurrentUserId function. Replace
similarly for getgid.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21402 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoProvide an implementation of the GetCurrentUserId and GetCurrentGroupId
Reid Spencer [Thu, 21 Apr 2005 16:12:57 +0000 (16:12 +0000)]
Provide an implementation of the GetCurrentUserId and GetCurrentGroupId
methods that were recently added to the interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21401 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd two new methods for getting the User Id and Group Id values for the
Reid Spencer [Thu, 21 Apr 2005 16:12:04 +0000 (16:12 +0000)]
Add two new methods for getting the User Id and Group Id values for the
current process.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21400 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd doxygen comments, patch contributed by Evan Jones.
Chris Lattner [Thu, 21 Apr 2005 16:10:03 +0000 (16:10 +0000)]
Add doxygen comments, patch contributed by Evan Jones.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21397 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoadd support for taking and resolving the address of free.
Chris Lattner [Thu, 21 Apr 2005 16:09:43 +0000 (16:09 +0000)]
add support for taking and resolving the address of free.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21396 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoadd support for taking the address of free.
Chris Lattner [Thu, 21 Apr 2005 16:08:59 +0000 (16:08 +0000)]
add support for taking the address of free.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21395 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoImprove doxygen, from part of Evan's patch that didn't apply.
Chris Lattner [Thu, 21 Apr 2005 16:06:03 +0000 (16:06 +0000)]
Improve doxygen, from part of Evan's patch that didn't apply.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21394 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoImprove doxygen documentation, patch contributed by Evan Jones!
Chris Lattner [Thu, 21 Apr 2005 16:04:49 +0000 (16:04 +0000)]
Improve doxygen documentation, patch contributed by Evan Jones!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21393 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoImprove and elimination. On PPC, for:
Chris Lattner [Thu, 21 Apr 2005 06:28:15 +0000 (06:28 +0000)]
Improve and elimination.  On PPC, for:

bool %test(int %X) {
        %Y = and int %X, 8
        %Z = setne int %Y, 0
        ret bool %Z
}

we now generate this:

        rlwinm r2, r3, 0, 28, 28
        srwi r3, r2, 3

instead of this:

        rlwinm r2, r3, 0, 28, 28
        srwi r2, r2, 3
        rlwinm r3, r2, 0, 31, 31

I'll leave it to Nate to get it down to one instruction. :)

---------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21391 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFold (x & 8) != 0 and (x & 8) == 8 into (x & 8) >> 3.
Chris Lattner [Thu, 21 Apr 2005 06:12:41 +0000 (06:12 +0000)]
Fold (x & 8) != 0 and (x & 8) == 8  into (x & 8) >> 3.

This turns this PPC code:

        rlwinm r2, r3, 0, 28, 28
        cmpwi cr7, r2, 8
        mfcr r2
        rlwinm r3, r2, 31, 31, 31

into this:

        rlwinm r2, r3, 0, 28, 28
        srwi r2, r2, 3
        rlwinm r3, r2, 0, 31, 31

Next up, nuking the extra and.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21390 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoInstcombine this:
Chris Lattner [Thu, 21 Apr 2005 05:43:13 +0000 (05:43 +0000)]
Instcombine this:

        %shortcirc_val = select bool %tmp.1, bool true, bool %tmp.4             ; <bool> [#uses=1]
        %tmp.6 = cast bool %shortcirc_val to int                ; <int> [#uses=1]

into this:

        %shortcirc_val = or bool %tmp.1, %tmp.4         ; <bool> [#uses=1]
        %tmp.6 = cast bool %shortcirc_val to int                ; <int> [#uses=1]

not this:

        %tmp.4.cast = cast bool %tmp.4 to int           ; <int> [#uses=1]
        %tmp.6 = select bool %tmp.1, int 1, int %tmp.4.cast             ; <int> [#uses=1]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21389 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoTeach simplifycfg that setcc is cheap and non-trapping, so that it can
Chris Lattner [Thu, 21 Apr 2005 05:31:13 +0000 (05:31 +0000)]
Teach simplifycfg that setcc is cheap and non-trapping, so that it can
convert this:

        %tmp.1 = seteq int %i, 0                ; <bool> [#uses=1]
        br bool %tmp.1, label %shortcirc_done, label %shortcirc_next

shortcirc_next:         ; preds = %entry
        %tmp.4 = seteq int %j, 0                ; <bool> [#uses=1]
        br label %shortcirc_done

shortcirc_done:         ; preds = %shortcirc_next, %entry
        %shortcirc_val = phi bool [ %tmp.4, %shortcirc_next ], [ true, %entry ]         ; <bool> [#uses=1]

to this:
        %tmp.1 = seteq int %i, 0                ; <bool> [#uses=1]
        %tmp.4 = seteq int %j, 0                ; <bool> [#uses=1]
        %shortcirc_val = select bool %tmp.1, bool true, bool %tmp.4             ; <bool> [#uses=1]

... which is later simplified by instcombine into an or.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21388 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFix some broken links, taking care of PR554
Chris Lattner [Thu, 21 Apr 2005 04:53:58 +0000 (04:53 +0000)]
Fix some broken links, taking care of PR554

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21387 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoupdate to match build changes.
Chris Lattner [Thu, 21 Apr 2005 04:52:37 +0000 (04:52 +0000)]
update to match build changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21386 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFor Bug 543:
Reid Spencer [Thu, 21 Apr 2005 02:50:10 +0000 (02:50 +0000)]
For Bug 543:
Standardize the error messages to be in "path: what failed: why" format.
Also attempt to use the correct errno to ThrowErrno in situations where
the errno value is erased by subsequent system calls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21385 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFor Bug 543:
Reid Spencer [Thu, 21 Apr 2005 02:30:32 +0000 (02:30 +0000)]
For Bug 543:
Allow the ThrowErrno function to optionally accept an error number
parameter so that callers can specify the error number to be used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21384 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove trailing whitespace at the end of lines
Misha Brukman [Wed, 20 Apr 2005 16:42:34 +0000 (16:42 +0000)]
Remove trailing whitespace at the end of lines

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21380 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoRemove trailing whitespace, patch by Markus Oberhumer.
Misha Brukman [Wed, 20 Apr 2005 16:05:03 +0000 (16:05 +0000)]
Remove trailing whitespace, patch by Markus Oberhumer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21379 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd FIXME by Markus Oberhumer from bug 545: not checking for "." in $PATH may
Misha Brukman [Wed, 20 Apr 2005 15:42:11 +0000 (15:42 +0000)]
Add FIXME by Markus Oberhumer from bug 545: not checking for "." in $PATH may
result in returning executable files that won't be runnable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21378 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoDo not mark directories as `executable', we only want program files
Misha Brukman [Wed, 20 Apr 2005 15:33:22 +0000 (15:33 +0000)]
Do not mark directories as `executable', we only want program files
Patch by Markus Oberhumer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21377 91177308-0d34-0410-b5e6-96231b3b80d8

19 years ago#include system headers after all LLVM headers
Misha Brukman [Wed, 20 Apr 2005 04:51:29 +0000 (04:51 +0000)]
#include system headers after all LLVM headers

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21374 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoEliminate trailing spaces at end-of-line
Misha Brukman [Wed, 20 Apr 2005 04:08:35 +0000 (04:08 +0000)]
Eliminate trailing spaces at end-of-line

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21372 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoConsistently eschew space between `*' or `&' and function argument name
Misha Brukman [Wed, 20 Apr 2005 04:07:47 +0000 (04:07 +0000)]
Consistently eschew space between `*' or `&' and function argument name

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21371 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoIgnore dangling symlinks in getDirectoryContents()
Misha Brukman [Wed, 20 Apr 2005 04:04:07 +0000 (04:04 +0000)]
Ignore dangling symlinks in getDirectoryContents()
Thanks to Markus Oberhumer for the patch!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21370 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoInitialize fields mode, uid, and gid.
Misha Brukman [Wed, 20 Apr 2005 03:55:35 +0000 (03:55 +0000)]
Initialize fields mode, uid, and gid.
Patch by Markus Oberhumer.  Thanks!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21369 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAlign comments together for consistency
Misha Brukman [Wed, 20 Apr 2005 03:52:59 +0000 (03:52 +0000)]
Align comments together for consistency

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21368 91177308-0d34-0410-b5e6-96231b3b80d8

19 years ago* Print commands as we execute them with `-v'
Misha Brukman [Wed, 20 Apr 2005 03:22:18 +0000 (03:22 +0000)]
* Print commands as we execute them with `-v'
* Add option `-save-temps'
Patch contributed by Markus Oberhumer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21367 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoWrap some long lines.
Chris Lattner [Tue, 19 Apr 2005 19:16:19 +0000 (19:16 +0000)]
Wrap some long lines.
Make IPSCCP strip off dead constant exprs that are using functions, making
them appear as though their address is taken.  This allows us to propagate
some more pool descriptors, lowering the overhead of pool alloc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21363 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoignore generated files
Chris Lattner [Tue, 19 Apr 2005 15:34:36 +0000 (15:34 +0000)]
ignore generated files

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21362 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agofix bogus warning
Chris Lattner [Tue, 19 Apr 2005 15:32:30 +0000 (15:32 +0000)]
fix bogus warning

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21361 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agofix PR549
Chris Lattner [Tue, 19 Apr 2005 15:27:29 +0000 (15:27 +0000)]
fix PR549

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21360 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoBug fixed
Chris Lattner [Tue, 19 Apr 2005 06:08:04 +0000 (06:08 +0000)]
Bug fixed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21355 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoEliminate a broken transformation, fixing PR548
Chris Lattner [Tue, 19 Apr 2005 06:04:18 +0000 (06:04 +0000)]
Eliminate a broken transformation, fixing PR548

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21354 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd completely untested support for mtcrf/mfcrf encoding
Chris Lattner [Tue, 19 Apr 2005 05:41:52 +0000 (05:41 +0000)]
Add completely untested support for mtcrf/mfcrf encoding

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21353 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoswitch over the rest of the formats that use RC to use isDOT
Chris Lattner [Tue, 19 Apr 2005 05:21:30 +0000 (05:21 +0000)]
switch over the rest of the formats that use RC to use isDOT

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21352 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoConvert the XForm instrs and XSForm instruction over to use isDOT
Chris Lattner [Tue, 19 Apr 2005 05:15:18 +0000 (05:15 +0000)]
Convert the XForm instrs and XSForm instruction over to use isDOT

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21351 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoNow that the ppc64 and vmx operands of I are always 0, forward substitute
Chris Lattner [Tue, 19 Apr 2005 05:05:22 +0000 (05:05 +0000)]
Now that the ppc64 and vmx operands of I are always 0, forward substitute
them away.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21350 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoconvert over bform and iform instructions
Chris Lattner [Tue, 19 Apr 2005 05:00:59 +0000 (05:00 +0000)]
convert over bform and iform instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21349 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoConvert over DForm and DSForm instructions
Chris Lattner [Tue, 19 Apr 2005 04:59:28 +0000 (04:59 +0000)]
Convert over DForm and DSForm instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21348 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoConvert XLForm and XForm instructions over to use PPC64 when appropriate.
Chris Lattner [Tue, 19 Apr 2005 04:51:30 +0000 (04:51 +0000)]
Convert XLForm and XForm instructions over to use PPC64 when appropriate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21347 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoConvert XO XS and XFX forms to use isPPC64
Chris Lattner [Tue, 19 Apr 2005 04:40:07 +0000 (04:40 +0000)]
Convert XO XS and XFX forms to use isPPC64

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21346 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoTurn PPC64 and VMX into classes that can be added to instructions instead of
Chris Lattner [Tue, 19 Apr 2005 04:32:54 +0000 (04:32 +0000)]
Turn PPC64 and VMX into classes that can be added to instructions instead of
bits that must be passed up the inheritance hierarchy.  Convert MForm and AForm
instructions over

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21345 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMajor change to tblgen: instead of resolving values every time a class is
Chris Lattner [Tue, 19 Apr 2005 03:36:21 +0000 (03:36 +0000)]
Major change to tblgen: instead of resolving values every time a class is
finished up, only resolve fully when the def is defined.  This allows things
to be changed and all uses to be propagated through.  This implements
TableGen/LazyChange.td and fixes TemplateArgRename.td in the process.

None of the .td files used in LLVM backends are changed at all by this
patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21344 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoNew testcase for a changing values late and allowing them to propagate
Chris Lattner [Tue, 19 Apr 2005 03:34:58 +0000 (03:34 +0000)]
New testcase for a changing values late and allowing them to propagate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21343 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMake this significantly harder
Chris Lattner [Tue, 19 Apr 2005 02:58:57 +0000 (02:58 +0000)]
Make this significantly harder

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21342 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd a real run line
Chris Lattner [Tue, 19 Apr 2005 02:53:26 +0000 (02:53 +0000)]
Add a real run line

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21341 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agofix this testcase
Chris Lattner [Tue, 19 Apr 2005 02:52:04 +0000 (02:52 +0000)]
fix this testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21340 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agonew testcase
Chris Lattner [Tue, 19 Apr 2005 02:26:23 +0000 (02:26 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21339 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoadd a run line
Chris Lattner [Tue, 19 Apr 2005 01:37:24 +0000 (01:37 +0000)]
add a run line

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21338 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoTell dj to run the tests in this directory
Chris Lattner [Tue, 19 Apr 2005 01:36:41 +0000 (01:36 +0000)]
Tell dj to run the tests in this directory

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21337 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoimplementing shifting of literal integers
Chris Lattner [Tue, 19 Apr 2005 01:17:35 +0000 (01:17 +0000)]
implementing shifting of literal integers

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21336 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAdd initial lexer and parser support for shifting values. Every use of this
Chris Lattner [Tue, 19 Apr 2005 01:11:03 +0000 (01:11 +0000)]
Add initial lexer and parser support for shifting values.  Every use of this
will lead to it being rejected though.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21335 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoNext round of PPC CR optimizations. For the following code:
Nate Begeman [Mon, 18 Apr 2005 07:48:09 +0000 (07:48 +0000)]
Next round of PPC CR optimizations.  For the following code:

int %bar(float %a, float %b, float %c, float %d) {
entry:
    %tmp.1 = setlt float %a, %d
    %tmp.2 = setlt float %b, %d
    %or = or bool %tmp.1, %tmp.2
    %tmp.3 = setgt float %c, %d
    %tmp.4 = or bool %or, %tmp.3
    %tmp.5 = and bool %tmp.4, true
    %retval = cast bool %tmp.5 to int
    ret int %retval
}

We now emit:

_bar:
.LBB_bar_0:     ; entry
        fcmpu cr0, f1, f4
        fcmpu cr1, f2, f4
        cror 0, 0, 4
        fcmpu cr1, f3, f4
        cror 28, 0, 5
        mfcr r2
        rlwinm r3, r2, 29, 31, 31
        blr

Instead of:

_bar:
.LBB_bar_0:     ; entry
        fcmpu cr7, f1, f4
        mfcr r2
        rlwinm r2, r2, 29, 31, 31
        fcmpu cr7, f2, f4
        mfcr r3
        rlwinm r3, r3, 29, 31, 31
        or r2, r2, r3
        fcmpu cr7, f3, f4
        mfcr r3
        rlwinm r3, r3, 30, 31, 31
        or r3, r2, r3
        blr

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21321 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agosilence a bogus warning
Chris Lattner [Mon, 18 Apr 2005 05:26:21 +0000 (05:26 +0000)]
silence a bogus warning

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21320 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFold setcc of MVT::i1 operands into logical operations
Chris Lattner [Mon, 18 Apr 2005 04:48:12 +0000 (04:48 +0000)]
Fold setcc of MVT::i1 operands into logical operations

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21319 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAnother minor simplification: handle setcc (zero_extend x), c -> setcc(x, c')
Chris Lattner [Mon, 18 Apr 2005 04:30:45 +0000 (04:30 +0000)]
Another minor simplification: handle setcc (zero_extend x), c -> setcc(x, c')

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21318 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoAnother simple xform
Chris Lattner [Mon, 18 Apr 2005 04:11:19 +0000 (04:11 +0000)]
Another simple xform

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21317 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoFold:
Chris Lattner [Mon, 18 Apr 2005 03:59:53 +0000 (03:59 +0000)]
Fold:
        // (X != 0) | (Y != 0) -> (X|Y != 0)
        // (X == 0) & (Y == 0) -> (X|Y == 0)

Compiling this:

int %bar(int %a, int %b) {
        entry:
        %tmp.1 = setne int %a, 0
        %tmp.2 = setne int %b, 0
        %tmp.3 = or bool %tmp.1, %tmp.2
        %retval = cast bool %tmp.3 to int
        ret int %retval
        }

to this:

_bar:
        or r2, r3, r4
        addic r3, r2, -1
        subfe r3, r3, r2
        blr

instead of:

_bar:
        addic r2, r3, -1
        subfe r2, r2, r3
        addic r3, r4, -1
        subfe r3, r3, r4
        or r3, r2, r3
        blr

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21316 91177308-0d34-0410-b5e6-96231b3b80d8

19 years agoMake the AND elimination operation recursive and significantly more powerful,
Chris Lattner [Mon, 18 Apr 2005 03:48:41 +0000 (03:48 +0000)]
Make the AND elimination operation recursive and significantly more powerful,
eliminating an and for Nate's testcase:

int %bar(int %a, int %b) {
        entry:
        %tmp.1 = setne int %a, 0
        %tmp.2 = setne int %b, 0
        %tmp.3 = or bool %tmp.1, %tmp.2
        %retval = cast bool %tmp.3 to int
        ret int %retval
        }

generating:

_bar:
        addic r2, r3, -1
        subfe r2, r2, r3
        addic r3, r4, -1
        subfe r3, r3, r4
        or r3, r2, r3
        blr

instead of:

_bar:
        addic r2, r3, -1
        subfe r2, r2, r3
        addic r3, r4, -1
        subfe r3, r3, r4
        or r2, r2, r3
        rlwinm r3, r2, 0, 31, 31
        blr

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21315 91177308-0d34-0410-b5e6-96231b3b80d8