Commit Graph

2337 Commits

Author SHA1 Message Date
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