oota-llvm.git
19 years agoGeneralize the setcc -> PHI and Select folding optimizations to work with
Chris Lattner [Sat, 23 Apr 2005 15:31:55 +0000 (15:31 +0000)]
Generalize the setcc -> PHI and Select  folding optimizations to work with
any constant RHS, not just a constant integer RHS.  This implements
select.ll:test17

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

19 years agoadd a new testcase
Chris Lattner [Sat, 23 Apr 2005 15:31:03 +0000 (15:31 +0000)]
add a new testcase

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

19 years agoAlways enable the C backend. This fixes a *vast* number of failures on the
Chris Lattner [Sat, 23 Apr 2005 14:36:22 +0000 (14:36 +0000)]
Always enable the C backend.  This fixes a *vast* number of failures on the
testers last night, as llc was not getting the cbe linked in.

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

19 years agoAdd method to return the type this type will be promoted to if it is
Alkis Evlogimenos [Sat, 23 Apr 2005 00:11:21 +0000 (00:11 +0000)]
Add method to return the type this type will be promoted to if it is
passed through a variable argument function.

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

19 years agoMention the --enable-targets= option to configure.
Reid Spencer [Fri, 22 Apr 2005 20:27:33 +0000 (20:27 +0000)]
Mention the --enable-targets= option to configure.

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

19 years ago* Order #includes as per style guide
Misha Brukman [Fri, 22 Apr 2005 19:13:22 +0000 (19:13 +0000)]
* Order #includes as per style guide
* Combine multiple ``std::cerr <<'' statements into one for simplicity

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

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

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

19 years agoHyphenate the adjective `n-bit' when used to describe values and processors
Misha Brukman [Fri, 22 Apr 2005 18:02:52 +0000 (18:02 +0000)]
Hyphenate the adjective `n-bit' when used to describe values and processors

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

19 years agoBuild the `Skeleton' target when building "all" targets
Misha Brukman [Fri, 22 Apr 2005 18:00:34 +0000 (18:00 +0000)]
Build the `Skeleton' target when building "all" targets

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

19 years agoDocument the --enable-targets= feature of the configure script.
Reid Spencer [Fri, 22 Apr 2005 17:58:03 +0000 (17:58 +0000)]
Document the --enable-targets= feature of the configure script.

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

19 years agoSilence gcc-4.0.0 warnings.
Alkis Evlogimenos [Fri, 22 Apr 2005 17:56:01 +0000 (17:56 +0000)]
Silence gcc-4.0.0 warnings.

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

19 years agoConvert tabs to spaces
Misha Brukman [Fri, 22 Apr 2005 17:54:37 +0000 (17:54 +0000)]
Convert tabs to spaces

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

19 years agoDon't always build CBackend and Skeleton. Make use of the TARGETS_TO_BUILD
Reid Spencer [Fri, 22 Apr 2005 17:32:05 +0000 (17:32 +0000)]
Don't always build CBackend and Skeleton. Make use of the TARGETS_TO_BUILD
parameter instead which will correctly list the set of targets to be built.

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

19 years agoImplement the --enable-targets= feature of the configure script. The make
Reid Spencer [Fri, 22 Apr 2005 17:20:11 +0000 (17:20 +0000)]
Implement the --enable-targets= feature of the configure script. The make
variable TARGETS_TO_BUILD is used to determine which targets in lib/Target
are built and which libraries are linked into llc. This effectively
implements the feature. One item remains: disabling targets in the dejagnu
test suite.

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

19 years agoTwo changes:
Reid Spencer [Fri, 22 Apr 2005 17:14:14 +0000 (17:14 +0000)]
Two changes:
1. Get rid of TOOLLINKOPTS as it is a hold over from llvm-test and only
   used to communicate additional libraries to the linker. The *standard*
   way to do that is with the LIBS variable which this change supports.

2. Allow the TARGETS_TO_BUILD variable to be set from the configuration
   substitution. This is the result of the --enable-target= parameter to
   the configure script.

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

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