Commit Graph

16830 Commits

Author SHA1 Message Date
Jeff Cohen
3af72e79ba 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
2005-01-04 06:01:55 +00:00
Chris Lattner
b9befc5179 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
2005-01-04 01:58:26 +00:00
Chris Lattner
71d94d16b6 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
2005-01-04 01:56:57 +00:00
Chris Lattner
67cb2f6eb5 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
2005-01-04 01:56:28 +00:00
Chris Lattner
a5698772d4 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
2005-01-03 22:27:58 +00:00
Chris Lattner
6c119813d9 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
2005-01-03 22:26:38 +00:00
John Criswell
f5629d037f 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
2005-01-03 17:42:57 +00:00
John Criswell
447d5bba27 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
2005-01-03 17:41:56 +00:00
Jeff Cohen
4c2053255d 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
2005-01-03 16:37:16 +00:00
Jeff Cohen
1c32f79a82 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
2005-01-03 16:34:19 +00:00
Reid Spencer
43ff900aae 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
2005-01-03 05:46:46 +00:00
Reid Spencer
8d8003d47a Add library dependency and object dependency graphs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19271 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-03 05:30:57 +00:00
Chris Lattner
2abc27dfea new testcase for PR481
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19270 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-03 04:39:16 +00:00
Chris Lattner
8de9f23fda Bug fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19269 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-03 04:20:21 +00:00
Chris Lattner
7773fe4202 New testcase for PR487
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19268 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-03 04:15:11 +00:00
Reid Spencer
2d7eb98621 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
2005-01-03 04:05:32 +00:00
Reid Spencer
140935a5a1 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
2005-01-03 04:04:54 +00:00
Jeff Cohen
22e7eddcd6 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
2005-01-03 02:44:54 +00:00
Chris Lattner
10197ff5cd ADC and IMUL are also commutable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19264 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-03 01:27:59 +00:00
Chris Lattner
35e5c7c186 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
2005-01-02 23:07:31 +00:00
Chris Lattner
709b274244 Remove dead directories
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19262 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-02 22:55:16 +00:00
Chris Lattner
488370ca00 This lib is dead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19261 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-02 22:53:52 +00:00
Chris Lattner
2500e10263 Remove a bunch of useless empty libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19260 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-02 22:52:28 +00:00
Chris Lattner
7ff1ca4cd0 This is no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19259 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-02 22:50:00 +00:00
Chris Lattner
4be483baa4 Testcase for PR494
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19258 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-02 21:11:11 +00:00
Chris Lattner
71dbefed4e 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
2005-01-02 19:01:33 +00:00
Reid Spencer
325a87e3fd 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
2005-01-02 17:43:20 +00:00
Reid Spencer
4a1e5c09bb 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
2005-01-02 09:45:54 +00:00
Reid Spencer
d6b1f5fee6 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
2005-01-02 09:45:04 +00:00
Jeff Cohen
2ee430cc3c Cleanup some Visual Studio project dependencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19253 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-02 04:44:36 +00:00
Jeff Cohen
40296bdf27 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
2005-01-02 04:23:12 +00:00
Chris Lattner
5aee0b97aa 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
2005-01-02 04:18:17 +00:00
Chris Lattner
bbdfaf8ec7 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
2005-01-02 02:46:29 +00:00
Chris Lattner
5dd350defd Add a new method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19249 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-02 02:38:18 +00:00
Chris Lattner
eb96ec52ff 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
2005-01-02 02:37:46 +00:00
Chris Lattner
bcea4d6f28 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
2005-01-02 02:37:07 +00:00
Chris Lattner
cc65beeb39 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
2005-01-02 02:35:46 +00:00
Chris Lattner
cfa0f2edd3 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
2005-01-02 02:34:12 +00:00
Chris Lattner
ae37c2a543 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
2005-01-02 02:30:04 +00:00
Chris Lattner
aad75aa1a2 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
2005-01-02 02:29:04 +00:00
Chris Lattner
15f63ad2e5 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
2005-01-02 02:28:31 +00:00
Chris Lattner
273f2280f2 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
2005-01-02 02:27:48 +00:00
Reid Spencer
52b50a64ec 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
2005-01-02 00:10:03 +00:00
Reid Spencer
b687c0c218 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
2005-01-02 00:08:46 +00:00
Reid Spencer
5737913c46 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
2005-01-01 23:57:01 +00:00
Reid Spencer
436f23ebf5 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
2005-01-01 23:56:20 +00:00
Jeff Cohen
c6dffe0a5b 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
2005-01-01 22:54:05 +00:00
Jeff Cohen
b63cfccd20 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
2005-01-01 22:32:26 +00:00
Jeff Cohen
c201755cb1 Add missing header files to projects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19234 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 22:30:19 +00:00
Reid Spencer
a01aade75d 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
2005-01-01 22:29:26 +00:00