Chris Lattner [Tue, 7 May 2002 18:51:44 +0000 (18:51 +0000)]
Cleanup implementation a bit + comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2527
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 18:51:25 +0000 (18:51 +0000)]
Cleanup implementation a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2526
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 18:42:09 +0000 (18:42 +0000)]
Change script to not even look in test/ directory, significantly speeding it up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2525
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 18:39:52 +0000 (18:39 +0000)]
Oops, somehow lost a slash. Fixed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2524
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 18:36:35 +0000 (18:36 +0000)]
Updates to move some header files out of include/llvm/Transforms into
the Scalar and Utils subdirectories
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2523
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 18:34:57 +0000 (18:34 +0000)]
Update header after moving file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2522
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 18:20:10 +0000 (18:20 +0000)]
Remove long dead file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2521
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 18:18:26 +0000 (18:18 +0000)]
Straighten out makefiles after moving code to new Transform Utils library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2520
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 18:18:00 +0000 (18:18 +0000)]
Factor code out to the Transform Utils library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2519
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 18:12:18 +0000 (18:12 +0000)]
Reduce dependance on TransformInternals.h, instead using the TransformUtils library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2518
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 18:11:30 +0000 (18:11 +0000)]
Add #include no longer included by llvm/Transforms/Scalar/ConstantProp.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2517
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 18:10:55 +0000 (18:10 +0000)]
Factor code out to the TransformUtils library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2516
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 18:09:15 +0000 (18:09 +0000)]
Factor code out of TransformInternals into the Transform Utils library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2515
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 18:08:50 +0000 (18:08 +0000)]
Build Transforms Utils library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2514
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 18:07:59 +0000 (18:07 +0000)]
Add code pulled out of TransformInternals.cpp, ConstProp.cpp, and DCE.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2513
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 04:29:32 +0000 (04:29 +0000)]
* Convert InstWorkList to vector instead of set, because on big programs it
is empirically faster by a noticable margin, even though duplicates can
happen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2511
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 04:24:11 +0000 (04:24 +0000)]
* Remove all cfg simplification stuff for a new cfg simplify pass (todo)
* Convert to worklist instead of iterative algorithm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2510
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 22:08:29 +0000 (22:08 +0000)]
Finish up the updates to the language reference
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2509
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 19:32:07 +0000 (19:32 +0000)]
Mark analyses that only depend on the CFG of a function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2507
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 19:31:52 +0000 (19:31 +0000)]
Make functions that preserve the CFG not invalidate analyses that only depend
on the CFG of a function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2506
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 19:31:16 +0000 (19:31 +0000)]
Add support for passes to announce that they only depend on the CFG of a
function. This is crude but effective
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2505
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 18:54:59 +0000 (18:54 +0000)]
Only do masking for unsigned values!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2504
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 18:54:12 +0000 (18:54 +0000)]
GCSE is faster than SCCP, and it makes SCCP's job easier, so run it first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2503
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 18:21:31 +0000 (18:21 +0000)]
* Eliminate dead code that should have been removed in last revision
* Convert main constant propogation pass to be worklist driven instead of
iterative.
* -constprop pass no longer "constant propogates" terminator instructions
- CFG is now preserved!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2502
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 18:06:38 +0000 (18:06 +0000)]
Handle X = phi Y --> X = Y
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2501
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 17:59:23 +0000 (17:59 +0000)]
Make the testcase more interesting so that DCE does not eliminate it.
Use DIE instead of DCE anyway
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2500
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 17:54:50 +0000 (17:54 +0000)]
Move a bunch of code to a .cpp file, don't #include Instruction.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2499
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 17:54:27 +0000 (17:54 +0000)]
Move code out of header file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2498
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 17:54:10 +0000 (17:54 +0000)]
* Use simplified interface to constant propogation stuff.
* Remove dead PHI case (which could not work due to getNumOperands rather than
getNumIncomingValues. This really belongs in InstCombine, anyway so we'll
move it there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2497
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 17:53:10 +0000 (17:53 +0000)]
Add #include removed from ConstantHandling.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2496
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 17:43:38 +0000 (17:43 +0000)]
New testcase for PHI folding
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2495
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 17:27:57 +0000 (17:27 +0000)]
Clean up ADCE by removing extraneous wrapper class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2494
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 17:03:21 +0000 (17:03 +0000)]
Combine not (not X) -> X
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2493
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 17:00:47 +0000 (17:00 +0000)]
New testcase to make sure not instructions get combined
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2492
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 16:52:15 +0000 (16:52 +0000)]
Instruction Combination can create a ton of trivially dead instructions. Remove
them with an DIE pass before more expensive optimizations are run.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2491
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 16:49:18 +0000 (16:49 +0000)]
Support more cases...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2490
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 16:44:53 +0000 (16:44 +0000)]
More tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2489
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 16:19:16 +0000 (16:19 +0000)]
Add testcase for -(-A)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2488
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 16:15:49 +0000 (16:15 +0000)]
Change usage of isPointerType to use isa
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2487
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 16:15:30 +0000 (16:15 +0000)]
Replace all usages of Type::isPointerType with isa<PointerType>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2486
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 16:14:39 +0000 (16:14 +0000)]
Implement getPrimitiveSize()
don't use isPointerType()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2485
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 16:14:14 +0000 (16:14 +0000)]
Add many more instruction combination simplifications
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2484
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 16:12:53 +0000 (16:12 +0000)]
* Add getPrimitiveSize method
* Remove isPointerType, isMethodType, etc... methods. Use isa<> instead
* Added specialization of isa for pointer types so that DerivedTypes.h doesn't
have to be #included to use isa<PointerType>(..)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2483
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 16:11:31 +0000 (16:11 +0000)]
Fix testcase, the 'shift out all bits' doesn't apply to signed types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2482
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 15:10:15 +0000 (15:10 +0000)]
Void and Label values cannot be acted on directly so they have zero size
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2481
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 05:51:26 +0000 (05:51 +0000)]
More testcases I don't want to forget about
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2480
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 05:43:36 +0000 (05:43 +0000)]
New testcases so I don't forget about these algebraic simplifications
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2479
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 05:35:20 +0000 (05:35 +0000)]
New testcase so I don't forget about this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2478
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 03:11:32 +0000 (03:11 +0000)]
Testcase for missed merge opportunity
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2477
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 03:04:17 +0000 (03:04 +0000)]
Run DCE AFTER SCCP and GCSE!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2476
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 03:03:55 +0000 (03:03 +0000)]
Build CFGsimplify directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2475
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 03:03:22 +0000 (03:03 +0000)]
Updated documentation a _LOT_
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2474
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 03:03:09 +0000 (03:03 +0000)]
Remove dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2473
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 03:02:02 +0000 (03:02 +0000)]
Merge blocks like this:
void "test3"(bool %T) {
br bool %T, label %BB1, label %BB1
BB1:
ret void
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2472
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 03:01:37 +0000 (03:01 +0000)]
Implement constant propogation of shift instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2471
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 03:00:54 +0000 (03:00 +0000)]
Implement constant propogation of shifts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2470
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 03:00:40 +0000 (03:00 +0000)]
Print functions with curly braces instead of begin/end
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2469
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 02:59:52 +0000 (02:59 +0000)]
Add a range remove method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2468
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 02:59:34 +0000 (02:59 +0000)]
Implement two iterator remove method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2467
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 02:37:38 +0000 (02:37 +0000)]
Initial testcases for CFG simplify (which is part of DCE for now)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2466
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 May 2002 00:52:06 +0000 (00:52 +0000)]
Test moved to SCCP test directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2465
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 May 2002 21:41:07 +0000 (21:41 +0000)]
Implement remainder
Fix implementation of Not
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2464
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 May 2002 21:40:37 +0000 (21:40 +0000)]
Implement remainder
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2463
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 May 2002 20:25:40 +0000 (20:25 +0000)]
New testcase for bugs in the constant propogator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2462
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 May 2002 20:16:29 +0000 (20:16 +0000)]
Add tests for floating point remainder elimination
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2461
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 May 2002 20:14:21 +0000 (20:14 +0000)]
New testcase to see if constant propogation of remainder is implemented
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2460
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 May 2002 20:12:31 +0000 (20:12 +0000)]
This testcase is a sanity check
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2459
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 May 2002 20:09:52 +0000 (20:09 +0000)]
Fix bug: test/Regression/Transforms/SCCP/2002-05-03-NotOperator.ll
by using the ~ operator instead of !
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2458
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 May 2002 19:58:17 +0000 (19:58 +0000)]
Add new testcase for general constant prop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2457
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 May 2002 19:57:16 +0000 (19:57 +0000)]
Add const prop pass to eliminate dead branches
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2456
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 May 2002 19:52:30 +0000 (19:52 +0000)]
Implement the NOT operator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2455
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 May 2002 18:32:40 +0000 (18:32 +0000)]
We currently don't allow unresolved opaque types!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2453
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 May 2002 18:31:30 +0000 (18:31 +0000)]
Add -d switch to test AsmWriter as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2452
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 3 May 2002 18:23:48 +0000 (18:23 +0000)]
Allow open/closing curly braces instead of begin/end to define the body of a function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2451
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 21:52:35 +0000 (21:52 +0000)]
Eliminate usage of function level constant pool
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2450
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 21:51:55 +0000 (21:51 +0000)]
Use unified diffs with gnu diff instead of old diffs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2449
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 21:49:50 +0000 (21:49 +0000)]
Ok, really it only takes me 3 times to get this right!
Now use #if 0 instead of #ifdef 0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2448
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 21:47:40 +0000 (21:47 +0000)]
Oops, disable debugging code all the way. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2447
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 21:44:00 +0000 (21:44 +0000)]
* 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2446
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 21:18:01 +0000 (21:18 +0000)]
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2445
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 20:41:39 +0000 (20:41 +0000)]
More testcases for SCCP
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2444
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 20:32:51 +0000 (20:32 +0000)]
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2443
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 20:19:11 +0000 (20:19 +0000)]
Additional testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2442
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 20:18:53 +0000 (20:18 +0000)]
Run the SCCP test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2441
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 20:18:37 +0000 (20:18 +0000)]
First testcase for SCCP pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2440
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 19:58:05 +0000 (19:58 +0000)]
Simplify the testcase a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2439
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 19:54:58 +0000 (19:54 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2438
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 19:28:45 +0000 (19:28 +0000)]
Implement cast operations on booleans to allow casting bools to ints, f.e.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2437
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 19:27:42 +0000 (19:27 +0000)]
* 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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2436
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 19:12:21 +0000 (19:12 +0000)]
New testcase for assembler failure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2435
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 19:11:29 +0000 (19:11 +0000)]
The implementation keyword is no longer neccesary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2434
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 19:11:13 +0000 (19:11 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2433
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 17:38:55 +0000 (17:38 +0000)]
ExprTypeConvert will already do this transformation, no need to specialize
it here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2431
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 17:38:14 +0000 (17:38 +0000)]
Be a little more efficient, do not generate loads and stores with indices in them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2430
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 17:37:34 +0000 (17:37 +0000)]
Fix bug: test/Regression/Transforms/LevelRaise/2002-05-02-BadCastElimination.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2429
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 17:06:02 +0000 (17:06 +0000)]
* Add ability to eliminate a bunch of different cascading cast variations
* Allow elimination of getelementptr X, uint 0 (which is a noop)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2428
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 17:01:39 +0000 (17:01 +0000)]
Intitial checkin of cast tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2427
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 16:16:39 +0000 (16:16 +0000)]
New testcase for bug found by Vikram
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2426
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 May 2002 15:24:40 +0000 (15:24 +0000)]
Check another case
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2424
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 May 2002 15:38:23 +0000 (15:38 +0000)]
Fixed bug: test/Regression/Transforms/Mem2Reg/2002-05-01-ShouldNotPromoteThisAlloca.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2423
91177308-0d34-0410-b5e6-
96231b3b80d8