oota-llvm.git
19 years agoCleanup configuration for Cygwin
Reid Spencer [Wed, 5 Jan 2005 06:41:10 +0000 (06:41 +0000)]
Cleanup configuration for Cygwin

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

19 years agoMake bison/flex build steps output the same message in Visual Studio as
Jeff Cohen [Tue, 4 Jan 2005 06:18:10 +0000 (06:18 +0000)]
Make bison/flex build steps output the same message in Visual Studio as
on Unix.

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

19 years agoAdd C backend to llc in Visual Studio.
Jeff Cohen [Tue, 4 Jan 2005 06:01:55 +0000 (06:01 +0000)]
Add C backend to llc in Visual Studio.

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

19 years agoTest that trivial constants are not printed in hex notation.
Chris Lattner [Tue, 4 Jan 2005 01:58:26 +0000 (01:58 +0000)]
Test that trivial constants are not printed in hex notation.

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

19 years agoTo not break TBAA rules, use a union.
Chris Lattner [Tue, 4 Jan 2005 01:56:57 +0000 (01:56 +0000)]
To not break TBAA rules, use a union.

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

19 years agoDo not let 'ftostr' return a string that starts with spaces. This allows
Chris Lattner [Tue, 4 Jan 2005 01:56:28 +0000 (01:56 +0000)]
Do not let 'ftostr' return a string that starts with spaces.  This allows
the AsmWriter to emit FP constants like 1.0 in normal exponential notation
instead of hex notation.

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

19 years agoAdd a testcase to check that initializer that CAN be evaluated statically ARE.
Chris Lattner [Mon, 3 Jan 2005 22:27:58 +0000 (22:27 +0000)]
Add a testcase to check that initializer that CAN be evaluated statically ARE.

These used to result in dynamic initializations.

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

19 years agoFix this script to work with hyphenated llvm-gcc and friend.
Chris Lattner [Mon, 3 Jan 2005 22:26:38 +0000 (22:26 +0000)]
Fix this script to work with hyphenated llvm-gcc and friend.

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

19 years agoQuote the paths and not the assignment of the PATH variable.
John Criswell [Mon, 3 Jan 2005 17:42:57 +0000 (17:42 +0000)]
Quote the paths and not the assignment of the PATH variable.
This seems to make things happier.

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

19 years agoJoining the quote fray...
John Criswell [Mon, 3 Jan 2005 17:41:56 +0000 (17:41 +0000)]
Joining the quote fray...

Reverting the quote patch.  For some reason, this breaks the building of
llvm/runtime (the shell doesn't like it for some reason).  I might play
with it to see if I can get the quotes done in such a way that the shell
like it, but no promises.

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

19 years agoAdd additional header file to VS project. Patch submitted by Morten.
Jeff Cohen [Mon, 3 Jan 2005 16:37:16 +0000 (16:37 +0000)]
Add additional header file to VS project.  Patch submitted by Morten.

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

19 years agoRevert elimination of global variable hack... still needed.
Jeff Cohen [Mon, 3 Jan 2005 16:34:19 +0000 (16:34 +0000)]
Revert elimination of global variable hack... still needed.

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

19 years agoIntegrate dependency graphs.
Reid Spencer [Mon, 3 Jan 2005 05:46:46 +0000 (05:46 +0000)]
Integrate dependency graphs.
Make it HTML 4.01 Strict compliant
Provide better explanations of the dependency information.

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

19 years agoAdd library dependency and object dependency graphs.
Reid Spencer [Mon, 3 Jan 2005 05:30:57 +0000 (05:30 +0000)]
Add library dependency and object dependency graphs.

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

19 years agonew testcase for PR481
Chris Lattner [Mon, 3 Jan 2005 04:39:16 +0000 (04:39 +0000)]
new testcase for PR481

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

19 years agoBug fixed
Chris Lattner [Mon, 3 Jan 2005 04:20:21 +0000 (04:20 +0000)]
Bug fixed

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

19 years agoNew testcase for PR487
Chris Lattner [Mon, 3 Jan 2005 04:15:11 +0000 (04:15 +0000)]
New testcase for PR487

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

19 years agoMake sure the path is properly set in the llvmgcc and llvmgxx variables.
Reid Spencer [Mon, 3 Jan 2005 04:05:32 +0000 (04:05 +0000)]
Make sure the path is properly set in the llvmgcc and llvmgxx variables.

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

19 years agoRe-apply last (reverted) patch. Reverting doesn't solve the actual problem
Reid Spencer [Mon, 3 Jan 2005 04:04:54 +0000 (04:04 +0000)]
Re-apply last (reverted) patch. Reverting doesn't solve the actual problem
and creates issues on other platforms like Cygwin and MingW.

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

19 years agoDon't quote the PATH variable value just in case it has spaces in it, as
Jeff Cohen [Mon, 3 Jan 2005 02:44:54 +0000 (02:44 +0000)]
Don't quote the PATH variable value just in case it has spaces in it, as
it breaks "gmake check".

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

19 years agoADC and IMUL are also commutable.
Chris Lattner [Mon, 3 Jan 2005 01:27:59 +0000 (01:27 +0000)]
ADC and IMUL are also commutable.

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

19 years agoThis hunk:
Chris Lattner [Sun, 2 Jan 2005 23:07:31 +0000 (23:07 +0000)]
This hunk:
-  unsigned TrueValue = getReg(TrueVal, BB, BB->begin());
+  unsigned TrueValue = getReg(TrueVal);

Fixes the PPC regressions from last night.

The other hunk is just a clarity improvement.

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

19 years agoRemove dead directories
Chris Lattner [Sun, 2 Jan 2005 22:55:16 +0000 (22:55 +0000)]
Remove dead directories

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

19 years agoThis lib is dead
Chris Lattner [Sun, 2 Jan 2005 22:53:52 +0000 (22:53 +0000)]
This lib is dead

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

19 years agoRemove a bunch of useless empty libraries
Chris Lattner [Sun, 2 Jan 2005 22:52:28 +0000 (22:52 +0000)]
Remove a bunch of useless empty libraries

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

19 years agoThis is no longer needed.
Chris Lattner [Sun, 2 Jan 2005 22:50:00 +0000 (22:50 +0000)]
This is no longer needed.

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

19 years agoTestcase for PR494
Chris Lattner [Sun, 2 Jan 2005 21:11:11 +0000 (21:11 +0000)]
Testcase for PR494

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

19 years agoxfail these tests, whcih require more info in the code generator to implement
Chris Lattner [Sun, 2 Jan 2005 19:01:33 +0000 (19:01 +0000)]
xfail these tests, whcih require more info in the code generator to implement
correctly.

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

19 years agoAvoid use of -fomit-frame-pointer on FreeBSD platforms. It causes thrown
Reid Spencer [Sun, 2 Jan 2005 17:43:20 +0000 (17:43 +0000)]
Avoid use of -fomit-frame-pointer on FreeBSD platforms. It causes thrown
exceptions to abort() in cases where it should not.

Many thanks to Duraid Madina for doing the heavy lifting on the analysis
of this problem.

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

19 years agoQuote the PATH variable value just in case it has spaces in it (like on
Reid Spencer [Sun, 2 Jan 2005 09:45:54 +0000 (09:45 +0000)]
Quote the PATH variable value just in case it has spaces in it (like on
Cygwin).

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

19 years agoCorrect the case of a #include directory name, just in case.
Reid Spencer [Sun, 2 Jan 2005 09:45:04 +0000 (09:45 +0000)]
Correct the case of a #include directory name, just in case.

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

19 years agoCleanup some Visual Studio project dependencies.
Jeff Cohen [Sun, 2 Jan 2005 04:44:36 +0000 (04:44 +0000)]
Cleanup some Visual Studio project dependencies.

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

19 years agoEliminate the use of the global variable hack in the X86 target that was used
Jeff Cohen [Sun, 2 Jan 2005 04:23:12 +0000 (04:23 +0000)]
Eliminate the use of the global variable hack in the X86 target that was used
to get Visual Studio to link in X86.lib to the executables that need it.  There
is another way of doing it.

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

19 years agoDisable 2->3 address promotion of add and inc instructions to LEA's. In
Chris Lattner [Sun, 2 Jan 2005 04:18:17 +0000 (04:18 +0000)]
Disable 2->3 address promotion of add and inc instructions to LEA's.  In
addition to being three address, LEA's don't set the flags.

This fixes 186.crafty.

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

19 years agoCheck in an old test that never made it into CVS
Chris Lattner [Sun, 2 Jan 2005 02:46:29 +0000 (02:46 +0000)]
Check in an old test that never made it into CVS

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

19 years agoAdd a new method.
Chris Lattner [Sun, 2 Jan 2005 02:38:18 +0000 (02:38 +0000)]
Add a new method.

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

19 years agoAdd support for SETNPr to lower to memory form.
Chris Lattner [Sun, 2 Jan 2005 02:37:46 +0000 (02:37 +0000)]
Add support for SETNPr to lower to memory form.

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

19 years agoImplement the convertToThreeAddress method, add support for inverting JP/JNP
Chris Lattner [Sun, 2 Jan 2005 02:37:07 +0000 (02:37 +0000)]
Implement the convertToThreeAddress method, add support for inverting JP/JNP
branches.

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

19 years agoTwo changes here:
Chris Lattner [Sun, 2 Jan 2005 02:35:46 +0000 (02:35 +0000)]
Two changes here:

1. Add new instructions for checking parity flags: JP, JNP, SETP, SETNP.
2. Set the isCommutable and isPromotableTo3Address bits on several
   instructions.

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

19 years agoMake the 2-address instruction lowering pass smarter in two ways:
Chris Lattner [Sun, 2 Jan 2005 02:34:12 +0000 (02:34 +0000)]
Make the 2-address instruction lowering pass smarter in two ways:

1. If we are two-addressing a commutable instruction and the LHS is not the
   last use of the variable, see if the instruction is the last use of the
   RHS.  If so, commute the instruction, allowing us to avoid a
   register-register copy in many cases for common instructions like ADD, OR,
   AND, etc on X86.
2. If #1 doesn't hold, and if this is an instruction that also existing in
   3-address form, promote the instruction to a 3-address instruction to
   avoid the register-register copy.  We can do this for several common
   instructions in X86, including ADDrr, INC, DEC, etc.

This patch implements test/Regression/CodeGen/X86/commute-two-addr.ll,
overlap-add.ll, and overlap-shift.ll when I check in the X86 support for it.

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

19 years agoAdd several testcases for new optimizations in the code generator.
Chris Lattner [Sun, 2 Jan 2005 02:30:04 +0000 (02:30 +0000)]
Add several testcases for new optimizations in the code generator.

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

19 years agoExpose isConvertibleToThreeAddress and isCommutable bits to the code generator.
Chris Lattner [Sun, 2 Jan 2005 02:29:04 +0000 (02:29 +0000)]
Expose isConvertibleToThreeAddress and isCommutable bits to the code generator.

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

19 years agoAdd some bits that can be set on instructions. Renumber existing bits so
Chris Lattner [Sun, 2 Jan 2005 02:28:31 +0000 (02:28 +0000)]
Add some bits that can be set on instructions.  Renumber existing bits so
they are dense.  Add a virtual method that targets can choose to implement.

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

19 years agoAdd some bits that can be set for instructions.
Chris Lattner [Sun, 2 Jan 2005 02:27:48 +0000 (02:27 +0000)]
Add some bits that can be set for instructions.

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

19 years agoMake printing a warning message optional in CheckBytecodeOutputToConsole.
Reid Spencer [Sun, 2 Jan 2005 00:10:03 +0000 (00:10 +0000)]
Make printing a warning message optional in CheckBytecodeOutputToConsole.

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

19 years agoPrevent output of bytecode to std::cout unless the --force flag is given.
Reid Spencer [Sun, 2 Jan 2005 00:08:46 +0000 (00:08 +0000)]
Prevent output of bytecode to std::cout unless the --force flag is given.
This prevents bytecode splats with usage like: cat file.ll | llvm-as -

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

19 years agoMove the code for printing out a warning about bytecode output to a console
Reid Spencer [Sat, 1 Jan 2005 23:57:01 +0000 (23:57 +0000)]
Move the code for printing out a warning about bytecode output to a console
into lib/Support so it can be used with other tools.

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

19 years agoImplement a function to print a warning if bytecode output is to be sent to
Reid Spencer [Sat, 1 Jan 2005 23:56:20 +0000 (23:56 +0000)]
Implement a function to print a warning if bytecode output is to be sent to
a terminal/console.

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

19 years agoAdd functions for determining if the stdin/out/err is connected to a
Jeff Cohen [Sat, 1 Jan 2005 22:54:05 +0000 (22:54 +0000)]
Add functions for determining if the stdin/out/err is connected to a
console or not.

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

19 years agoAdd llvm-link, Linker projects to Visual Studio.
Jeff Cohen [Sat, 1 Jan 2005 22:32:26 +0000 (22:32 +0000)]
Add llvm-link, Linker projects to Visual Studio.

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

19 years agoAdd missing header files to projects.
Jeff Cohen [Sat, 1 Jan 2005 22:30:19 +0000 (22:30 +0000)]
Add missing header files to projects.

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

19 years agoAdd functions for determining if the stdin/out/err is connected to a
Reid Spencer [Sat, 1 Jan 2005 22:29:26 +0000 (22:29 +0000)]
Add functions for determining if the stdin/out/err is connected to a
console or not.

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

19 years agoFix typo 'ompress' => 'compress'.
Jeff Cohen [Sat, 1 Jan 2005 22:10:32 +0000 (22:10 +0000)]
Fix typo 'ompress' => 'compress'.

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

19 years agoAdd llvm-ranlib project to Visual Studio.
Jeff Cohen [Sat, 1 Jan 2005 22:05:56 +0000 (22:05 +0000)]
Add llvm-ranlib project to Visual Studio.

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

19 years agoAdd llvm-ar project to Visual Studio.
Jeff Cohen [Sat, 1 Jan 2005 22:00:28 +0000 (22:00 +0000)]
Add llvm-ar project to Visual Studio.

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

19 years agoAdd -v option to bison.
Jeff Cohen [Sat, 1 Jan 2005 21:35:39 +0000 (21:35 +0000)]
Add -v option to bison.

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

19 years agoAdd missing file SystemUtils.cpp to Support project.
Jeff Cohen [Sat, 1 Jan 2005 21:34:18 +0000 (21:34 +0000)]
Add missing file SystemUtils.cpp to Support project.

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

19 years agoAdd llvm-as project to Visual Studio
Jeff Cohen [Sat, 1 Jan 2005 20:51:41 +0000 (20:51 +0000)]
Add llvm-as project to Visual Studio

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

19 years agoAdd llvm-dis project to Visual Studio
Jeff Cohen [Sat, 1 Jan 2005 20:18:03 +0000 (20:18 +0000)]
Add llvm-dis project to Visual Studio

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

19 years agoPut executables into a single directory
Jeff Cohen [Sat, 1 Jan 2005 19:37:14 +0000 (19:37 +0000)]
Put executables into a single directory

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

19 years agoFix bountiful sources of VC++ 'possible loss of data' warnings
Jeff Cohen [Sat, 1 Jan 2005 18:58:23 +0000 (18:58 +0000)]
Fix bountiful sources of VC++ 'possible loss of data' warnings

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

19 years agoImprove TableGen dependencies
Jeff Cohen [Sat, 1 Jan 2005 18:17:40 +0000 (18:17 +0000)]
Improve TableGen dependencies
Move TableGen generated files out of the src tree
Add descriptions to the custom build steps

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

19 years agoAdd HAVE_SBRK
Reid Spencer [Sat, 1 Jan 2005 18:16:16 +0000 (18:16 +0000)]
Add HAVE_SBRK

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

19 years agoIgnore some files
Reid Spencer [Sat, 1 Jan 2005 18:14:18 +0000 (18:14 +0000)]
Ignore some files

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

19 years agoThis is a bulk commit that implements the following primary improvements:
Chris Lattner [Sat, 1 Jan 2005 16:22:27 +0000 (16:22 +0000)]
This is a bulk commit that implements the following primary improvements:
  * We can now fold cast instructions into select instructions that
    have at least one constant operand.
  * We now optimize expressions more aggressively based on bits that are
    known to be zero.  These optimizations occur a lot in code that uses
    bitfields even in simple ways.
  * We now turn more cast-cast sequences into AND instructions.  Before we
    would only do this if it if all types were unsigned.  Now only the
    middle type needs to be unsigned (guaranteeing a zero extend).
  * We transform sign extensions into zero extensions in several cases.

This corresponds to these test/Regression/Transforms/InstCombine testcases:
  2004-11-22-Missed-and-fold.ll
  and.ll: test28-29
  cast.ll: test21-24
  and-or-and.ll
  cast-cast-to-and.ll
  zeroext-and-reduce.ll

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

19 years agoNew testcases that we should combine.
Chris Lattner [Sat, 1 Jan 2005 16:14:46 +0000 (16:14 +0000)]
New testcases that we should combine.

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

19 years agoNew testcase for common bitfield manipulation instruction sequences.
Chris Lattner [Sat, 1 Jan 2005 16:14:18 +0000 (16:14 +0000)]
New testcase for common bitfield manipulation instruction sequences.

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

19 years agoAdd a bunch of tests for cases that should be eliminated.
Chris Lattner [Sat, 1 Jan 2005 16:13:43 +0000 (16:13 +0000)]
Add a bunch of tests for cases that should be eliminated.

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

19 years agoAdd a bunch of tests for ANDs that should be eliminated.
Chris Lattner [Sat, 1 Jan 2005 16:13:19 +0000 (16:13 +0000)]
Add a bunch of tests for ANDs that should be eliminated.

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

19 years agoThis now works.
Chris Lattner [Sat, 1 Jan 2005 16:12:52 +0000 (16:12 +0000)]
This now works.

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

19 years agoFix a FIXME: Select instructions on longs were miscompiled.
Chris Lattner [Sat, 1 Jan 2005 16:10:12 +0000 (16:10 +0000)]
Fix a FIXME: Select instructions on longs were miscompiled.

While we're at it, improve codegen of select instructions.  For this
testcase:

int %test(bool %C, int %A, int %B) {
  %D = select bool %C, int %A, int %B
  ret int %D
}

We used to generate this code:

_test:
        cmpwi cr0, r3, 0
        bne .LBB_test_2 ;
.LBB_test_1:    ;
        b .LBB_test_3   ;
.LBB_test_2:    ;
        or r5, r4, r4
.LBB_test_3:    ;
        or r3, r5, r5
        blr

Now we emit:

_test:
        cmpwi cr0, r3, 0
        bne .LBB_test_2 ;
.LBB_test_1:    ;
        or r4, r5, r5
.LBB_test_2:    ;
        or r3, r4, r4
        blr

-Chris

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

19 years agoSubstantially improve the code generated by non-folded setcc instructions.
Chris Lattner [Sat, 1 Jan 2005 16:06:57 +0000 (16:06 +0000)]
Substantially improve the code generated by non-folded setcc instructions.
In particular, instead of compiling this:

bool %test(int %A, int %B) {
  %C = setlt int %A, %B
  ret bool %C
}

to this:

test:
        save %sp, -96, %sp
        subcc %i0, %i1, %g0
        bl .LBBtest_1   !
        nop
        ba .LBBtest_2   !
        nop
.LBBtest_1:     !
        or %g0, 1, %i0
        ba .LBBtest_3   !
        nop
.LBBtest_2:     !
        or %g0, 0, %i0
        ba .LBBtest_3   !
        nop
.LBBtest_3:     !
        restore %g0, %g0, %g0
        retl
        nop

We now compile it to this:

test:
        save %sp, -96, %sp
        subcc %i0, %i1, %g0
        or %g0, 1, %i0
        bl .LBBtest_2   !
        nop
.LBBtest_1:     !
        or %g0, %g0, %i0
.LBBtest_2:     !
        restore %g0, %g0, %g0
        retl
        nop

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

19 years agoImplement SimplifyCFG/DeadSetCC.ll
Chris Lattner [Sat, 1 Jan 2005 16:02:12 +0000 (16:02 +0000)]
Implement SimplifyCFG/DeadSetCC.ll

SimplifyCFG is one of those passes that we use for final cleanup: it should
not rely on other passes to clean up its garbage.  This fixes the "why are
trivially dead setcc's in the output of gccas" problem.

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

19 years agoAdd new test to make sure simplifycfg doesn't leave around trivially
Chris Lattner [Sat, 1 Jan 2005 16:00:56 +0000 (16:00 +0000)]
Add new test to make sure simplifycfg doesn't leave around trivially
dead instructions.

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

19 years agoAllow getZeroExtend and getSignExtend to work with boolean inputs.
Chris Lattner [Sat, 1 Jan 2005 15:59:57 +0000 (15:59 +0000)]
Allow getZeroExtend and getSignExtend to work with boolean inputs.

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

19 years agoAdd a useful accessor
Chris Lattner [Sat, 1 Jan 2005 15:58:55 +0000 (15:58 +0000)]
Add a useful accessor

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

19 years agoAdd two helper functions.
Chris Lattner [Sat, 1 Jan 2005 15:58:41 +0000 (15:58 +0000)]
Add two helper functions.

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

19 years agoUpdate to autoconf 2.59 standards.
Reid Spencer [Sat, 1 Jan 2005 09:26:55 +0000 (09:26 +0000)]
Update to autoconf 2.59 standards.

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

19 years agoCorrect the conditional test for non-portable tools so that it will
Reid Spencer [Fri, 31 Dec 2004 22:56:14 +0000 (22:56 +0000)]
Correct the conditional test for non-portable tools so that it will
correctly omit them for non-Unix operating systems.

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

19 years agoFor PR351:
Reid Spencer [Fri, 31 Dec 2004 22:54:28 +0000 (22:54 +0000)]
For PR351:
Make LLVM_ON_UNIX and LLVM_ON_WIN32 available in the makefiles

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

19 years agoDescribe both objdir==srcdir and objdir!=srcdir methods of building LLVM
Reid Spencer [Fri, 31 Dec 2004 19:48:59 +0000 (19:48 +0000)]
Describe both objdir==srcdir and objdir!=srcdir methods of building LLVM
libraries and tools. Thanks to Henrik Bach for this suggestion.

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

19 years agoWhere do these tabs keep coming from???
Jeff Cohen [Fri, 31 Dec 2004 19:03:31 +0000 (19:03 +0000)]
Where do these tabs keep coming from???

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

19 years agoMostly cleanup, but also some bug fixes, for win32/Path.cpp
Jeff Cohen [Fri, 31 Dec 2004 19:01:08 +0000 (19:01 +0000)]
Mostly cleanup, but also some bug fixes, for win32/Path.cpp

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

19 years agoFix a compilation error for the case where mallinfo() is not available.
Reid Spencer [Fri, 31 Dec 2004 05:53:27 +0000 (05:53 +0000)]
Fix a compilation error for the case where mallinfo() is not available.

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

19 years agoFor PR351:
Reid Spencer [Fri, 31 Dec 2004 05:49:15 +0000 (05:49 +0000)]
For PR351:
* lib/System depends on sbrk(3), make sure we check for it.

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

19 years agoGet rid of those nasty tabs...
Jeff Cohen [Fri, 31 Dec 2004 05:07:26 +0000 (05:07 +0000)]
Get rid of those nasty tabs...

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

19 years agoBring win32/Path.cpp up to date with respect to Unix/Path.cpp
Jeff Cohen [Fri, 31 Dec 2004 04:39:07 +0000 (04:39 +0000)]
Bring win32/Path.cpp up to date with respect to Unix/Path.cpp

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

19 years ago* Add missing libraries: Linker, Archive, SparcV8
Reid Spencer [Fri, 31 Dec 2004 00:13:14 +0000 (00:13 +0000)]
* Add missing libraries: Linker, Archive, SparcV8
* Make library descriptions consistently lower case.

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

19 years ago* Don't include weak definitions as a definition
Reid Spencer [Thu, 30 Dec 2004 23:13:12 +0000 (23:13 +0000)]
* Don't include weak definitions as a definition
* Make subordinate libraries presented with a vertical list instead of all
  listed on a single line.

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

19 years agoAdd a section on library dependencies now that GenLibDeps.html is written.
Reid Spencer [Thu, 30 Dec 2004 23:12:04 +0000 (23:12 +0000)]
Add a section on library dependencies now that GenLibDeps.html is written.

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

19 years agoA Perl script to generate an HTML definition list containing the LLVM
Reid Spencer [Thu, 30 Dec 2004 23:07:56 +0000 (23:07 +0000)]
A Perl script to generate an HTML definition list containing the LLVM
library dependencies, for documentation purposes.

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

19 years agoFix the help documentation to not imply multiple archive files can be
Reid Spencer [Thu, 30 Dec 2004 17:51:57 +0000 (17:51 +0000)]
Fix the help documentation to not imply multiple archive files can be
processed.

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

19 years agoFor PR351:
Reid Spencer [Thu, 30 Dec 2004 05:36:08 +0000 (05:36 +0000)]
For PR351:
* Place a try/catch block around the entire tool to Make sure std::string
  exceptions are caught and printed before exiting the tool.
* Make sure we catch unhandled exceptions at the top level so that we don't
  abort with a useless message but indicate than an unhandled exception was
  generated.

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

19 years agoFix MINGW compilation errors
Jeff Cohen [Thu, 30 Dec 2004 03:02:31 +0000 (03:02 +0000)]
Fix MINGW compilation errors

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

19 years ago* Fix a bug in an m4 macro that used an incorrect test operator
Reid Spencer [Wed, 29 Dec 2004 07:07:57 +0000 (07:07 +0000)]
* Fix a bug in an m4 macro that used an incorrect test operator
* Add CAN_DLOPEN_SELF so we can determine if dlopen(0) will open the
  program or not.
* Correct a warning messages to be a little more specific on what it checks

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

19 years agoFix a Bourne Shell syntax error in a test
Reid Spencer [Wed, 29 Dec 2004 06:59:36 +0000 (06:59 +0000)]
Fix a Bourne Shell syntax error in a test

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

19 years agoFix one of the names to not have a . in front of it.
Reid Spencer [Wed, 29 Dec 2004 05:47:04 +0000 (05:47 +0000)]
Fix one of the names to not have a . in front of it.

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

19 years agoBug fixed
Chris Lattner [Wed, 29 Dec 2004 04:39:50 +0000 (04:39 +0000)]
Bug fixed

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

19 years agoFix PR491 and testcase Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll
Chris Lattner [Wed, 29 Dec 2004 04:36:02 +0000 (04:36 +0000)]
Fix PR491 and testcase Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll

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

19 years agoAdd a comment, add a new testcase
Chris Lattner [Wed, 29 Dec 2004 04:35:30 +0000 (04:35 +0000)]
Add a comment, add a new testcase

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