Commit Graph

3046 Commits

Author SHA1 Message Date
Chris Lattner
28ba1aad99 Minor change, no functionality diff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5731 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-10 19:20:30 +00:00
Chris Lattner
ea34005404 Fix bug: (x << 100) wasn't folded to 0, but (x >> 100) was (when x is unsigned)
Implement new shift optimizations for shifting the result of a shift.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5729 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-10 19:16:08 +00:00
Chris Lattner
cb40a3749a Implement: (A|B)^B == A & (~B)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5728 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-10 18:24:17 +00:00
Chris Lattner
3a43837d85 Fix bug: SimplifyCFG/2003-03-07-DominateProblem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5722 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-07 18:13:41 +00:00
Chris Lattner
38d8773650 Clean up cruft
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5720 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-06 23:23:32 +00:00
Chris Lattner
27accf7692 Remove #include
Extend getNullValue to work with struct and array types


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5718 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-06 21:02:18 +00:00
Chris Lattner
036b8aa030 Infrastructure for more compact bytecode files and REAL support for versioning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5716 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-06 17:55:45 +00:00
Chris Lattner
6e5a0e4e89 s/Method/Function in variable and method names
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5715 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-06 17:18:14 +00:00
Chris Lattner
2a7b6bab7a Continue simplifying error handling, s/method/function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5714 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-06 17:15:19 +00:00
Chris Lattner
b6c46959fd Cleanup error handling constructs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5713 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-06 17:03:28 +00:00
Chris Lattner
09abe6aba3 Pull common code out
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5712 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-06 16:50:32 +00:00
Chris Lattner
3e76157d5a Remove unneccesary forward decl
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5710 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-06 16:37:29 +00:00
Chris Lattner
0d75d8d73e Use the std namespace explicitly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5708 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-06 16:32:25 +00:00
Chris Lattner
decd0812ec Implement %test7 in InstCombine/getelementptr.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5704 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-05 22:33:14 +00:00
Chris Lattner
46a5f1f6e4 Implement CFGSimplify/PhiBlockMerge*.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5702 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-05 21:36:33 +00:00
Chris Lattner
05ddff9b98 Simplify some of the PHI node interfaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5700 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-05 21:15:12 +00:00
Chris Lattner
e2ca540e7c Implement testcase CFGSimplify/EqualPHIEdgeBlockMerge.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5699 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-05 21:01:52 +00:00
Chris Lattner
506b4e4368 Fix bug: BasicAA/2003-03-04-GEPCrash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5695 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-04 16:40:17 +00:00
Chris Lattner
0252e49f6d Convert LICM over to use AliasSetTracker. Besides being nicer, this automatically
allows LICM to use access sizes to help alias analysis be more precise.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5693 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 23:32:45 +00:00
Chris Lattner
adf99700a7 Fix bug: Assembler/2003-03-03-DuplicateConstant.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5692 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 23:28:55 +00:00
Chris Lattner
319d05bff4 ADd two new 'add' methods
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5691 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 23:28:05 +00:00
Chris Lattner
dde601d0eb Eliminate tons of bogus warnings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5686 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 19:57:46 +00:00
Chris Lattner
fb743a937f Change the mem2reg interface to accept a TargetData argument
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5685 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 17:25:18 +00:00
Chris Lattner
088b639e3a Don't apply type information to load instructions if it will cause collapsing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5684 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 17:13:31 +00:00
Chris Lattner
ff2d556bab Fix a problem with negative indexes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5681 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-02 23:43:34 +00:00
Chris Lattner
caadc93f7b Fix bug: LICM/2003-02-28-PromoteDifferentType.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5675 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-28 19:21:40 +00:00
Chris Lattner
bb05f1ee93 Add dump method for Loops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5671 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-28 16:54:45 +00:00
Chris Lattner
6315938d68 Fix bug I introduced yesterday :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5669 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-28 16:54:17 +00:00
Chris Lattner
74cd04ea01 Fix bug: LICM/2003-02-27-PreheaderExitNodeUpdate.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5667 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-28 03:07:54 +00:00
Chris Lattner
9f879cfb0a Fix bug: 2003-02-27-PreheaderExitNodeUpdate.ll by updating exit node info
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5664 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 22:48:57 +00:00
Chris Lattner
a94837a28f Simplify a bit by using a new member function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5662 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 22:48:08 +00:00
Chris Lattner
f2e2925f95 Change behavior of changeExitBlock function to replace all instances of exit block
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5661 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 22:37:44 +00:00
Chris Lattner
7e7ad49c23 Add a new assertion to check that stuff is happening right
Ironically the exit block modification code wasn't updating the exit block
information itself.  Fix this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5659 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 22:31:07 +00:00
Chris Lattner
8601a9bf54 Fix bug: 2003-02-27-StoreSinkPHIs.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5658 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 21:59:36 +00:00
Chris Lattner
5a8a2912d5 Fix bug: LICM/2003-02-27-PreheaderProblem.ll
There may be a single outside predecessor and
still need a new loop-preheader if the predecessor has multiple
successors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5656 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 21:51:38 +00:00
Chris Lattner
69269ac203 * Don't forget to update Loop information!
* Remove bogus assertion: there may be a single outside predecessor and
    still need a new loop-preheader if the predecessor has multiple
    successors.  See bug: LICM/2003-02-27-PreheaderProblem.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5655 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 21:50:19 +00:00
Chris Lattner
4e2fd7574a Replace assertion with a handler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5653 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 20:55:48 +00:00
Chris Lattner
dbf3cd7952 * Significant changes to the preheader insertion pass:
- Now we perform loop exit-block splitting to ensure exit blocks are
     always dominated by the loop header.
   - We now preserve dominance frontier information
   - This fixes bug: LICM/2003-02-26-LoopExitNotDominated.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5652 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 20:27:08 +00:00
Chris Lattner
5f82b8a1ad - LoopInfo now calculates and tracks loop exit blocks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5650 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 00:38:34 +00:00
Chris Lattner
31a9d185bf Make the aliassettracker much more precise by actually tracking size
information for various accesses.  What a concept.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5647 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 22:11:00 +00:00
Chris Lattner
c330ee6f02 Fix bug: BasicAA/2003-02-26-AccessSizeTest.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5645 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 21:57:23 +00:00
Chris Lattner
a36635aba7 Fix several bugs in basic-aa
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5643 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 21:28:49 +00:00
Chris Lattner
ddd5b417c6 Rename -no-* to -disable-*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5642 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 20:00:41 +00:00
Chris Lattner
8dcd17c938 Add new -no-aa implementation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5641 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:57:10 +00:00
Chris Lattner
d501c13b7d Move BasicAA pass out to it's own header file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5640 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:41:54 +00:00
Chris Lattner
a612afc54e Adjust to implement new AA interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5638 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:29:36 +00:00
Chris Lattner
e4b3339b9c Adjust to new AA interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5637 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:29:16 +00:00
Chris Lattner
2d0a4a4eb8 Convert to work with new AliasAnalysis interface by conservatively assuming all pointers are arbitrarily large accesses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5636 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:28:57 +00:00
Chris Lattner
f98d8d8611 Calculate and pass load sizes to the alias analysis infrastructure
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5635 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:27:35 +00:00
Chris Lattner
d80651df46 Adjust to new AA interface
Add tracking for Mod/Ref info


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5634 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:27:05 +00:00