Chris Lattner [Wed, 6 Aug 2003 23:00:31 +0000 (23:00 +0000)]
Add accessor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7655
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 22:29:04 +0000 (22:29 +0000)]
There is something wrong with code that looks like:
if (R == 0 || ...)
R->getName()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7654
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 6 Aug 2003 22:19:18 +0000 (22:19 +0000)]
Use the registers g1 and g5 as temporaries for making far jumps and far calls,
because saving i1 and i2 to their ``designated'' stack slots corrupts unknown
memory in other functions, standard libraries, and worse.
In addition, this has the benefit of improving JIT performance because we
eliminate writing out 4 instructions in CompilationCallback() and 2 loads and 2
stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7653
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 6 Aug 2003 21:50:36 +0000 (21:50 +0000)]
Removed Makefile.common.
Since we are including Makefile.test, we automatically get Makefile.common.
Furthermore, the double inclusion of Makefile.common causes the test suite to
be executed twice per invocation of the top level make.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7652
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 21:47:14 +0000 (21:47 +0000)]
Export the register classes so that the instruction selector can get at them as needed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7651
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 6 Aug 2003 21:44:22 +0000 (21:44 +0000)]
Makefile.common: Remove commented-out and duplicate rules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7650
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 20:08:25 +0000 (20:08 +0000)]
Add a bunch of new Alpha Intrinsics for Rahul Joshi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7646
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Wed, 6 Aug 2003 18:48:40 +0000 (18:48 +0000)]
1. Bug fix: was using SLL instead of SLLX for ULongTy. Chump.
2. Handle fp-to-uint conversions directly here instead of relying on
a pre-transformation to replace them with the 2-step conversion.
3. Use size rather than explicitly checking types when deciding what
opcodes to use, wherever possible. This is less error prone (the
bug fix above was not the first time!).
4. Float-to-pointer casts shd now work though this hasn't been tested.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7645
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Wed, 6 Aug 2003 18:42:49 +0000 (18:42 +0000)]
Remove conversion of fp-to-uint cast into a multi-step cast:
this is not an optional transformation on SPARC and is now handled
directly by instruction selection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7644
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 18:26:19 +0000 (18:26 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7643
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 18:04:40 +0000 (18:04 +0000)]
The HAVE_JUMP code is dead, these intrinsics should _never_ be expanded
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7642
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 17:16:24 +0000 (17:16 +0000)]
Remove unnecessary use of NonCopyable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7641
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 6 Aug 2003 16:28:49 +0000 (16:28 +0000)]
Added asserts to prevent negative shift amounts from being generated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7640
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 6 Aug 2003 16:20:22 +0000 (16:20 +0000)]
SparcV9CodeEmitter.cpp:
* Doxygen-ified comments
* Added capability to make far calls (i.e., beyond 30 bits in CALL instr)
which implies that we need to delete function references that were added by
the call to addFunctionReference() because the actual call instruction is 10
instructions away (thanks to 64-bit address construction)
* Cleaned up code that generates far jumps by using an array+loop
SparcV9CodeEmitter.h:
* Explained more of the side-effects of emitFarCall()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7639
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 16:02:50 +0000 (16:02 +0000)]
Sort the file lists
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7638
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 15:40:37 +0000 (15:40 +0000)]
Loop unroller doesn't necessarily need to be profile driven
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7637
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 15:32:20 +0000 (15:32 +0000)]
Completely eliminate the isVoid TSFlag, shifting over all other fields
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7636
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 15:31:35 +0000 (15:31 +0000)]
add a pattern for RET, immediates no longer need to be explicitly typed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7635
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 15:31:02 +0000 (15:31 +0000)]
Start adding usefulness to the DAG node definitions, add a new Expander
class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7634
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 06:16:35 +0000 (06:16 +0000)]
Add error checking code to the node type parser. Start the instruction pattern
reader
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7632
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 05:42:05 +0000 (05:42 +0000)]
Initial support for an instruction selector emitter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7631
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 05:39:03 +0000 (05:39 +0000)]
All good classes with virtual functions should have virtual dtors...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7630
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 04:47:56 +0000 (04:47 +0000)]
Add an instruction selector emitter skeleton
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7629
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 04:36:35 +0000 (04:36 +0000)]
convert over to using TableGen backends
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7628
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 04:32:07 +0000 (04:32 +0000)]
Switch code over to being a TableGenBackend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7627
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 04:31:26 +0000 (04:31 +0000)]
Add more helper methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7626
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 6 Aug 2003 04:23:04 +0000 (04:23 +0000)]
New common interface for backends to use
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7625
91177308-0d34-0410-b5e6-
96231b3b80d8
Sumant Kowshik [Wed, 6 Aug 2003 01:03:28 +0000 (01:03 +0000)]
Added POOLFLAGS option to run pool allocation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7624
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 22:54:23 +0000 (22:54 +0000)]
"fix" coding style stuff
Change some <>'s into <>'s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7623
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 22:39:13 +0000 (22:39 +0000)]
Completely eliminate the per-machine-instruction regsUsed set.
This substantially shrinks the size of each machine instruction, which should
make allocation faster and the cache footprint of the machine code lighter.
Here are some timings for code generation of the larger benchmarks we have.
This are timings of code generation phases of the X86 JIT, when compiled in
debug mode:
Before After Diff
164.gzip:
InstSel 0.0878 0.0722 -21.6%
RegAlloc 0.2031 0.1757 -15.6%
TOTAL 0.5585 0.4999 -11.7%
Ptrdist-bc:
InstSel 0.0878 0.0722 -21.6%
RegAlloc 0.2070 0.1933 - 7.1%
TOTAL 0.6972 0.6464 - 7.9%
197.parser:
InstSel 0.2148 0.2148 - 0.0%
RegAlloc 0.4941 0.4277 -15.5%
TOTAL 1.3749 1.2851 - 7.0%
175.vpr:
InstSel 0.2519 0.2109 -19.4%
RegAlloc 0.5976 0.5663 - 5.5%
TOTAL 1.6933 1.6347 - 3.5%
254.gap:
InstSel 1.1328 0.9921 -14.2%
RegAlloc 2.6933 2.4804 - 8.6%
TOTAL 7.7871 7.2499 - 7.4%
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7622
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 22:11:13 +0000 (22:11 +0000)]
Use a new local data structure instead of the MachineInstr::regsUsed set
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7621
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 22:09:31 +0000 (22:09 +0000)]
Add a map
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7620
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 22:03:27 +0000 (22:03 +0000)]
Minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7619
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 21:55:58 +0000 (21:55 +0000)]
Physical registers no longer live in the regsUsed set for each machine instr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7618
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 21:55:20 +0000 (21:55 +0000)]
Do not insert physical regsiters into the regsUsed set
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7617
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 5 Aug 2003 21:38:28 +0000 (21:38 +0000)]
Reverted back to using OR for cmp/mv operations for lex/yacc output.
The shell AND/OR operators short-circuit on command success/failure, which is
the inverse of exit status (i.e. 0 means success, non-zero means failure).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7616
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 5 Aug 2003 21:21:58 +0000 (21:21 +0000)]
Switched from using diff to cmp for two reasons:
o Not all versions of diff have the -q option
o The cmp program is probably faster than diff
Fixed the logic that only copies the file over if no differences are found.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7615
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 5 Aug 2003 20:39:02 +0000 (20:39 +0000)]
Fixed minor bug in SafeToHoist and made some changes suggested by Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7614
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 5 Aug 2003 18:52:42 +0000 (18:52 +0000)]
Added LICM test cases to:
1) Check that trapping instructionns that are not guaranteed to execute are not hoisted.
2) Check that trapping instructions that are guaranteed to execute are hoisted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7613
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Tue, 5 Aug 2003 18:45:46 +0000 (18:45 +0000)]
Fixed LICM bug that hoists trapping instructions that are not guaranteed to execute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7612
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 18:44:12 +0000 (18:44 +0000)]
Minor changes:
* Expand most tabs into spaces
* Move #define DEBUG_TYPE to top of file to avoid warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7611
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 18:38:37 +0000 (18:38 +0000)]
Add more verbose comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7610
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 18:38:16 +0000 (18:38 +0000)]
Add a comment to the method decl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7609
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 17:09:08 +0000 (17:09 +0000)]
Remove unused method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7608
91177308-0d34-0410-b5e6-
96231b3b80d8
Sumant Kowshik [Tue, 5 Aug 2003 17:06:18 +0000 (17:06 +0000)]
Added declaration of mergeInGlobalsGraph
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7607
91177308-0d34-0410-b5e6-
96231b3b80d8
Sumant Kowshik [Tue, 5 Aug 2003 17:04:41 +0000 (17:04 +0000)]
Added function mergeInGlobalsGraph which merges in the entire globals graph with the graph of a function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7606
91177308-0d34-0410-b5e6-
96231b3b80d8
Sumant Kowshik [Tue, 5 Aug 2003 17:01:54 +0000 (17:01 +0000)]
Major bug fixes including a memory leak and tracking some exceptional conditions. Also added support for including global and indirect call information in the DS graphs used by the pool allocation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7605
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 17:00:32 +0000 (17:00 +0000)]
Specify DEBUG_TYPE's for the JIT debug messages
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7604
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 16:59:24 +0000 (16:59 +0000)]
This method has now been changed to preserve flags for us!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7603
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 16:58:46 +0000 (16:58 +0000)]
All callers of these methods actually wanted them to preserve the flags,
so get rid of the def/use parameters that were getting passed in.
**** This now changes the semantics of these methods to preserve the flags,
not clobber them!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7602
91177308-0d34-0410-b5e6-
96231b3b80d8
Sumant Kowshik [Tue, 5 Aug 2003 16:56:59 +0000 (16:56 +0000)]
Added the declaration of InlineIndirectCalls
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7601
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 16:34:44 +0000 (16:34 +0000)]
Factor shared code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7600
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 16:27:44 +0000 (16:27 +0000)]
Fix bug: SimplifyCFG/2003-08-05-InvokeCrash.ll
Fix bug: SimplifyCFG/2003-08-05-MishandleInvoke.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7599
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 16:11:36 +0000 (16:11 +0000)]
new testcases that simplifycfg breaks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7598
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 5 Aug 2003 16:01:50 +0000 (16:01 +0000)]
* Removed `using' declaration, now use full namespace qualifier std::string
* Simplified code by using an inline function instead of copy-pasted code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7597
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 15:51:05 +0000 (15:51 +0000)]
If we're debugging the SimplifyCFG pass, we _REALLY_ don't want to use it for
narrowing, no matter what.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7596
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 15:34:45 +0000 (15:34 +0000)]
Implement TODO: print out short form of Invoke if possible
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7595
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 5 Aug 2003 15:26:21 +0000 (15:26 +0000)]
Only test the vector of functions if it is non-empty.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7594
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 5 Aug 2003 14:35:35 +0000 (14:35 +0000)]
Stop special-casing annul and predict bits (which are Sparc-specific anyway)
since those bits are now hard-coded in Sparc*.td files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7593
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 5 Aug 2003 14:34:38 +0000 (14:34 +0000)]
* Set annul bit to be 0, because the Sparc backend currently does not use it.
* Use the name of the predict field instead of just the const 1 in the
Instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7592
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 04:13:58 +0000 (04:13 +0000)]
Fix bugs handling ESP in alloca references
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7591
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 03:59:01 +0000 (03:59 +0000)]
No functional changes, comment the fix I just put in
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7590
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 03:53:04 +0000 (03:53 +0000)]
The CodeEmitterGenerator used to consider ANY uninitialized field as being an
operand (unless it's annul or predict). Now we only consider fields to be
operands if they are uninitialized AND used in the "Inst" field.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7589
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 00:49:09 +0000 (00:49 +0000)]
Revert previous change, and be really anal about what physical registers can do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7588
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 5 Aug 2003 00:48:47 +0000 (00:48 +0000)]
This is the real fix for the previous register allocator problem.
Physical registers should not float around.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7587
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Tue, 5 Aug 2003 00:02:06 +0000 (00:02 +0000)]
Reformatted code to match the prevalent LLVM style; fit code into 80 columns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7586
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 4 Aug 2003 23:48:40 +0000 (23:48 +0000)]
ElectricFence found this bug where we were reading past the vector boundary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7585
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 23:42:37 +0000 (23:42 +0000)]
Don't bother calculating info unless its needed. May reduce number of stack slots created.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7584
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 23:36:39 +0000 (23:36 +0000)]
* Fix spelling of 'necessary'
* Add a lot more DEBUG output, which is better structured than before
* Fix bug: Jello/2003-08-04-PhysRegLiveFailure.llx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7583
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 23:28:44 +0000 (23:28 +0000)]
New testcase, identified by Vikram, reduced by Brian
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7582
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 21:18:19 +0000 (21:18 +0000)]
Add patterns for (mov R, R) (mov R, I) and subtracts. The moves are to enable
testing, the subtracts are because I was in the neighborhood.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7581
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 21:08:29 +0000 (21:08 +0000)]
Change comments into something that TableGen can read!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7580
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 21:07:37 +0000 (21:07 +0000)]
Allow instructions to have a DAG pattern associated with them.
Define a few preliminary node types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7579
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 20:58:29 +0000 (20:58 +0000)]
Rename register classes to be upper case to make it obvious that they are X86
specific in the tree patterns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7578
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 20:44:43 +0000 (20:44 +0000)]
Parse DAG patterns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7577
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 20:44:17 +0000 (20:44 +0000)]
add support for DagInit initializers, which represent DAG patterns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7576
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 20:43:48 +0000 (20:43 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7575
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 20:08:28 +0000 (20:08 +0000)]
Update file header comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7574
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 20:07:01 +0000 (20:07 +0000)]
Urg, do not print "foo has changed" messages
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7573
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 19:48:10 +0000 (19:48 +0000)]
While I'm looking at it, line up the SED lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7572
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 19:47:06 +0000 (19:47 +0000)]
* Don't print out HOW we are running Flex unless in verbose mode. We already
hide the bison command line.
* If running flex or bison gives us the files we already have, don't overwrite
the ones we have, which cause unnecessary compilation. I demand the ability
to make meaningless changes without penalty!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7571
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Mon, 4 Aug 2003 19:03:42 +0000 (19:03 +0000)]
Do not attempt to reduce a test case if it is an empty set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7570
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Mon, 4 Aug 2003 18:24:31 +0000 (18:24 +0000)]
Added code that ensures that we don't try to reduce an empty vector of basic
blocks.
This fixes the bugpoint regressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7569
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 05:11:37 +0000 (05:11 +0000)]
There is nothing special about noops anymore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7568
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 05:11:19 +0000 (05:11 +0000)]
There is nothing special about noops now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7567
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 05:04:52 +0000 (05:04 +0000)]
Transition complete, remove the obsolete 'set' keyword
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7566
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 05:03:18 +0000 (05:03 +0000)]
Transition to using 'let X = y' instead of 'set X = y'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7565
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 04:59:56 +0000 (04:59 +0000)]
transition to using let instead of set
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7564
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 04:58:12 +0000 (04:58 +0000)]
Transition to using let instead of set
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7563
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 04:56:53 +0000 (04:56 +0000)]
Start transitioning towards using 'let X = y in' statements, instead of 'set X = y in'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7562
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 04:53:50 +0000 (04:53 +0000)]
It appears that somehow we forgot to add support for code variables.
Fix bug: TableGen/2003-08-03-PassCode.td
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7561
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 04:53:13 +0000 (04:53 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7560
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 04:50:57 +0000 (04:50 +0000)]
Add initial support for a new 'dag' type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7559
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 02:12:48 +0000 (02:12 +0000)]
Fix Bug: test/Regression/Jello/2003-08-03-CallArgLiveRanges.llx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7558
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 02:11:05 +0000 (02:11 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7557
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 01:04:59 +0000 (01:04 +0000)]
Simplify some constant expressions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7556
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 00:56:43 +0000 (00:56 +0000)]
Make sure to flush the output stream so that we get incremental updates
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7555
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 4 Aug 2003 00:56:27 +0000 (00:56 +0000)]
Print accurate run instructions for when testing LLC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7554
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Aug 2003 23:42:17 +0000 (23:42 +0000)]
Remove illegal, unsupported escapes. This fixes program: Ptrdist-bc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7552
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 3 Aug 2003 23:37:09 +0000 (23:37 +0000)]
* Sort #includes, remove dupliates
* Use .zero to emit padding between struct elements
* Emit .comm symbols when we can, this dramatically reduces the amount of gunk we have to print
* Print global variable identifiers next to initializer more nicely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7551
91177308-0d34-0410-b5e6-
96231b3b80d8