Chris Lattner
4dedcb2670
* 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
2002-05-06 16:12:53 +00:00
Chris Lattner
79a31b1782
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
2002-05-06 16:11:31 +00:00
Chris Lattner
11fe8dfff7
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
2002-05-06 15:10:15 +00:00
Chris Lattner
829b79dd8c
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
2002-05-06 05:51:26 +00:00
Chris Lattner
33a90b18e0
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
2002-05-06 05:43:36 +00:00
Chris Lattner
97555b59b3
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
2002-05-06 05:35:20 +00:00
Chris Lattner
c3a53f9aa8
Testcase for missed merge opportunity
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2477 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 03:11:32 +00:00
Chris Lattner
9c1291c85e
Run DCE AFTER SCCP and GCSE!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2476 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 03:04:17 +00:00
Chris Lattner
267730367f
Build CFGsimplify directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2475 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 03:03:55 +00:00
Chris Lattner
2b7d320d90
Updated documentation a _LOT_
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2474 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 03:03:22 +00:00
Chris Lattner
05dcf353fc
Remove dead code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2473 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 03:03:09 +00:00
Chris Lattner
cdac78b8a4
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
2002-05-06 03:02:02 +00:00
Chris Lattner
4c1061f58c
Implement constant propogation of shift instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2471 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 03:01:37 +00:00
Chris Lattner
cf4929fa27
Implement constant propogation of shifts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2470 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 03:00:54 +00:00
Chris Lattner
03e2acb37f
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
2002-05-06 03:00:40 +00:00
Chris Lattner
fac8a7052f
Add a range remove method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2468 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 02:59:52 +00:00
Chris Lattner
cb6d70c6e0
Implement two iterator remove method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2467 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 02:59:34 +00:00
Chris Lattner
2077ffab85
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
2002-05-06 02:37:38 +00:00
Chris Lattner
11504fd62d
Test moved to SCCP test directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2465 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-06 00:52:06 +00:00
Chris Lattner
44540ddaa0
Implement remainder
...
Fix implementation of Not
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2464 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-03 21:41:07 +00:00
Chris Lattner
bdd15ad565
Implement remainder
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2463 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-03 21:40:37 +00:00
Chris Lattner
8a2e64ce87
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
2002-05-03 20:25:40 +00:00
Chris Lattner
6a7cd2206b
Add tests for floating point remainder elimination
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2461 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-03 20:16:29 +00:00
Chris Lattner
8e122e1148
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
2002-05-03 20:14:21 +00:00
Chris Lattner
4f538507b6
This testcase is a sanity check
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2459 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-03 20:12:31 +00:00
Chris Lattner
905f311d05
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
2002-05-03 20:09:52 +00:00
Chris Lattner
b6df79a6b2
Add new testcase for general constant prop.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2457 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-03 19:58:17 +00:00
Chris Lattner
46d51f7ba8
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
2002-05-03 19:57:16 +00:00
Chris Lattner
2adcd83b89
Implement the NOT operator.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2455 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-03 19:52:30 +00:00
Chris Lattner
966112323f
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
2002-05-03 18:32:40 +00:00
Chris Lattner
2e055ed08c
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
2002-05-03 18:31:30 +00:00
Chris Lattner
9b02cc365c
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
2002-05-03 18:23:48 +00:00
Chris Lattner
8fba3a0f3a
Eliminate usage of function level constant pool
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2450 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-02 21:52:35 +00:00
Chris Lattner
978d57f6a7
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
2002-05-02 21:51:55 +00:00
Chris Lattner
904ec289c2
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
2002-05-02 21:49:50 +00:00
Chris Lattner
52a9a1def8
Oops, disable debugging code all the way. :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2447 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-02 21:47:40 +00:00
Chris Lattner
b9a6634466
* 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
2002-05-02 21:44:00 +00:00
Chris Lattner
59f0ce2a41
* 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
2002-05-02 21:18:01 +00:00
Chris Lattner
a1ab959de3
More testcases for SCCP
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2444 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-02 20:41:39 +00:00
Chris Lattner
0e9c515439
* 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
2002-05-02 20:32:51 +00:00
Chris Lattner
fecfa61009
Additional testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2442 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-02 20:19:11 +00:00
Chris Lattner
66333632a8
Run the SCCP test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2441 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-02 20:18:53 +00:00
Chris Lattner
f36c34f625
First testcase for SCCP pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2440 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-02 20:18:37 +00:00
Chris Lattner
17c48f7337
Simplify the testcase a bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2439 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-02 19:58:05 +00:00
Chris Lattner
e23a7e99b3
New testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2438 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-02 19:54:58 +00:00
Chris Lattner
f4dca807d8
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
2002-05-02 19:28:45 +00:00
Chris Lattner
9705a15b1a
* 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
2002-05-02 19:27:42 +00:00
Chris Lattner
7dd79b6a62
New testcase for assembler failure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2435 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-02 19:12:21 +00:00
Chris Lattner
b05ca44eb9
The implementation keyword is no longer neccesary
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2434 91177308-0d34-0410-b5e6-96231b3b80d8
2002-05-02 19:11:29 +00:00
Chris Lattner
0e73ce6d94
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
2002-05-02 19:11:13 +00:00