1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
Commit Graph

2383 Commits

Author SHA1 Message Date
Chris Lattner
2d5135d9bd Add a range remove method
llvm-svn: 2468
2002-05-06 02:59:52 +00:00
Chris Lattner
1d4e297a65 Implement two iterator remove method
llvm-svn: 2467
2002-05-06 02:59:34 +00:00
Chris Lattner
3b5ee47ef6 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
4362f06ccf Test moved to SCCP test directory
llvm-svn: 2465
2002-05-06 00:52:06 +00:00
Chris Lattner
7c3c3eefcc Implement remainder
Fix implementation of Not

llvm-svn: 2464
2002-05-03 21:41:07 +00:00
Chris Lattner
a0965456d0 Implement remainder
llvm-svn: 2463
2002-05-03 21:40:37 +00:00
Chris Lattner
578cb6582b New testcase for bugs in the constant propogator
llvm-svn: 2462
2002-05-03 20:25:40 +00:00
Chris Lattner
bc361e36af Add tests for floating point remainder elimination
llvm-svn: 2461
2002-05-03 20:16:29 +00:00
Chris Lattner
36afb8ee65 New testcase to see if constant propogation of remainder is implemented
llvm-svn: 2460
2002-05-03 20:14:21 +00:00
Chris Lattner
e7533432aa This testcase is a sanity check
llvm-svn: 2459
2002-05-03 20:12:31 +00:00
Chris Lattner
0c91866478 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
6635b10155 Add new testcase for general constant prop.
llvm-svn: 2457
2002-05-03 19:58:17 +00:00
Chris Lattner
3acc1de80e Add const prop pass to eliminate dead branches
llvm-svn: 2456
2002-05-03 19:57:16 +00:00
Chris Lattner
beb2a36b9e Implement the NOT operator.
llvm-svn: 2455
2002-05-03 19:52:30 +00:00
Chris Lattner
ecd7d90e2c We currently don't allow unresolved opaque types!
llvm-svn: 2453
2002-05-03 18:32:40 +00:00
Chris Lattner
09a356bd6a Add -d switch to test AsmWriter as well
llvm-svn: 2452
2002-05-03 18:31:30 +00:00
Chris Lattner
5369a645e6 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
0faae7983c Eliminate usage of function level constant pool
llvm-svn: 2450
2002-05-02 21:52:35 +00:00
Chris Lattner
432dc486c2 Use unified diffs with gnu diff instead of old diffs
llvm-svn: 2449
2002-05-02 21:51:55 +00:00
Chris Lattner
9606fd4830 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
de442f70ac Oops, disable debugging code all the way. :)
llvm-svn: 2447
2002-05-02 21:47:40 +00:00
Chris Lattner
7d4f3ed1f2 * 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
b30088a50d * 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
4ffce19c71 More testcases for SCCP
llvm-svn: 2444
2002-05-02 20:41:39 +00:00
Chris Lattner
28a8acc476 * 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
4d656517dc Additional testcase
llvm-svn: 2442
2002-05-02 20:19:11 +00:00
Chris Lattner
25a2a2b61c Run the SCCP test
llvm-svn: 2441
2002-05-02 20:18:53 +00:00
Chris Lattner
d76f5b3ce6 First testcase for SCCP pass
llvm-svn: 2440
2002-05-02 20:18:37 +00:00
Chris Lattner
295d802096 Simplify the testcase a bit
llvm-svn: 2439
2002-05-02 19:58:05 +00:00
Chris Lattner
55a557416c New testcase
llvm-svn: 2438
2002-05-02 19:54:58 +00:00
Chris Lattner
dff0195064 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
8f309d920f * 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
c0d1010e65 New testcase for assembler failure
llvm-svn: 2435
2002-05-02 19:12:21 +00:00
Chris Lattner
bbd002a9ca The implementation keyword is no longer neccesary
llvm-svn: 2434
2002-05-02 19:11:29 +00:00
Chris Lattner
7af6cac869 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
6212dd5c08 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
2c44e5bca3 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
66f5b12141 Fix bug: test/Regression/Transforms/LevelRaise/2002-05-02-BadCastElimination.ll
llvm-svn: 2429
2002-05-02 17:37:34 +00:00
Chris Lattner
b7df910c1a * 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
7222c2f810 Intitial checkin of cast tests
llvm-svn: 2427
2002-05-02 17:01:39 +00:00
Chris Lattner
6c6eb4e034 New testcase for bug found by Vikram
llvm-svn: 2426
2002-05-02 16:16:39 +00:00
Chris Lattner
87b97fc7c6 Check another case
llvm-svn: 2424
2002-05-02 15:24:40 +00:00
Chris Lattner
8a6104c3cb Fixed bug: test/Regression/Transforms/Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.ll
llvm-svn: 2423
2002-05-01 15:38:23 +00:00
Chris Lattner
2d267a0074 New bug testcase
llvm-svn: 2422
2002-05-01 15:33:12 +00:00
Chris Lattner
453a66845a Remove unneccesary pass.
llvm-svn: 2421
2002-04-30 20:53:05 +00:00
Chris Lattner
5879b0928b Remove unneccesary pass
llvm-svn: 2420
2002-04-30 20:52:49 +00:00
Chris Lattner
f20e518434 New testcase
llvm-svn: 2419
2002-04-30 19:50:47 +00:00
Chris Lattner
8eb37c77d6 Fix problem where subpasses would invalidate all analyses outstanding
llvm-svn: 2418
2002-04-30 18:50:17 +00:00
Chris Lattner
a6cb49c533 Add folding rules for mul X, 0 and mul X, 2
llvm-svn: 2417
2002-04-29 22:24:47 +00:00
Chris Lattner
4c8731d941 New test cases for mul folding
llvm-svn: 2416
2002-04-29 22:24:24 +00:00