Commit Graph

12017 Commits

Author SHA1 Message Date
Reid Spencer
3afbb1ab10 Convert dump() method to call Type::dump() instead of Value::dump().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13744 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:45:42 +00:00
Reid Spencer
03d186abe0 Fix a small typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13743 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:45:31 +00:00
Vikram S. Adve
e4e97ef64d Recognize memalign and friends, and handle them specially.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13741 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:14:52 +00:00
Chris Lattner
3c6a0d4ae2 Implement InstCombine:shift.ll:test16, which turns (X >> C1) & C2 != C3
into (X & (C2 << C1)) != (C3 << C1), where the shift may be either left or
right and the compare may be any one.

This triggers 1546 times in 176.gcc alone, as it is a common pattern that
occurs for bitfield accesses.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13740 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 06:32:08 +00:00
Chris Lattner
256b7a452b New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13739 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 06:30:49 +00:00
Chris Lattner
c971025b01 Implement some helpers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13738 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 05:32:43 +00:00
Chris Lattner
02140b025d Add some helpers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13737 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 05:32:13 +00:00
Chris Lattner
a710ddc9c4 Implement instcombine/cast.ll:test16:
Canonicalize cast X to bool into a setne instruction


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13736 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 04:29:21 +00:00
Chris Lattner
2e13cea896 Add a new test16 and fix some other tests that were not properly written
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13735 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 04:28:43 +00:00
Chris Lattner
58ac674df4 Make doc_code shrink-to-fit. This only works in mozilla, but it doesn't
hurt legibility on IE


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13720 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 18:05:58 +00:00
Tanya Lattner
17fb34bf8c Moved MachineBasicBlock deconstructor to cpp file and removed it from LeakDetector to fix memory leak bug.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13718 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 07:14:35 +00:00
Chris Lattner
b11a99bd39 Fix a bug in my previous checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13717 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 06:24:46 +00:00
Tanya Lattner
792699c46e Added MachineFunction parent* to MachineBasicBlock. Customized ilist template
to set the parent when a MachineBasicBlock is added to a MachineFunction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13716 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 06:11:51 +00:00
Chris Lattner
2b90565e3d Lots of minor typo fixes, some minor inaccuracies fixed, and some new material.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13715 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 05:35:17 +00:00
Chris Lattner
14cd539ce1 new feature
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13714 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 05:34:32 +00:00
Chris Lattner
2ca1fd1fd3 Fix a couple of busted li's
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13713 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 04:55:32 +00:00
Chris Lattner
ea4ed22986 Add a todo to make it clear that the section is not done
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13712 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 04:54:31 +00:00
Chris Lattner
b965669d55 Personally, I think that documentation is as important as code. Increase
the visibility of dox changes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13711 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 04:53:32 +00:00
Chris Lattner
80453c97f9 Fix a div problem that was causing some wierd indentation. Get more div'y
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13710 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 04:50:25 +00:00
Chris Lattner
39491a7e13 Add some notes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13709 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 04:45:52 +00:00
Chris Lattner
94ec51315f Add a link to the GC doc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13708 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 04:43:49 +00:00
Chris Lattner
5bf3ce2b7c Eliminate an explicit use of the LLVM basic block, using getParent instead,
which simplifies the code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13707 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 03:44:52 +00:00
Tanya Lattner
0c63e03e04 Changed clone to be const.
Changed copy constructor to set parent, prev, and next pointers to null.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13706 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 03:14:18 +00:00
Alkis Evlogimenos
86f238230b Eliminate warnings
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13704 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 23:02:35 +00:00
Chris Lattner
2b83af553a Testcases for andersen's alias analysis.
I think this is all of the stuff I had pending in my tree..


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13703 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:31:00 +00:00
Chris Lattner
f52988a92d Spelling people's names right is kinda important
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13702 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:27:29 +00:00
Chris Lattner
8ad864ab14 Build the garbage collectors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13701 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:26:29 +00:00
Chris Lattner
e6fd7762c5 Initial checkin of GC implementation support files
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13700 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:25:59 +00:00
Reid Spencer
0bd34a2b64 Create a new style for tables that have no width (.doc_table_nw) so the
table doesn't stretch across the whole page. Change for BytecodeFormat.html


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13699 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:25:50 +00:00
Chris Lattner
77ac7baa6d Check in an EARLY START on a simple copying collector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13698 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:25:45 +00:00
Chris Lattner
4cb1f3c10d Add a simple testcase for garbage collection support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13697 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:24:50 +00:00
Chris Lattner
99c59e8e21 Add support for accurate garbage collection to the LLVM code generators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13696 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:23:35 +00:00
Chris Lattner
df04097f87 Add some notes to myself, no functional changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13695 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:23:12 +00:00
Chris Lattner
bbdbf30238 minor wording change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13694 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:22:55 +00:00
Chris Lattner
befa499d45 Fix cases where we missed inlining some more obvious candidates because the
caller was in an SCC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13693 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:22:17 +00:00
Chris Lattner
74c68ffd5f Simplify the interface and remove an unneeded #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13692 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:21:35 +00:00
Chris Lattner
9e7cc2f0d4 Fairly substantial changes to update the alias analysis we are querying as
we make the transformation.  This allows us to use interprocedural alias
analyses successfully.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13691 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:21:17 +00:00
Chris Lattner
2741c97104 Adjust to the changes in the AliasSetTracker interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13690 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:20:19 +00:00
Chris Lattner
057f78ab4e Add support for replacement of formal arguments with simpler expressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13689 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:19:55 +00:00
Chris Lattner
08005dfdc9 Implement the -lowergc pass which is used by code generators (like the CBE)
that do not have builtin support for garbage collection.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13688 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:19:22 +00:00
Chris Lattner
e899705c27 Recognize and verify the new GC intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13687 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:16:51 +00:00
Chris Lattner
942ae1a07d Add the new GC intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13686 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:16:33 +00:00
Chris Lattner
bab838e76d Add a new prototype
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13685 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:16:13 +00:00
Chris Lattner
5a24d70d99 Changes to work with the changes to the AliasAnalysis interface. The -no-aa
class is now in the BasicAliasAnalysis.cpp file


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13684 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:15:48 +00:00
Chris Lattner
b52f440860 Move the -no-aa AA implementation into this file since both of these
alias analysis implementations are special: they do not autoforward to a
chained implementation of alias analysis


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13683 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:15:12 +00:00
Chris Lattner
484e3027b2 Updates to work with the new auto-forwarding AA interface changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13682 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:14:27 +00:00
Chris Lattner
2412a05b80 Fix a really nasty bug with the -disable-ds-field-sensitivity option
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13681 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:14:09 +00:00
Chris Lattner
1bf3408f96 Update to match the autochaining interface that the AA interface uses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13680 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:13:51 +00:00
Chris Lattner
0f312d6998 Implement the interfaces to update value numbering information. Add an
assert.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13679 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:13:24 +00:00
Chris Lattner
ab8c565768 Several *major* changes to the AA interfaces:
1. Provide interfaces so that clients can update alias analyses to reflect
   the changes made by the transformations.
2. Change how alias analysis implementations work overall.  In particular,
   now clients will automatically forward to chained AA implementations: they
   don't have to remember to do it themselves.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13678 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:12:38 +00:00