Chris Lattner
e6794490ec
* Factor a bunch of code by using ReplaceInstUsesWith
...
* Move isMaxValue, isMinValue, isAllOnesValue to Constants.h
llvm-svn: 3290
2002-08-12 21:17:25 +00:00
Chris Lattner
68fe621771
Remove some extraneous #includes
...
llvm-svn: 3289
2002-08-12 20:24:46 +00:00
Chris Lattner
7d9a14d5d9
Changes to make GlobalValueRefMap not derive from std::map.
...
llvm-svn: 3288
2002-08-12 20:23:29 +00:00
Chris Lattner
593a74adc5
Add comment
...
llvm-svn: 3287
2002-08-12 19:18:49 +00:00
Chris Lattner
6d14f2a7ae
New functionality for instcombine:
...
* New ReplaceInstUsesWith function to factor out tons of common code
This needs to be used more in the future still, but it's a good start
* New InsertNewInstBefore to allow multi-instruction replacements
* Change getMaxValue functions to isAllOnesValue function, which doesn't
have to CREATE/lookup a new constant. Also the name is accurate
* Add new isMaxValue, isMinValue, isMaxValueMinusOne, isMinValuePlusOne
functions: This should be moved to Constant* classes eventually
* Implement xor X, ALLONES -> not X
* Fold ALL setcc's of booleans away
* Handle various SetCC's for integers against values at the end of their
ranges, possibly off by one. This implements the setcc-strength-reduce.ll
testcase.
llvm-svn: 3286
2002-08-09 23:47:40 +00:00
Chris Lattner
169f7b299c
xor x, ALLONES should -> not x
...
llvm-svn: 3285
2002-08-09 23:34:39 +00:00
Chris Lattner
b86ab650f6
setcc of booleans should always be eliminated
...
llvm-svn: 3284
2002-08-09 23:34:18 +00:00
Chris Lattner
840d4699e4
Add more strength reduction testcases
...
llvm-svn: 3283
2002-08-09 23:33:58 +00:00
Chris Lattner
0d92ff0488
*** empty log message ***
...
llvm-svn: 3282
2002-08-09 22:52:08 +00:00
Chris Lattner
e836b583e0
* IntervalPartition no longer derives from vector
...
llvm-svn: 3281
2002-08-09 22:52:06 +00:00
Chris Lattner
2253a154d7
Do not add an extra vtable to EVERY machineinstr created.
...
llvm-svn: 3280
2002-08-09 21:49:21 +00:00
Chris Lattner
a09b01b2c1
UnaryOperator::create should take a name just like BinaryOperator::create
...
llvm-svn: 3279
2002-08-09 21:39:38 +00:00
Chris Lattner
959a5fbf8e
* Removed extraneous #includes
...
* Fixed file headers to be consistent with the rest of LLVM
* Other minor fixes
llvm-svn: 3278
2002-08-09 20:08:06 +00:00
Chris Lattner
02e7a86fec
* Removed extraneous #includes
...
* Fixed file headers to be consistent with the rest of LLVM
* Other minor fixes
llvm-svn: 3277
2002-08-09 20:08:03 +00:00
Chris Lattner
3c3457ccea
We are using std::vector, so remove extraneous namespace prefixes
...
llvm-svn: 3275
2002-08-09 20:05:34 +00:00
Chris Lattner
107914c2ac
Change machinecode for instruction to not inherit from vector.
...
llvm-svn: 3274
2002-08-09 20:04:28 +00:00
Chris Lattner
06524e2f07
The second parameter of hash_set is the default, remove it.
...
llvm-svn: 3273
2002-08-09 19:40:42 +00:00
Chris Lattner
e5b0f6574b
Oops, I accidentally broke the .d files. Fixed thusly
...
llvm-svn: 3272
2002-08-09 19:18:12 +00:00
Chris Lattner
e08000ac9f
Very minor cleanups
...
llvm-svn: 3271
2002-08-09 18:55:18 +00:00
Chris Lattner
a6540a7b9f
* Document the BUILD_ROOT changes and option
...
* Convert directories to <tt> like they should be
llvm-svn: 3270
2002-08-09 16:14:56 +00:00
Chris Lattner
77330fa15c
* Remove some bogus dependencies on Depend/.dir
...
* Build into the machine local /shared directory instead of using local
Debug/Depend/Release directories
llvm-svn: 3269
2002-08-09 15:41:55 +00:00
Chris Lattner
56d9e2202f
Oh yeah, I wrote it.
...
llvm-svn: 3268
2002-08-08 20:23:41 +00:00
Chris Lattner
34ceebe344
Initial checkin of the "Writting an LLVM Pass" document
...
llvm-svn: 3267
2002-08-08 20:11:18 +00:00
Chris Lattner
ed7ac42c6a
Initial checkin of the "Hello World" Pass.
...
llvm-svn: 3266
2002-08-08 20:10:38 +00:00
Chris Lattner
f0ed55d1ee
- Cleaned up the interface to AnalysisUsage to take analysis class names
...
instead of ::ID's.
- Pass::getAnalysis<> now no longer takes an optional argument
llvm-svn: 3265
2002-08-08 19:01:30 +00:00
Chris Lattner
40eb9dafed
- Cleaned up the interface to AnalysisUsage to take analysis class names
...
instead of ::ID's.
- Pass::getAnalysis<> now no longer takes an optional argument
llvm-svn: 3264
2002-08-08 19:01:28 +00:00
Chris Lattner
4b2ee2e848
- Cleaned up the interface to AnalysisUsage to take analysis class names
...
instead of ::ID's.
- Pass::getAnalysis<> now no longer takes an optional argument
llvm-svn: 3263
2002-08-08 19:01:11 +00:00
Chris Lattner
650449a1df
Remove extraneous #includes
...
llvm-svn: 3262
2002-08-08 19:00:34 +00:00
Chris Lattner
b3ce9fc449
Minor changes to DEBUG()'s
...
llvm-svn: 3261
2002-08-07 21:41:11 +00:00
Chris Lattner
3147fd226a
Reorder #includes to be right
...
llvm-svn: 3260
2002-08-07 21:41:03 +00:00
Chris Lattner
c93df6bf22
Merge three loops into one.
...
llvm-svn: 3259
2002-08-07 21:39:48 +00:00
Chris Lattner
e64e62eff9
Fix breakage in the build
...
llvm-svn: 3258
2002-08-07 21:39:39 +00:00
Chris Lattner
24c550cd2d
Only include the sparc.o file once!
...
llvm-svn: 3257
2002-08-07 19:42:34 +00:00
Chris Lattner
b4101b1373
Simplify writing custom parsers.
...
llvm-svn: 3256
2002-08-07 18:36:37 +00:00
Chris Lattner
5b13472129
Simplify interface to parsers.
...
llvm-svn: 3255
2002-08-07 18:36:27 +00:00
Chris Lattner
74ea5a67ce
* Write the "Custom parser" section
...
* Boldify stuff that changes in the help output.
llvm-svn: 3254
2002-08-07 18:27:04 +00:00
Chris Lattner
507612981a
Write the reference section, make other minor editing changes elsewhere.
...
llvm-svn: 3253
2002-08-06 19:36:06 +00:00
Mehwish Nagda
428a0ba612
added Mapping and Function Pass
...
llvm-svn: 3251
2002-08-05 23:23:19 +00:00
Vikram S. Adve
e93d33cc24
Add function GetConstantValueAsUnsignedInt.
...
llvm-svn: 3249
2002-08-04 20:55:59 +00:00
Vikram S. Adve
482ab44175
Bug fix in CreateCodeToLoadConst(): use sign of dest, not operand,
...
in choosing how to create int-set instructions.
llvm-svn: 3248
2002-08-04 20:55:37 +00:00
Vikram S. Adve
89f992bf2c
Add a sequence of GEPs with constant indices, for folding.
...
llvm-svn: 3247
2002-08-04 20:53:14 +00:00
Vikram S. Adve
71895b28cc
Bug fix in TargetData::getIndexedOffset(): handle struct offset
...
after array offset correctly. The type was not being updated for
array offsets!
llvm-svn: 3246
2002-08-04 20:52:39 +00:00
Vikram S. Adve
b4a9685872
Bug fix in SetOperandsForMemInstr: handle leading zeros correctly
...
when folding or not folding GEPs.
llvm-svn: 3245
2002-08-04 20:51:05 +00:00
Vikram S. Adve
1a1c3ed56d
Add function GetConstantValueAsUnsignedInt.
...
Fix 2 bugs in FoldGetElemChain so index vector is not modified
when no GEPs are folded in, and so a hasLeadingZero is computed
only for the last folded GEP, not the one after that if any.
llvm-svn: 3244
2002-08-04 20:49:49 +00:00
Chris Lattner
b430c3f395
Fix compilation problem. IsIndexZero doesn't exist, use IsZero instead.
...
llvm-svn: 3243
2002-08-03 20:57:38 +00:00
Chris Lattner
419bda15f5
Testcase for stuff instcombine should do eventually
...
llvm-svn: 3240
2002-08-03 20:30:26 +00:00
Chris Lattner
ff61e352ae
Add some more features that we could instcombine away
...
llvm-svn: 3239
2002-08-03 20:24:58 +00:00
Chris Lattner
4b03304600
*** empty log message ***
...
llvm-svn: 3238
2002-08-03 20:24:45 +00:00
Chris Lattner
ead864f089
Comment options that may be enabled
...
llvm-svn: 3237
2002-08-03 20:19:30 +00:00
Vikram S. Adve
1944064801
Simplified handling of array indexes in SetMemOperands_Internal.
...
llvm-svn: 3236
2002-08-03 13:48:21 +00:00
Vikram S. Adve
a173017d7b
Add MemAccessInst::getNumIndices().
...
llvm-svn: 3234
2002-08-03 13:22:36 +00:00
Vikram S. Adve
4737dd7268
Eliminate cast instructions: use only GEPs in decomposed sequence.
...
Don't decompose if there are 2 indices with 0 as first index.
Compute Changed flag correctly in runOnBasicBlock().
llvm-svn: 3233
2002-08-03 13:21:15 +00:00
Vikram S. Adve
eaf18e16fe
Run both *.ll and *.c tests.
...
llvm-svn: 3232
2002-08-03 13:17:03 +00:00
Vikram S. Adve
26a0029255
Added expected decomposed sequence in comments, plus a couple of new cases.
...
llvm-svn: 3231
2002-08-03 13:16:47 +00:00
Chris Lattner
33b3b9660b
Fix problem where lli would not print out a 64 bit value when the client code
...
uses the modifier "%ld". Now lli passes off "%lld" to the underlying runtime
library in this case.
llvm-svn: 3230
2002-08-02 23:08:32 +00:00
Chris Lattner
600ba8fa6d
Fix one real nasty bug
...
llvm-svn: 3227
2002-08-02 22:06:04 +00:00
Chris Lattner
551e12055d
Fix lli with no arguments
...
llvm-svn: 3226
2002-08-02 21:51:29 +00:00
Chris Lattner
650b6da0f9
Fix bug: test/Regression/Transforms/InstCombine/2002-08-02-CastTest.ll
...
Implement feature: Cast's can now be converted to bitwise AND expressions.
llvm-svn: 3225
2002-08-02 20:00:25 +00:00
Chris Lattner
a479fecbd5
Fix yet another bug in the testcase
...
llvm-svn: 3224
2002-08-02 19:59:20 +00:00
Chris Lattner
ab3aeb7eae
Fix bug in testcase
...
llvm-svn: 3223
2002-08-02 19:54:05 +00:00
Chris Lattner
ae7a0d39fd
* Cleanups of instcombine
...
- Reenable gep (gep x) -> x
- Make instcombine do dead instruction elimination where it's really
easy. Now visitors don't have to ensure they aren't not processing
dead instructions.
llvm-svn: 3222
2002-08-02 19:29:35 +00:00
Chris Lattner
f6f95d08da
These tests should not run -dce pass to cleanup instcombine.
...
If instcombine is making dead instructions, ALL that should be used is -die
llvm-svn: 3221
2002-08-02 19:27:58 +00:00
Chris Lattner
e19f137097
Add another testcase that isn't failing because of another bug in instcombine
...
llvm-svn: 3220
2002-08-02 18:48:09 +00:00
Chris Lattner
7feaa068eb
Change test to really test the cases we can hit
...
llvm-svn: 3219
2002-08-02 18:47:11 +00:00
Chris Lattner
a1651c750b
New testcase
...
llvm-svn: 3218
2002-08-02 18:46:53 +00:00
Vikram S. Adve
15bd3ad996
Don't build Debug/ versions when ENABLE_OPTIMIZED is on.
...
llvm-svn: 3216
2002-08-02 18:34:12 +00:00
Chris Lattner
f56bd89918
Fix bug: test/Regression/Transforms/GCSE/2002-05-21-NoSharedDominator.ll
...
llvm-svn: 3215
2002-08-02 18:06:01 +00:00
Chris Lattner
8e72d6f6e9
Implement dominator checking in the verifier, so that we check that all
...
defintiions dominate their uses
llvm-svn: 3214
2002-08-02 17:37:08 +00:00
Chris Lattner
6d149e0215
Fix bug: test/Regression/Other/2002-08-02-DomSetProblem.ll
...
llvm-svn: 3213
2002-08-02 16:51:27 +00:00
Chris Lattner
35d69af46f
Add a note about where to put miscompilation tests.
...
llvm-svn: 3212
2002-08-02 16:44:09 +00:00
Chris Lattner
d43023a85d
Split dominance calculation and post dominance calculation stuff
...
Dominance calculation goes to VMCore library to be used by Verifier.
llvm-svn: 3210
2002-08-02 16:43:03 +00:00
Chris Lattner
45dca23e2f
New testcase for dominator problem
...
llvm-svn: 3209
2002-08-02 16:41:21 +00:00
Chris Lattner
2410759241
The verify pass is implicit
...
llvm-svn: 3208
2002-08-02 16:39:18 +00:00
Chris Lattner
932ed7a084
New test
...
llvm-svn: 3207
2002-08-02 16:26:08 +00:00
Chris Lattner
36e3570dc2
Tweak makefile after moving
...
llvm-svn: 3205
2002-08-02 16:10:24 +00:00
Chris Lattner
b8f6cfa06e
Verify is implicit for opt
...
llvm-svn: 3204
2002-08-01 22:26:32 +00:00
Chris Lattner
96164edcfb
Fix makefile to work.
...
llvm-svn: 3203
2002-08-01 20:50:54 +00:00
Chris Lattner
2fdcb4b7b6
Fix broken testcase
...
llvm-svn: 3202
2002-08-01 20:50:03 +00:00
Chris Lattner
3a9b031848
Make testcase legal LLVM
...
llvm-svn: 3201
2002-08-01 20:48:21 +00:00
Chris Lattner
7ff5a21f0f
Remove unneccesary #inlcude
...
llvm-svn: 3200
2002-08-01 20:01:02 +00:00
Chris Lattner
6a33d6f0bb
Enhance -time-passes to be more detailed and useful
...
llvm-svn: 3199
2002-08-01 19:33:09 +00:00
Vikram S. Adve
6d6deba9f9
Bug fix: incorrect SAVE instruction when using register for stack size.
...
llvm-svn: 3198
2002-08-01 14:26:11 +00:00
Vikram S. Adve
92a546c025
Feature test for stack size bigger than immed. field of SAVE instruction.
...
Also tests code generation for code with mixed indices.
llvm-svn: 3197
2002-08-01 14:21:05 +00:00
Chris Lattner
301b7e7733
Reorder tool building sequence to more closely match the reality of what
...
is being worked on the most.
llvm-svn: 3196
2002-08-01 00:01:33 +00:00
Chris Lattner
e5fd3867d3
Fix bug: test/Regression/Assembler/2002-07-31-SlashInString.llx
...
llvm-svn: 3195
2002-07-31 23:56:44 +00:00
Chris Lattner
14fceb8244
NEw testcase
...
llvm-svn: 3194
2002-07-31 23:54:29 +00:00
Chris Lattner
50ead8c492
Implement the other half of a feature advertised by OperandConvertableToType.
...
This fixes bug: test/Regression/Transforms/LevelRaise/2002-07-31-AssertionFailure.ll
llvm-svn: 3193
2002-07-31 22:31:34 +00:00
Chris Lattner
d711a5e493
Cleanup Makefile a bit
...
llvm-svn: 3192
2002-07-31 21:32:05 +00:00
Vikram S. Adve
c19b1cc168
Just improved comments and assertions.
...
llvm-svn: 3191
2002-07-31 21:13:31 +00:00
Chris Lattner
ee94eda056
Trim down testcase a bit
...
llvm-svn: 3190
2002-07-31 21:10:11 +00:00
Chris Lattner
0d3f623a70
New testcase for level-raise crash inspired by SPEC
...
llvm-svn: 3189
2002-07-31 21:06:29 +00:00
Vikram S. Adve
defe6ec939
Add a missing case: converting float/double to unsigned integer types.
...
llvm-svn: 3188
2002-07-31 21:01:34 +00:00
Chris Lattner
ad5a79527f
Changes to be GCC3.1 friendly
...
llvm-svn: 3187
2002-07-31 19:32:14 +00:00
Chris Lattner
c70601cd67
Changes to be GCC3.1 friendly
...
llvm-svn: 3186
2002-07-31 19:32:12 +00:00
Chris Lattner
be4826e627
*** empty log message ***
...
llvm-svn: 3185
2002-07-31 19:32:01 +00:00
Chris Lattner
edefd157a7
Changes to be GCC 3.1 friendly
...
llvm-svn: 3184
2002-07-31 19:31:59 +00:00
Chris Lattner
395c27ae39
We need iostream in PassManagerT.h to use cerr
...
llvm-svn: 3183
2002-07-31 18:04:17 +00:00
Chris Lattner
6678ec4d1d
Fix testcase
...
llvm-svn: 3182
2002-07-31 17:54:24 +00:00
Chris Lattner
93ca4e50d9
New testcase
...
llvm-svn: 3181
2002-07-31 17:52:36 +00:00
Chris Lattner
f4ef97c59f
Testcase that was triggering an incorrect assertion failure
...
llvm-svn: 3180
2002-07-31 17:39:38 +00:00
Chris Lattner
5987171ef5
Verify pass has been run for a long time now
...
llvm-svn: 3179
2002-07-31 17:39:16 +00:00
Chris Lattner
35f0c49feb
Add new -only-print-main-ds option that causes mains ds graph to be
...
printed, but no others.
llvm-svn: 3178
2002-07-31 17:15:40 +00:00
Chris Lattner
b05cd8a88d
Change command line option message on -q to make it more accurate
...
llvm-svn: 3177
2002-07-31 16:52:49 +00:00
Chris Lattner
150e46b679
Fix bug that was causing problems for lli
...
llvm-svn: 3176
2002-07-31 16:29:43 +00:00
Chris Lattner
188d8afeee
Remove obsolete, confusing, method
...
llvm-svn: 3175
2002-07-31 01:45:02 +00:00
Chris Lattner
c04be03495
This testcase is independant of varargsness
...
Simplify.
llvm-svn: 3174
2002-07-30 22:24:07 +00:00
Vikram S. Adve
b82a496132
Add GlobalDSGraph -- a common graph that holds externally visible nodes.
...
llvm-svn: 3173
2002-07-30 22:08:08 +00:00
Vikram S. Adve
256776e91f
Print globals graph after either the BU or the TD pass.
...
llvm-svn: 3172
2002-07-30 22:07:26 +00:00
Vikram S. Adve
90c8892b4e
This file implements the top-down propagation pass for data structure graphs.
...
Also, we now use a separate globals graph to hold externally visible nodes.
This changes both the bottom-up and top-down propagation so that
globals and other external objects do not have to appear in every
function, but only in functions in which they are referenced or
they can be used to access something else that is referenced.
llvm-svn: 3171
2002-07-30 22:06:40 +00:00
Vikram S. Adve
0d66177bc8
Use a separate globals graph to hold externally visible nodes.
...
This changes both the bottom-up and top-down propagation so that
globals and other external objects do not have to appear in every
function, but only in functions in which they are referenced or
they can be used to access something else that is referenced.
llvm-svn: 3170
2002-07-30 22:05:22 +00:00
Vikram S. Adve
43af9687a6
Add GlobalDSGraph -- a common graph that holds externally visible nodes.
...
llvm-svn: 3169
2002-07-30 22:02:04 +00:00
Chris Lattner
6f43f6d136
Print the tool name when an error comes from so that I can tell which
...
tool of a pipeline is having issues.
llvm-svn: 3168
2002-07-30 21:43:25 +00:00
Chris Lattner
da4c6cc151
Print the tool name when an error comes from so that I can tell which
...
tool of a pipeline is having issues.
llvm-svn: 3167
2002-07-30 21:43:22 +00:00
Chris Lattner
dcd3ec6010
Print the tool name when an error comes from so that I can tell which
...
tool of a pipeline is having issues.
llvm-svn: 3166
2002-07-30 19:52:14 +00:00
Chris Lattner
1e4867fed2
Implement new -debug-pass=Arguments option that causes PassManager to
...
print out the command line options for the optimizations it is running.
llvm-svn: 3165
2002-07-30 19:51:02 +00:00
Chris Lattner
353faddb1c
Add hooks to get information out of concrete pass manager implementations
...
llvm-svn: 3164
2002-07-30 19:49:39 +00:00
Chris Lattner
47cc3669ff
* Indent class into anonymous namespace, filling up the diff with garbage
...
* Internalize global variables with initializers
* Add new stat to track global variable internalization
* Only count functions that were not internal before in internalized function
count
llvm-svn: 3163
2002-07-30 19:48:44 +00:00
Chris Lattner
386ebdd66a
Remove extraneous #includes
...
llvm-svn: 3162
2002-07-30 19:33:19 +00:00
Chris Lattner
3cd8c56cbb
Cleanup ConstantExpr handling:
...
* Correctly delete TypeHandles in AsmParser. In addition to not leaking
memory, this prevents a bug that could have occurred when a type got
resolved that the constexpr was using
* Check for errors in the AsmParser instead of hitting assertion failures
deep in the code
* Simplify the interface to the ConstantExpr class, removing unneccesary
parameters to the ::get* methods.
* Rename the 'getelementptr' version of ConstantExpr::get to
ConstantExpr::getGetElementPtr
llvm-svn: 3161
2002-07-30 18:54:25 +00:00
Chris Lattner
a13a2dac7e
Cleanup ConstantExpr handling:
...
* Correctly delete TypeHandles in AsmParser. In addition to not leaking
memory, this prevents a bug that could have occurred when a type got
resolved that the constexpr was using
* Check for errors in the AsmParser instead of hitting assertion failures
deep in the code
* Simplify the interface to the ConstantExpr class, removing unneccesary
parameters to the ::get* methods.
* Rename the 'getelementptr' version of ConstantExpr::get to
ConstantExpr::getGetElementPtr
llvm-svn: 3160
2002-07-30 18:54:22 +00:00
Chris Lattner
6bb917f083
Remove invokation of cleangcc pass which has been renamed, and is unneccesary anyway
...
llvm-svn: 3159
2002-07-30 18:01:06 +00:00
Chris Lattner
beb40f9f6c
Remove FIXME's that aren't really needed after all.
...
llvm-svn: 3158
2002-07-30 16:38:54 +00:00
Chris Lattner
31aa7e72f2
Declare that these passes only depend on the CFG of the function
...
llvm-svn: 3157
2002-07-30 16:27:52 +00:00
Chris Lattner
0d273698df
* Implement stuff so that code can declare that they only depend on the CFG of
...
a function, not on anything else. This speeds up GCCAS a lot.
llvm-svn: 3156
2002-07-30 16:27:32 +00:00
Chris Lattner
198cf42178
* Move some code from Pass.cpp to PassManagerT.h
...
* Implement stuff so that code can declare that they only depend on the CFG of
a function, not on anything else. This speeds up GCCAS a lot.
llvm-svn: 3155
2002-07-30 16:27:02 +00:00
Chris Lattner
e87f65ec1b
Implement constant propogation of logical (and, or, xor) expressions.
...
Fixes testcase: test/Regression/Transforms/ConstProp/logicaltest.ll
llvm-svn: 3154
2002-07-30 16:24:28 +00:00
Chris Lattner
163f8b5b8f
Implement constant propogation of logical (and, or, xor) expressions.
...
Fixes testcase: test/Regression/Transforms/ConstProp/logicaltest.ll
llvm-svn: 3153
2002-07-30 16:24:25 +00:00
Chris Lattner
7e1dbb8aa2
Test that logical operators are correctly constant propogated!
...
llvm-svn: 3152
2002-07-30 16:18:38 +00:00
Chris Lattner
7a62aaafab
Add test of newly checked in Union support!
...
llvm-svn: 3151
2002-07-30 06:47:29 +00:00
Chris Lattner
56ea9cd7c2
Simplify testcase a bit
...
llvm-svn: 3150
2002-07-30 06:07:16 +00:00
Chris Lattner
71562885f6
New testcase found when working on union support *sigh*
...
llvm-svn: 3149
2002-07-30 06:05:40 +00:00
Chris Lattner
aeb1557b11
New testcase distilled from trying to compile burg with LLVM
...
llvm-svn: 3148
2002-07-30 05:57:03 +00:00
Chris Lattner
4bc962d1d5
* Move InstructionSelection Pass here instead of living in Sparc.cpp. It
...
is platform independant afterall.
* Object orientize the functions, cleanup code a bit. Instead of static
global functions, the helpers for instruction selection are now part of
the InstructionSelection Pass class.
llvm-svn: 3147
2002-07-30 03:57:36 +00:00
Chris Lattner
31d05fdd0a
* Move InstructionSelection pass to lib/CodeGen/InstrSelection so it is
...
shared by backends.
llvm-svn: 3146
2002-07-30 03:56:16 +00:00
Chris Lattner
c3b3a825eb
Expose instruction selection as a pass instead of a global function
...
llvm-svn: 3145
2002-07-30 03:55:29 +00:00
Chris Lattner
bd3e2a09ec
Add rough support for LLC passes
...
llvm-svn: 3144
2002-07-30 03:55:01 +00:00
Chris Lattner
05e148710e
Remove unused vector
...
llvm-svn: 3143
2002-07-30 02:52:40 +00:00
Chris Lattner
ed37856e69
Fix bug with last patch which would occur when a call returned void and we
...
attempted to assign it a name.
llvm-svn: 3142
2002-07-30 02:42:49 +00:00
Chris Lattner
dc403c86ec
Pass renamed
...
llvm-svn: 3141
2002-07-30 00:53:26 +00:00
Chris Lattner
aacadd1a95
* Make sure the resolved function call instructions get the name from the
...
old call instruction
* Implement conversion of return values for calls. This fixes bug:
test/Regression/Transforms/FunctionResolve/retmismatch3.ll
llvm-svn: 3140
2002-07-30 00:50:49 +00:00
Chris Lattner
38d4ae67eb
Oops, fix testcase
...
llvm-svn: 3139
2002-07-30 00:49:42 +00:00
Chris Lattner
07f46fe29b
NEw testcase to handle "yet another" return type mismatch possibility
...
llvm-svn: 3138
2002-07-30 00:34:52 +00:00
Chris Lattner
33fca976ee
* Fix bug: test/Regression/Transforms/ADCE/2002-07-17-AssertionFailure.ll
...
which was caused by us not running the "drop references of dead
instructions" code when there were no basic blocks that were dead.
We still don't want to do some of the stuff we do if there are dead
basic blocks, but we DO want to drop references of dead instructions,
so we factor the common code out to a new method.
llvm-svn: 3137
2002-07-30 00:22:34 +00:00
Chris Lattner
13e40b402f
Trim down testcase, a lot.
...
llvm-svn: 3136
2002-07-30 00:10:05 +00:00
Chris Lattner
8ec14765f8
Reduce testcase more
...
llvm-svn: 3135
2002-07-29 23:41:21 +00:00
Chris Lattner
3be5d0b892
Add code to ensure that no PHI nodes are left laying around with their
...
arguments dropped. This fixes bug:
test/Regression/Transforms/ADCE/2002-07-17-PHIAssertion.ll
llvm-svn: 3134
2002-07-29 23:40:46 +00:00
Chris Lattner
2511b6e296
Use a module analysis
...
llvm-svn: 3133
2002-07-29 23:02:25 +00:00
Chris Lattner
fdf6bc216f
Reduce the size of the testcase
...
llvm-svn: 3132
2002-07-29 22:46:55 +00:00
Chris Lattner
b17274ebf6
Implement a new RemoveSuccessor function
...
llvm-svn: 3131
2002-07-29 22:32:08 +00:00
Chris Lattner
153ccdcac0
Implement a new RemoveSuccessor function
...
llvm-svn: 3130
2002-07-29 22:32:06 +00:00