Chris Lattner [Fri, 7 Jan 2005 07:47:09 +0000 (07:47 +0000)]
Initial implementation of the DAG legalization. This still has a long way
to go, but it does work for some non-trivial cases now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19329
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Fri, 7 Jan 2005 07:46:40 +0000 (07:46 +0000)]
But not the identation of THAT line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19328
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 Jan 2005 07:46:32 +0000 (07:46 +0000)]
Complete rewrite of the SelectionDAG class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19327
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 Jan 2005 07:46:03 +0000 (07:46 +0000)]
Common base class for SelectionDAG-based instruction selectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19326
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 Jan 2005 07:45:27 +0000 (07:45 +0000)]
Initial implementation of the nodes in a SelectionDAG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19325
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 Jan 2005 07:44:53 +0000 (07:44 +0000)]
First draft of new Target interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19324
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 Jan 2005 07:44:22 +0000 (07:44 +0000)]
First draft of a new Target interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19323
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Fri, 7 Jan 2005 07:44:02 +0000 (07:44 +0000)]
Correct indentation levels
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19322
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 7 Jan 2005 07:40:32 +0000 (07:40 +0000)]
Add convenience method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19321
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 7 Jan 2005 07:05:34 +0000 (07:05 +0000)]
Convert tabs to spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19320
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Fri, 7 Jan 2005 06:57:28 +0000 (06:57 +0000)]
Add missing createXxxPass functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19319
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Fri, 7 Jan 2005 06:54:58 +0000 (06:54 +0000)]
Remove bogus project folder
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19318
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 7 Jan 2005 06:45:07 +0000 (06:45 +0000)]
Fix spelling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19317
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Fri, 7 Jan 2005 06:12:41 +0000 (06:12 +0000)]
Update list of passes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19316
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Fri, 7 Jan 2005 05:42:13 +0000 (05:42 +0000)]
Add missing include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19315
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Fri, 7 Jan 2005 05:41:39 +0000 (05:41 +0000)]
Fix return type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19314
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Jan 2005 21:19:16 +0000 (21:19 +0000)]
Codegen -1 and -0.0 more efficiently. This implements CodeGen/X86/negatize_zero.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19313
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Jan 2005 21:18:53 +0000 (21:18 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19312
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Jan 2005 16:26:38 +0000 (16:26 +0000)]
No need to pessimize current code for future possibilities.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19311
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Thu, 6 Jan 2005 07:01:08 +0000 (07:01 +0000)]
Get the #ifdef right on LinkAllPasses.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19310
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Thu, 6 Jan 2005 06:29:42 +0000 (06:29 +0000)]
Fix minor mistakes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19309
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Thu, 6 Jan 2005 06:06:35 +0000 (06:06 +0000)]
Get rid of those pesky tabs...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19308
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Thu, 6 Jan 2005 06:02:53 +0000 (06:02 +0000)]
Add project opt to Visual Studio.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19307
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Thu, 6 Jan 2005 05:47:18 +0000 (05:47 +0000)]
Put createLoopUnswitchPass() into proper namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19306
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Thu, 6 Jan 2005 05:46:44 +0000 (05:46 +0000)]
Add missing include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19305
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Thu, 6 Jan 2005 05:45:45 +0000 (05:45 +0000)]
Fix incorrect return type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19304
91177308-0d34-0410-b5e6-
96231b3b80d8
Jeff Cohen [Thu, 6 Jan 2005 04:21:49 +0000 (04:21 +0000)]
Fix CBE code so that it compiles with VC++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19303
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Jan 2005 03:25:27 +0000 (03:25 +0000)]
Add required #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19302
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 6 Jan 2005 03:23:59 +0000 (03:23 +0000)]
Add a useful method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19301
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Jan 2005 22:14:14 +0000 (22:14 +0000)]
Add a list end sentinal
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19299
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 5 Jan 2005 19:01:20 +0000 (19:01 +0000)]
Add the SystemLibrary.html document now that its done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19298
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 5 Jan 2005 18:21:39 +0000 (18:21 +0000)]
Add a missing <div>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19297
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 5 Jan 2005 18:17:10 +0000 (18:17 +0000)]
Bulk upgrade of this document. Cruft removed, new stuff added, general
reorganization of the content. This is now "done".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19296
91177308-0d34-0410-b5e6-
96231b3b80d8
Alkis Evlogimenos [Wed, 5 Jan 2005 17:57:28 +0000 (17:57 +0000)]
The Java project now lives under projects/llvm-java.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19295
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 5 Jan 2005 17:31:55 +0000 (17:31 +0000)]
Make opt honor the quiet option when printing the bytecode warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19294
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 5 Jan 2005 17:29:29 +0000 (17:29 +0000)]
1. Make sure that "dot" can be found in the path
2. Fix a bug where the lib directory specified also had to be cwd
3. Weight the output so archive->archive edges are shorter
4. Generate two different graphs: one for libraries, one for objects.
5. Adjust the properties of the graphs till it looks nice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19293
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 5 Jan 2005 17:26:00 +0000 (17:26 +0000)]
Ignore autoconf/aclocal generated stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19292
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Jan 2005 16:30:14 +0000 (16:30 +0000)]
1. If a double FP constant must be put into a constant pool, but it can be
precisely represented as a float, put it into the constant pool as a
float.
2. Use the cbw/cwd/cdq instructions instead of an explicit SAR for signed
division.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19291
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Jan 2005 16:27:34 +0000 (16:27 +0000)]
add an assertion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19290
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Jan 2005 16:09:16 +0000 (16:09 +0000)]
Minor optimization to allocate R8 registers in a better order.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19289
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Jan 2005 16:01:00 +0000 (16:01 +0000)]
ignore generated file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19288
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Jan 2005 16:00:42 +0000 (16:00 +0000)]
Ignore generated file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19287
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Jan 2005 16:00:00 +0000 (16:00 +0000)]
Ignore .dir
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19286
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 5 Jan 2005 15:23:06 +0000 (15:23 +0000)]
Update this test to pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19285
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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