Chris Lattner [Tue, 21 May 2002 20:49:37 +0000 (20:49 +0000)]
New CFG Simplification pass: removed from the old DCE pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2700
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 May 2002 20:05:16 +0000 (20:05 +0000)]
Expose cfg simplification pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2699
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 May 2002 20:05:08 +0000 (20:05 +0000)]
Simplify CFG after code generation is done
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2698
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 May 2002 20:04:50 +0000 (20:04 +0000)]
Simplify interface to ConstantFoldTerminator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2697
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 May 2002 20:04:15 +0000 (20:04 +0000)]
Expose CFG simplification pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2696
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 May 2002 20:03:42 +0000 (20:03 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2695
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 May 2002 19:52:49 +0000 (19:52 +0000)]
Fix bug: test/Regression/Transforms/CFGSimplify/2002-05-21-PHIElimination.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2694
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 May 2002 19:33:17 +0000 (19:33 +0000)]
Update run line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2693
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 May 2002 19:32:58 +0000 (19:32 +0000)]
This testcase was very broken! The block could not be merged because then
there would be a broken PHI node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2692
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 May 2002 19:22:10 +0000 (19:22 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2691
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 May 2002 18:05:19 +0000 (18:05 +0000)]
Fix bug: test/Regression/CBackend/2002-05-21-MissingReturn.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2690
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 21 May 2002 18:04:58 +0000 (18:04 +0000)]
New TEstcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2689
91177308-0d34-0410-b5e6-
96231b3b80d8
Mehwish Nagda [Tue, 21 May 2002 15:58:24 +0000 (15:58 +0000)]
Fixed the makefile to not die when compiling a new, empty, source directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2688
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 May 2002 21:47:40 +0000 (21:47 +0000)]
Remove unneccesary path from link line now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2679
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 May 2002 21:45:44 +0000 (21:45 +0000)]
Allow libraries to specify other libraries to link to
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2678
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 May 2002 21:43:59 +0000 (21:43 +0000)]
* Change commandline options a bit to be nicer
* Insert accurate prototypes for functions
* Insert casts to use accurate prototypes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2677
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 May 2002 21:39:10 +0000 (21:39 +0000)]
Hide debugging options
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2676
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 May 2002 21:20:08 +0000 (21:20 +0000)]
Fix tracing code support to link in the tracing routines if neccesary.
This is required because trace code can insert calls to functions that
are (now) in an LLVM library, not a native library.
This change makes it easier to use the tracing code because the native
link options don't have to change, and it fits in a lot better with the
LLVM model.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2675
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 May 2002 21:17:16 +0000 (21:17 +0000)]
Remove explicit support for tracing code. It should be linked into the
executable just like everything else.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2674
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 May 2002 21:16:46 +0000 (21:16 +0000)]
Remove tracing code hack
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2673
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 May 2002 21:16:19 +0000 (21:16 +0000)]
Tracelib is now an LLVM library just like all other libraries in this
directory.
If the test code needs to be resurrected in the future, it should be moved
into the test/Programs directory, linking with tracelib.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2672
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 May 2002 21:15:30 +0000 (21:15 +0000)]
* If hashing a pointer, cast it to a 64 bit number so gcc doesn't warn
* Don't put extra stuff after #endif
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2671
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 May 2002 20:48:24 +0000 (20:48 +0000)]
New testcase for bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2670
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 May 2002 20:48:03 +0000 (20:48 +0000)]
Fix bug: test/Regression/Transforms/SCCP/2002-05-20-MissedIncomingValue.ll
That was causing a miscompilation of strtol/atoi plus others
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2669
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 May 2002 19:49:24 +0000 (19:49 +0000)]
Use literal newline instead of endl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2668
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 May 2002 19:48:55 +0000 (19:48 +0000)]
Drop something that link will never support, use gccld instead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2667
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 May 2002 19:11:23 +0000 (19:11 +0000)]
Implement the printf function, used by assert
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2666
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 20 May 2002 17:38:26 +0000 (17:38 +0000)]
Don't lose namespace qualifications on previous patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2664
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 May 2002 21:20:19 +0000 (21:20 +0000)]
Rename IsPowerOf2 to isPowerOf2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2663
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 19 May 2002 21:19:55 +0000 (21:19 +0000)]
Cleanups, rename IsPowerOf2 to isPowerOf2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2662
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 16:01:03 +0000 (16:01 +0000)]
Add libsparc.a a second time to resolve link errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2661
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 16:00:28 +0000 (16:00 +0000)]
Link with test/Libraries/libinstr32.a for runtime routines
supporting tracing. That should be moved to a "runtime" directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2660
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:59:25 +0000 (15:59 +0000)]
Added external functions for hashing pointers to sequence numbers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2659
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:49:58 +0000 (15:49 +0000)]
Runtime routines to support tracing.
Currently includes code to hash pointers to sequence numbers.
The hash table should be separated out into a separate file
since that is generic. The rest of this code is pretty small.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2655
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:47:52 +0000 (15:47 +0000)]
Fix libs and includes for compiling with llc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2654
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:46:52 +0000 (15:46 +0000)]
Added log2 for log-base-2 and also modified IsPower2 to use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2653
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:44:07 +0000 (15:44 +0000)]
Added parameter IntRegSize for standard general-purpose register size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2652
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:43:31 +0000 (15:43 +0000)]
New function CreateSignExtensionInstructions.
Methods now take MachineCodeForInstruction& as an argument and record
temporary values in it directly, instead of return the temps.
Really simplifies callers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2651
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:42:21 +0000 (15:42 +0000)]
Many functions that returned a single MachineInstr now take a
vector of MachineInstr* to return multiple ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2650
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:41:33 +0000 (15:41 +0000)]
InstrnsBefore and InstrnsAfter are now vectors instead of deques.
May be slightly less efficient but significantly reduces special
cases interfaces in code generation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2649
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:40:41 +0000 (15:40 +0000)]
Better interface to generating machine instr for common cases
(many places still need to be updated to use this interface).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2648
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:39:59 +0000 (15:39 +0000)]
MachineInstr now inherits from Annotable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2647
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:39:02 +0000 (15:39 +0000)]
Hash pointer values to a sequence number to get identical results from
lli and llc. This is controlled with options -tracehash on|off.
Also, added an option to specify which functions should be traced.
Particularly useful to reduce output volume in basic-block tracing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2646
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:34:29 +0000 (15:34 +0000)]
Better folding getelementptr operations with mixed
array and struct indexes.
Update operand values in CallArgsDescriptor (a new class)
when replacing constant values with immediates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2645
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:31:08 +0000 (15:31 +0000)]
cpValue2Value now needs a vector of MachineInstr to store return values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2644
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:30:21 +0000 (15:30 +0000)]
Annotation class for MachineInstr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2643
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:29:31 +0000 (15:29 +0000)]
Numerous bug fixes:
-- passing FP arguments to functions with more than 6 arguments
-- passing FP arguments to varargs functions
-- passing FP arguments to functions with no prototypes
-- incorrect coloring for CC registers (both int and FP): interferences
were being completely ignored for int CC and were considered but no
spills were marked for fp CC!
Also some code improvements:
-- better interface to generating machine instr for common cases
(many places still need to be updated to use this interface)
-- annotations on MachineInstr to communicate information from
one codegen phase to another (now used to pass information about
CALL/JMPLCALL operands from selection to register allocation)
-- all sizes and offests in class TargetData are uint64_t instead of uint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2642
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:28:02 +0000 (15:28 +0000)]
Add integer register size field.
Make all sizes and offsets uint64_t instead of uint.
Fixed GetIndexedOffset to handle mixed array and struct indices.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2641
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Sun, 19 May 2002 15:25:51 +0000 (15:25 +0000)]
Numerous bug fixes:
-- correct sign extensions for integer casts and for shift-by-constant
instructions generated for integer multiply
-- passing FP arguments to functions with more than 6 arguments
-- passing FP arguments to varargs functions
-- passing FP arguments to functions with no prototypes
-- incorrect stack frame size when padding a section
-- folding getelementptr operations with mixed array and struct indexes
-- use uint64_t instead of uint for constant offsets in mem operands
-- incorrect coloring for CC registers (both int and FP): interferences
were being completely ignored for int CC and were considered but no
spills were marked for fp CC!
Also some code improvements:
-- better interface to generating machine instr for common cases
(many places still need to be updated to use this interface)
-- annotations on MachineInstr to communicate information from
one codegen phase to another (now used to pass information about
CALL/JMPLCALL operands from selection to register allocation)
-- all sizes and offests in class TargetData are uint64_t instead of uint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2640
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 May 2002 04:55:35 +0000 (04:55 +0000)]
Fix bug: test/Regression/CBackend/2002-05-16-NameCollide.ll by tracking
which global variables would have name collisions if they were not mangled,
and use this info to mangle them iff they would collide.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2639
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 17 May 2002 04:53:52 +0000 (04:53 +0000)]
New C backend testcases with first testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2638
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 May 2002 04:37:07 +0000 (04:37 +0000)]
* Make debug output conditional on #define
* Add optimization to rank computation to not recursively search when
unneccesary.
* More agressively negate expressions to open reassociation opportunities.
* Linearize (A+B)+(C+D) into ((A+B)+C)+D
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2637
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 May 2002 01:03:12 +0000 (01:03 +0000)]
Add tests of redundant load elimination
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2636
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 May 2002 00:56:59 +0000 (00:56 +0000)]
New testcases for sub/neg reassociation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2635
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 16 May 2002 00:56:36 +0000 (00:56 +0000)]
Fix testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2634
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 May 2002 21:59:31 +0000 (21:59 +0000)]
New testcases to ensure sub's are maximally reassociable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2633
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 May 2002 21:56:51 +0000 (21:56 +0000)]
Testcase to ensure trees structures are correctly linearized
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2632
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 May 2002 20:30:48 +0000 (20:30 +0000)]
Test to ensure sub -> neg promotion is working and why.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2631
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 15 May 2002 17:22:01 +0000 (17:22 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2630
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 May 2002 19:57:25 +0000 (19:57 +0000)]
* Fix bug: test/Regression/Transforms/GCSE/2002-05-14-OperandSwap.ll
By making sure to consider binary expressions identical if their operands
are backwards, but swappable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2629
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 May 2002 19:56:14 +0000 (19:56 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2628
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 May 2002 16:44:07 +0000 (16:44 +0000)]
Fix bug: test/Regression/Transforms/InstCombine/2002-05-14-SubFailure.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2627
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 May 2002 16:40:43 +0000 (16:40 +0000)]
New testcase for bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2626
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 May 2002 16:23:14 +0000 (16:23 +0000)]
Run another local value numbering phase after redundancy elimination
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2625
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 May 2002 16:02:05 +0000 (16:02 +0000)]
Avoid emitting a useless comment for a basic block with no uses (which
often happens for the entry basic block of a function)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2624
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 May 2002 15:24:07 +0000 (15:24 +0000)]
Fix bug: test/Regression/Transforms/InstCombine/2002-05-14-TouchDeletedInst.ll
"This testcase caused instcombine to fail because it got the same instruction on
it's worklist more than once (which is ok), but then deleted the instruction.
Since the inst stayed on the worklist, as soon as it came back up to be
processed, bad things happened, and opt asserted."
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2623
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 May 2002 15:22:50 +0000 (15:22 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2622
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 May 2002 05:23:45 +0000 (05:23 +0000)]
Fix a major source of "type unsafety", where a cast is neccesary, but can
be put either before or after a load. We chose to cast the value loaded
instead of the pointer to load from.
Fixes bug: test/Regression/Transforms/LevelRaise/2002-05-10-LoadPeephole.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2621
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 May 2002 05:02:40 +0000 (05:02 +0000)]
Implement elimination of loads
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2620
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 14 May 2002 04:20:25 +0000 (04:20 +0000)]
Invoke inst has side effects!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2619
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 May 2002 22:19:50 +0000 (22:19 +0000)]
New file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2618
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 May 2002 22:04:46 +0000 (22:04 +0000)]
Trivial cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2617
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 May 2002 22:03:16 +0000 (22:03 +0000)]
Add method to check to see if two _Instructions_ dominate each other
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2616
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 22:44:58 +0000 (22:44 +0000)]
Initial checkin of LICM pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2615
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 22:44:37 +0000 (22:44 +0000)]
expose LICM pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2614
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 22:44:31 +0000 (22:44 +0000)]
Add LICM pass to compiler
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2613
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 22:44:16 +0000 (22:44 +0000)]
Add prototype for LICM pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2612
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 22:43:26 +0000 (22:43 +0000)]
Add testcase for when there is no loop header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2611
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 22:27:49 +0000 (22:27 +0000)]
A basic test that LICM is working
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2610
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 22:21:38 +0000 (22:21 +0000)]
Run LICM tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2609
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 22:21:25 +0000 (22:21 +0000)]
run LICM tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2608
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 22:21:05 +0000 (22:21 +0000)]
Make sure to call the derived visit versions from the ranged iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2607
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 18:54:35 +0000 (18:54 +0000)]
We actually need this code for the release build to prevent link errors,
un#ifdef it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2606
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 18:53:55 +0000 (18:53 +0000)]
Add explicit abort so optimized build knows that the function does not return
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2605
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 18:53:21 +0000 (18:53 +0000)]
Add an explicit abort so that the optimized build knows the function does
not return.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2604
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 18:51:54 +0000 (18:51 +0000)]
* Allow a profile'd code build to be done with a simple 'make ENABLE_PROFILING=1'
* Only build tags for include, lib, and tools, not tests
* Turn on verbose output from bison to get information about shift/reduce
conficts (why isn't this the default??)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2603
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 15:43:07 +0000 (15:43 +0000)]
Expose the lowerallocs pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2602
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 15:38:35 +0000 (15:38 +0000)]
Add support for printing out statistics information when -stats is added to
the command line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2601
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 15:37:35 +0000 (15:37 +0000)]
Fix some bugs, straighten stuff out, more work needs to be done.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2600
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 15:36:56 +0000 (15:36 +0000)]
Initial checkin of Statistic class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2599
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 15:36:46 +0000 (15:36 +0000)]
Initial checkin of Statistic class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2598
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 15:29:25 +0000 (15:29 +0000)]
* Add support for the -stats command line option to report how much is changed
* Make cast-of-self-ty DCE the dead cast instruction immediately instead of
waiting for it to be DCE'd by another sweep over the function. This speeds
this up noticably.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2597
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 15:14:54 +0000 (15:14 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2596
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 13:28:47 +0000 (13:28 +0000)]
remove deprecated getInstType() method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2595
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 05:41:49 +0000 (05:41 +0000)]
Expose the pi node insertion pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2594
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 05:41:34 +0000 (05:41 +0000)]
Initial checkin of the PiNodeInsertion pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2593
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 05:40:37 +0000 (05:40 +0000)]
Add prototype for the PiNodeInserter pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2592
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 05:38:39 +0000 (05:38 +0000)]
Test the Pi node inserter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2591
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 May 2002 05:38:18 +0000 (05:38 +0000)]
Initial checkin of testcases for Pi node inserter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2590
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 May 2002 21:31:18 +0000 (21:31 +0000)]
Last minor cleanups, this code still does not work for all cases, but it
works much better than it used to.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2588
91177308-0d34-0410-b5e6-
96231b3b80d8