Chris Lattner
0f9d9214ab
Convert TargetData to be an ImmutablePass
...
llvm-svn: 3927
2002-09-25 23:46:55 +00:00
Chris Lattner
04af33fe09
Convert BasicVN to be an ImmutablePass
...
llvm-svn: 3924
2002-09-25 22:27:25 +00:00
Chris Lattner
37ae98efd1
* Fix ugly bug in previous checkin where I reused the name 'i' one too many times
...
* Print out immutable passes in the -debug-pass=Structure report.
llvm-svn: 3923
2002-09-25 22:26:52 +00:00
Chris Lattner
e7d8ee84e7
Add support for ImmutablePasses, which are not run, and cannot be
...
invalidated.
llvm-svn: 3921
2002-09-25 21:59:11 +00:00
Nick Hildenbrandt
205d6a6b20
Strings now handled correctly.
...
llvm-svn: 3920
2002-09-25 20:29:26 +00:00
Chris Lattner
2cf19d980a
- Fix bug: Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.ll
...
llvm-svn: 3917
2002-09-24 21:19:41 +00:00
Chris Lattner
7fafece8e0
Eliminate extraneous #include
...
llvm-svn: 3916
2002-09-24 21:18:40 +00:00
Chris Lattner
54cf78c786
Fix bug: SimplifyCFG/2002-09-24-PHIAssertion.ll
...
llvm-svn: 3913
2002-09-24 16:09:17 +00:00
Chris Lattner
a4f47fb77e
- Do not expose Critical Edge breaking mechanics outside the BCE pass, thus
...
removing it from Transforms/Local.h and from Transforms/Utils/*
llvm-svn: 3911
2002-09-24 15:52:01 +00:00
Chris Lattner
25ba5ac7ce
- Do not expose Critical Edge breaking mechanics outside the BCE pass, thus
...
removing it from Transforms/Local.h and from Transforms/Utils/*
llvm-svn: 3910
2002-09-24 15:51:56 +00:00
Chris Lattner
1014aae962
Correlated Exprs pass now requires BCE pass instead of doing it manually
...
llvm-svn: 3908
2002-09-24 15:43:56 +00:00
Chris Lattner
49588769e0
- Expose passinfo from BreakCriticalEdges pass so that it may be "Required"
...
by other passes. Make BCE pass be in anonymous namespace now.
llvm-svn: 3907
2002-09-24 15:43:12 +00:00
Chris Lattner
4e11d9e5de
Minor cleanups
...
llvm-svn: 3904
2002-09-24 00:09:26 +00:00
Chris Lattner
e62cdff96c
Add new BreakCriticalEdges pass
...
llvm-svn: 3903
2002-09-24 00:08:39 +00:00
Chris Lattner
34d9c4ec10
Make users of FindUsedTypes not have problems with linkage. This fixes
...
Cwriter.
llvm-svn: 3900
2002-09-24 00:07:21 +00:00
Chris Lattner
b6c408778a
Optimize away cases like:
...
%cast109 = cast uint %cast212 to short ; <short> [#uses=1]
%cast214 = cast short %cast109 to uint ; <uint> [#uses=1]
%cast215 = cast uint %cast214 to short ; <short> [#uses=1]
llvm-svn: 3897
2002-09-23 23:39:43 +00:00
Chris Lattner
a4184f9ab6
Fix: ConstantMerge/2002-09-23-CPR-Update.ll
...
Basically, this bug boiled down to calling replaceUsesOfWith on a constant,
which changed it's shape in an illegal way. This pass now goes through all
of the trouble neccesary to do the replacement on constants.
llvm-svn: 3895
2002-09-23 23:00:46 +00:00
Nick Hildenbrandt
cb0b25c6c1
Parenthesis are now added to casts of type array.
...
llvm-svn: 3892
2002-09-23 21:02:50 +00:00
Chris Lattner
2a53929c5d
* Fix bug: CorrelatedExprs/2002-09-23-PHIUpdateBug.ll
...
* Make sure "Changed" is updated correctly
llvm-svn: 3891
2002-09-23 20:06:22 +00:00
Chris Lattner
aecb825629
Insert resolved constants into the global map so they are reused correctly.
...
This bug was exposed linking the SPEC benchmark suite.
llvm-svn: 3888
2002-09-23 18:14:15 +00:00
Vikram S. Adve
a7e73bb0a0
Put intermediate source files in a subdirectory here instead of with
...
object files. Also,
llvm-svn: 3884
2002-09-23 13:12:28 +00:00
Vikram S. Adve
20fc3f0ffd
Disable reassociation pass in LLC until it is fixed.
...
llvm-svn: 3883
2002-09-23 12:55:50 +00:00
Chris Lattner
5c6d487ee2
Don't insert a PHI node to merge "returns" from an inlined function if there
...
is only a single return from the function!
llvm-svn: 3878
2002-09-22 18:41:25 +00:00
Anand Shukla
a34898d9ac
Changed codegen to add 2 empty slots at the top of stack using StackSlots pass
...
llvm-svn: 3873
2002-09-21 05:01:21 +00:00
Anand Shukla
508121e5d9
Initial version: it adds 2 empty slots at the top of stack
...
llvm-svn: 3872
2002-09-21 04:58:26 +00:00
Chris Lattner
b9379750d9
Fix cwriter to not output FP constants in ascii, output them in hex instead.
...
This fixes a number of FP precision problems, making the output of the
power benchmark closer to the right answer.
Unfortunately, this only addresses FP constants used directly in functions.
Constants referred to by global constants (such as an array of FP values)
aren't helped by this. Until this happens power won't work.
llvm-svn: 3871
2002-09-20 23:26:33 +00:00
Chris Lattner
6874ea0917
Fix bug: 2002-09-20-VarArgPrototypes.ll
...
llvm-svn: 3870
2002-09-20 22:32:30 +00:00
Anand Shukla
da24f223d3
Changed uchar to unsigned char in function ParseBytecodeBuffer, because seemingly it affects opt in uncertain ways :)
...
llvm-svn: 3866
2002-09-20 20:57:54 +00:00
Anand Shukla
b959e8559e
Added checking threshold
...
llvm-svn: 3864
2002-09-20 16:44:35 +00:00
Chris Lattner
0752044e03
Fix output of typedefs to avoid syntax errors.
...
* We now can correctly Cify the Olden-power benchmark
llvm-svn: 3860
2002-09-20 15:20:24 +00:00
Chris Lattner
1c1de51dfe
* Add a couple of comments to the output c code
...
* _FIX_ infinite recursion problem, due to typedefs of a structure being
printed before the structure.
llvm-svn: 3859
2002-09-20 15:18:30 +00:00
Chris Lattner
af6a9e8fc4
Another change that doesn't affect functionality. Since we are only looking
...
at types in the symbol table, only traverse the type plane, saving a loop nest.
llvm-svn: 3858
2002-09-20 15:12:13 +00:00
Chris Lattner
a66eef584f
Make the StructPrinted set only take memory when it's being used.
...
rename parseStruct to printContainedStructs
llvm-svn: 3857
2002-09-20 15:05:40 +00:00
Chris Lattner
4f385b19bb
No functionality changes, primarily just changing tab indentation to space
...
indentation
llvm-svn: 3856
2002-09-20 14:56:54 +00:00
Vikram S. Adve
07a33b5553
Add method IGNode::getCombinedDegree to count the sum of the degrees
...
of two nodes, excluding duplicates.
llvm-svn: 3848
2002-09-20 00:55:04 +00:00
Vikram S. Adve
1d139cf8de
Add PostOpts/ and rename PreSelection/ to PreOpts/.
...
llvm-svn: 3847
2002-09-20 00:53:53 +00:00
Vikram S. Adve
bcab1ae6c9
Add peephole optimization pass at the end of code generation.
...
llvm-svn: 3846
2002-09-20 00:52:43 +00:00
Vikram S. Adve
ed466a713a
Added class MachineOptInfo as interface to target-specific
...
routines supporting machine code optimization.
Also added method MachineInstrInfo::getNOPOpCode().
llvm-svn: 3845
2002-09-20 00:52:09 +00:00
Vikram S. Adve
47303cde2d
Add method MachineInstr::replace to rewrite a machine instruction in place.
...
llvm-svn: 3843
2002-09-20 00:47:49 +00:00
Vikram S. Adve
ccb33335a3
Allow copy coalescing in more cases: if sum of node degrees is more than
...
than #available regs, compute the sum excluding duplicates and if that
is less than #regs, go ahead and coalesce.
Add method IGNode::getCombinedDegree to count excluding duplicates.
llvm-svn: 3842
2002-09-20 00:45:47 +00:00
Vikram S. Adve
82b15d7253
Peephole optimization pass on final machine code.
...
llvm-svn: 3840
2002-09-20 00:42:11 +00:00
Vikram S. Adve
8dc14ec198
Files moved to CodeGen/PreOpts.
...
llvm-svn: 3839
2002-09-20 00:30:46 +00:00
Vikram S. Adve
6f0ad9998b
Moving these files from Code/PreSelection to here.
...
Original logs for PreSelection.cpp:
revision 1.2
date: 2002/09/17 23:50:32; author: lattner; state: Exp; lines: +1 -3
Don't put default parameter values into .cpp files, it breaks 3.x compilers
revision 1.1
date: 2002/09/16 15:31:13; author: vadve; state: Exp;
New preselection pass that specializes LLVM code for a target machine,
while remaining in legal portable LLVM form and preserving type
information and type safety.
llvm-svn: 3838
2002-09-20 00:29:28 +00:00
Chris Lattner
39614ed129
Add an optimization to support the most common access pattern for the
...
library. This speeds debug builds up significantly.
llvm-svn: 3826
2002-09-19 19:22:11 +00:00
Chris Lattner
c86c7ecdb5
Make sure that we abort if an error happens as early as neccesary. Before
...
it was possible for the passmanager to continue running passes after the
verifier even if the module was not well formed.
llvm-svn: 3820
2002-09-19 16:12:19 +00:00
Anand Shukla
cf6e76fbff
split retracing into a separate file
...
llvm-svn: 3809
2002-09-18 03:55:26 +00:00
Chris Lattner
ee9b6ce5c7
Compile sub-directories in parallel, because they don't have interdependencies
...
llvm-svn: 3808
2002-09-18 03:25:58 +00:00
Misha Brukman
e093f5cb9b
Removed unnecessary #includes.
...
llvm-svn: 3802
2002-09-18 02:07:57 +00:00
Misha Brukman
6a2dc6b0ba
Fixed typo.
...
llvm-svn: 3801
2002-09-18 00:42:45 +00:00
Chris Lattner
86e6e0f6e3
Don't put default parameter values into .cpp files, it breaks 3.x compilers
...
llvm-svn: 3799
2002-09-17 23:50:32 +00:00