Chris Lattner
940daedc22
Implement constant propogation of shift instructions
...
llvm-svn: 2471
2002-05-06 03:01:37 +00:00
Chris Lattner
6670d86b0b
Implement constant propogation of shifts
...
llvm-svn: 2470
2002-05-06 03:00:54 +00:00
Chris Lattner
b2f02e5952
Print functions with curly braces instead of begin/end
...
llvm-svn: 2469
2002-05-06 03:00:40 +00:00
Chris Lattner
94121c9409
Add a range remove method
...
llvm-svn: 2468
2002-05-06 02:59:52 +00:00
Chris Lattner
4ba780d26e
Implement two iterator remove method
...
llvm-svn: 2467
2002-05-06 02:59:34 +00:00
Chris Lattner
dac95a012b
Initial testcases for CFG simplify (which is part of DCE for now)
...
llvm-svn: 2466
2002-05-06 02:37:38 +00:00
Chris Lattner
1890ef5cd7
Test moved to SCCP test directory
...
llvm-svn: 2465
2002-05-06 00:52:06 +00:00
Chris Lattner
0a144ad555
Implement remainder
...
Fix implementation of Not
llvm-svn: 2464
2002-05-03 21:41:07 +00:00
Chris Lattner
fcc96e582f
Implement remainder
...
llvm-svn: 2463
2002-05-03 21:40:37 +00:00
Chris Lattner
37c4d69860
New testcase for bugs in the constant propogator
...
llvm-svn: 2462
2002-05-03 20:25:40 +00:00
Chris Lattner
7ad7bf0071
Add tests for floating point remainder elimination
...
llvm-svn: 2461
2002-05-03 20:16:29 +00:00
Chris Lattner
f91d56355f
New testcase to see if constant propogation of remainder is implemented
...
llvm-svn: 2460
2002-05-03 20:14:21 +00:00
Chris Lattner
177dac4d92
This testcase is a sanity check
...
llvm-svn: 2459
2002-05-03 20:12:31 +00:00
Chris Lattner
62af86eca8
Fix bug: test/Regression/Transforms/SCCP/2002-05-03-NotOperator.ll
...
by using the ~ operator instead of !
llvm-svn: 2458
2002-05-03 20:09:52 +00:00
Chris Lattner
40acfe3554
Add new testcase for general constant prop.
...
llvm-svn: 2457
2002-05-03 19:58:17 +00:00
Chris Lattner
8a1313ba26
Add const prop pass to eliminate dead branches
...
llvm-svn: 2456
2002-05-03 19:57:16 +00:00
Chris Lattner
79baf91f17
Implement the NOT operator.
...
llvm-svn: 2455
2002-05-03 19:52:30 +00:00
Chris Lattner
eb164bc1fb
We currently don't allow unresolved opaque types!
...
llvm-svn: 2453
2002-05-03 18:32:40 +00:00
Chris Lattner
4f9a452284
Add -d switch to test AsmWriter as well
...
llvm-svn: 2452
2002-05-03 18:31:30 +00:00
Chris Lattner
1e1a9b4166
Allow open/closing curly braces instead of begin/end to define the body of a function
...
llvm-svn: 2451
2002-05-03 18:23:48 +00:00
Chris Lattner
732c209e83
Eliminate usage of function level constant pool
...
llvm-svn: 2450
2002-05-02 21:52:35 +00:00
Chris Lattner
b01e5db513
Use unified diffs with gnu diff instead of old diffs
...
llvm-svn: 2449
2002-05-02 21:51:55 +00:00
Chris Lattner
7b80b53ab9
Ok, really it only takes me 3 times to get this right!
...
Now use #if 0 instead of #ifdef 0
llvm-svn: 2448
2002-05-02 21:49:50 +00:00
Chris Lattner
dd390e1736
Oops, disable debugging code all the way. :)
...
llvm-svn: 2447
2002-05-02 21:47:40 +00:00
Chris Lattner
fe6c9eeae3
* Finish the implementation of isEdgeFeasible this fixes bug:
...
test/Regression/Transforms/SCCP/2002-05-02-EdgeFailure.ll
* SCCP now preserves the CFG: It leaves conditional branches the way they
are in the program, not simplifying them. A seperate pass should eliminate
the potentially dead basic blocks and edges in the CFG.
llvm-svn: 2446
2002-05-02 21:44:00 +00:00
Chris Lattner
13b52e71d8
* Enable SCCP debugging to be turned on with a simple change of #define
...
* Change worklist to a set so that duplicates cannot happen
* Add support for the invoke instruction
* Avoid marking store and free instructions as overdefined, since they
cannot produce a value anyway.
* Inline the OperandChangedState implementation
* Add isEdgeFeasible in preparation to fix a bug. Right now it behaves
exactly as before.
* Remove obsolete comment about constant pools
llvm-svn: 2445
2002-05-02 21:18:01 +00:00
Chris Lattner
830b5290d0
More testcases for SCCP
...
llvm-svn: 2444
2002-05-02 20:41:39 +00:00
Chris Lattner
5364d1a74a
* Simplify the code by not bothering to name the folded constant
...
* Do not skip the instruction immediately after a folded instruction. This
was causing the testcase failure:
test/Regression/Transforms/SCCP/2002-05-02-MissSecondInst.ll
llvm-svn: 2443
2002-05-02 20:32:51 +00:00
Chris Lattner
39e976d83a
Additional testcase
...
llvm-svn: 2442
2002-05-02 20:19:11 +00:00
Chris Lattner
af5cdf3c1a
Run the SCCP test
...
llvm-svn: 2441
2002-05-02 20:18:53 +00:00
Chris Lattner
f124e8ff35
First testcase for SCCP pass
...
llvm-svn: 2440
2002-05-02 20:18:37 +00:00
Chris Lattner
3f6b8335d5
Simplify the testcase a bit
...
llvm-svn: 2439
2002-05-02 19:58:05 +00:00
Chris Lattner
ed1228aedf
New testcase
...
llvm-svn: 2438
2002-05-02 19:54:58 +00:00
Chris Lattner
45243fa9b7
Implement cast operations on booleans to allow casting bools to ints, f.e.
...
llvm-svn: 2437
2002-05-02 19:28:45 +00:00
Chris Lattner
18489fb61f
* Fix a bug (test/Regression/Assembler/2002-05-02-InvalidForwardRef.ll)
...
introduced in the 1.66 revision of this file.
* Convert a hard coded constant to a symbolic value.
llvm-svn: 2436
2002-05-02 19:27:42 +00:00
Chris Lattner
624fe0b0ba
New testcase for assembler failure
...
llvm-svn: 2435
2002-05-02 19:12:21 +00:00
Chris Lattner
293e186645
The implementation keyword is no longer neccesary
...
llvm-svn: 2434
2002-05-02 19:11:29 +00:00
Chris Lattner
7b804d6195
The "implementation" is now allowed but not required by the parser. All type
...
definitions must still occur before function bodies, but the wierd keyword is
no longer neccesary.
llvm-svn: 2433
2002-05-02 19:11:13 +00:00
Chris Lattner
05cd52199d
ExprTypeConvert will already do this transformation, no need to specialize
...
it here.
llvm-svn: 2431
2002-05-02 17:38:55 +00:00
Chris Lattner
39db871f86
Be a little more efficient, do not generate loads and stores with indices in them.
...
llvm-svn: 2430
2002-05-02 17:38:14 +00:00
Chris Lattner
94dcd411a5
Fix bug: test/Regression/Transforms/LevelRaise/2002-05-02-BadCastElimination.ll
...
llvm-svn: 2429
2002-05-02 17:37:34 +00:00
Chris Lattner
48a44f7e23
* Add ability to eliminate a bunch of different cascading cast variations
...
* Allow elimination of getelementptr X, uint 0 (which is a noop)
llvm-svn: 2428
2002-05-02 17:06:02 +00:00
Chris Lattner
90f608c002
Intitial checkin of cast tests
...
llvm-svn: 2427
2002-05-02 17:01:39 +00:00
Chris Lattner
dff664314a
New testcase for bug found by Vikram
...
llvm-svn: 2426
2002-05-02 16:16:39 +00:00
Chris Lattner
254e086e65
Check another case
...
llvm-svn: 2424
2002-05-02 15:24:40 +00:00
Chris Lattner
b3e81510d7
Fixed bug: test/Regression/Transforms/Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.ll
...
llvm-svn: 2423
2002-05-01 15:38:23 +00:00
Chris Lattner
65d4dcb6ca
New bug testcase
...
llvm-svn: 2422
2002-05-01 15:33:12 +00:00
Chris Lattner
10120bdff0
Remove unneccesary pass.
...
llvm-svn: 2421
2002-04-30 20:53:05 +00:00
Chris Lattner
f328577307
Remove unneccesary pass
...
llvm-svn: 2420
2002-04-30 20:52:49 +00:00
Chris Lattner
12fc22300e
New testcase
...
llvm-svn: 2419
2002-04-30 19:50:47 +00:00