Chris Lattner [Thu, 9 May 2002 15:59:50 +0000 (15:59 +0000)]
Emit:
l3_reg109 = l81_this->field0;
Instead of:
l3_reg109 = l81_this[0u].field0;
where possible
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2579
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 May 2002 15:49:41 +0000 (15:49 +0000)]
* Print structures types correctly
* Clean up generated code to not emit basic block labels and goto
instructions if they are unneccesary (for example, fall throughs)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2578
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 May 2002 15:18:52 +0000 (15:18 +0000)]
* Continue cleanup of type printing code
* Print a newline after a malloc instruction
* Convert unprintable characters to x_ instead of _x so that we don't
generate identifiers that start with underscores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2577
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 May 2002 14:40:11 +0000 (14:40 +0000)]
Gut the type printing code so there is only one copy of it instead of 3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2576
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 May 2002 05:16:40 +0000 (05:16 +0000)]
* Remove dead "constant printing" code
* Mangle names with only a prefix so that they are easier on the eyes.
* Put spaces around binary operators with low precedence to make them easier to read
* Don't prefix function names with &, although it's correct, it's unnecesary and
easier to read without it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2575
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 May 2002 04:39:00 +0000 (04:39 +0000)]
Remove gross "Operand" instance variable
Remove lots of unneccesary arguments to methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2574
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 May 2002 04:21:21 +0000 (04:21 +0000)]
Simplify and clean up function calls.
Now indirect function calls work, except that function pointer types are not correct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2573
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 May 2002 03:56:52 +0000 (03:56 +0000)]
* Remove dead function
* Print C strings correctly
* Expand C escape sequences nicely (ie \n \t, etc get generated instead of hex escapes)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2572
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 May 2002 03:50:42 +0000 (03:50 +0000)]
Make Getelementptr, load & store all work the right way.
Handle global variables correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2571
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 May 2002 03:28:37 +0000 (03:28 +0000)]
Many random fixes:
* Use binary operator logic for shifts instead of cloning code
* Unary not is '~' not '!'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2570
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 May 2002 03:12:34 +0000 (03:12 +0000)]
Incorporate and purge function before and after printing them so unnamed values
have some hope of working right.
Function calls do not try to emit an lvalue if they return void.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2569
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 May 2002 03:06:06 +0000 (03:06 +0000)]
Factor out the code to print a value to ONE place.
It turns out that unnamed values DO NOT work at all, that's next on the list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2568
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 May 2002 02:28:59 +0000 (02:28 +0000)]
First wave of cleanups, looks like the first of many.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2567
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 May 2002 01:29:19 +0000 (01:29 +0000)]
Add ability to transform (x - (y - z)) into (x + (z - y))
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2566
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 May 2002 01:28:30 +0000 (01:28 +0000)]
Fix broken testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2565
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 9 May 2002 01:25:55 +0000 (01:25 +0000)]
Clean up dis so that it does not print out code in various traversal orders.
Now it only output llvm or C code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2564
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 May 2002 23:15:01 +0000 (23:15 +0000)]
Add two new patterns that instcombine should or does handle
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2563
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 May 2002 23:11:08 +0000 (23:11 +0000)]
Print out post dominance data structures more nicely
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2562
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 May 2002 22:46:53 +0000 (22:46 +0000)]
* Combine: A-(-B) -> A + B
* Bugfix: A + -B and -A + B
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2561
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 May 2002 22:20:55 +0000 (22:20 +0000)]
New testcase for LICM reassociation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2560
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 May 2002 22:19:27 +0000 (22:19 +0000)]
Initial checkin of expression reassociation pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2559
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 May 2002 22:19:01 +0000 (22:19 +0000)]
Add expr reassociation pass prototype
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2558
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 May 2002 22:18:34 +0000 (22:18 +0000)]
Expose expression reassociation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2557
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 May 2002 22:18:20 +0000 (22:18 +0000)]
Run expression reassociation as part of gccas
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2556
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 May 2002 21:34:22 +0000 (21:34 +0000)]
Add some simple test of reassociation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2555
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 May 2002 21:34:11 +0000 (21:34 +0000)]
run reassociate tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2554
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 May 2002 19:49:50 +0000 (19:49 +0000)]
Verify that function call arguments match the function signature
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2553
91177308-0d34-0410-b5e6-
96231b3b80d8
Sumant Kowshik [Wed, 8 May 2002 18:09:58 +0000 (18:09 +0000)]
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2552
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 22:15:01 +0000 (22:15 +0000)]
Spell aggressive correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2551
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 22:14:45 +0000 (22:14 +0000)]
Give the unified exit node a name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2550
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 22:12:52 +0000 (22:12 +0000)]
Spell aggressive right
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2549
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 22:12:36 +0000 (22:12 +0000)]
Fix misspelling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2548
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 22:11:39 +0000 (22:11 +0000)]
Fix bug: test/Regression/Transforms/ADCE/2002-01-31-UseStuckAround.ll
Cleanup code a lot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2547
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 21:05:36 +0000 (21:05 +0000)]
New testcase for adce
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2546
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 20:52:15 +0000 (20:52 +0000)]
Build the ADCE tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2545
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 20:51:59 +0000 (20:51 +0000)]
ADCE tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2544
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 20:44:59 +0000 (20:44 +0000)]
Implement constant propogation of PHI instructions like this:
X = phi(0, 0, 0)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2543
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 20:39:18 +0000 (20:39 +0000)]
Oops, forgot to check in makefile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2542
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 20:32:19 +0000 (20:32 +0000)]
Add check that phi nodes get constant propogated away
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2541
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 20:25:44 +0000 (20:25 +0000)]
constprop doesn't delete dead instructions, it just makes them dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2540
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 20:22:12 +0000 (20:22 +0000)]
Add testcase for not expressions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2539
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 20:03:27 +0000 (20:03 +0000)]
Merge all include/llvm/Transforms/Scalar/* into a single Scalar.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2538
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 20:03:00 +0000 (20:03 +0000)]
Merge all individual .h files into a single Scalar.h file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2537
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 20:02:44 +0000 (20:02 +0000)]
This doesn't use DCE!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2536
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 20:00:33 +0000 (20:00 +0000)]
Extend TargetData::getIndexedOffset to support arrays and pointers!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2535
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 19:38:42 +0000 (19:38 +0000)]
These files are supersumed by include/llvm/Transforms/Scalar.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2534
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 19:37:18 +0000 (19:37 +0000)]
New header file to replace all of the Scalar/*.h files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2533
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 19:27:33 +0000 (19:27 +0000)]
Fix makefiles after shuffling passes around the libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2532
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 19:18:48 +0000 (19:18 +0000)]
Move UnifyFunctionExitNodes to Utils library: final resting place this time
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2531
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 19:04:39 +0000 (19:04 +0000)]
fix comments and documentation in file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2530
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 19:02:48 +0000 (19:02 +0000)]
Split ChangeAllocations.cpp into Raise & LowerAllocations.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2529
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 May 2002 18:52:48 +0000 (18:52 +0000)]
Checkin headers for Utils library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2528
91177308-0d34-0410-b5e6-
96231b3b80d8
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