1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-27 22:12:47 +01:00
Commit Graph

11980 Commits

Author SHA1 Message Date
Chris Lattner
fbdf40f86a Fix cases where we missed inlining some more obvious candidates because the
caller was in an SCC.

llvm-svn: 13693
2004-05-23 21:22:17 +00:00
Chris Lattner
bf8b81252f Simplify the interface and remove an unneeded #include
llvm-svn: 13692
2004-05-23 21:21:35 +00:00
Chris Lattner
fee8ce6131 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.

llvm-svn: 13691
2004-05-23 21:21:17 +00:00
Chris Lattner
cf81f974b8 Adjust to the changes in the AliasSetTracker interface
llvm-svn: 13690
2004-05-23 21:20:19 +00:00
Chris Lattner
33de90e8c6 Add support for replacement of formal arguments with simpler expressions.
llvm-svn: 13689
2004-05-23 21:19:55 +00:00
Chris Lattner
f113f6a630 Implement the -lowergc pass which is used by code generators (like the CBE)
that do not have builtin support for garbage collection.

llvm-svn: 13688
2004-05-23 21:19:22 +00:00
Chris Lattner
5f65590915 Recognize and verify the new GC intrinsics.
llvm-svn: 13687
2004-05-23 21:16:51 +00:00
Chris Lattner
a65df8b576 Add the new GC intrinsics
llvm-svn: 13686
2004-05-23 21:16:33 +00:00
Chris Lattner
f9d9fd95bd Add a new prototype
llvm-svn: 13685
2004-05-23 21:16:13 +00:00
Chris Lattner
dd4c06d2bf Changes to work with the changes to the AliasAnalysis interface. The -no-aa
class is now in the BasicAliasAnalysis.cpp file

llvm-svn: 13684
2004-05-23 21:15:48 +00:00
Chris Lattner
7ccc4c2ed9 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

llvm-svn: 13683
2004-05-23 21:15:12 +00:00
Chris Lattner
1336a3f17a Updates to work with the new auto-forwarding AA interface changes
llvm-svn: 13682
2004-05-23 21:14:27 +00:00
Chris Lattner
0e1a543d88 Fix a really nasty bug with the -disable-ds-field-sensitivity option
llvm-svn: 13681
2004-05-23 21:14:09 +00:00
Chris Lattner
89353483d6 Update to match the autochaining interface that the AA interface uses
llvm-svn: 13680
2004-05-23 21:13:51 +00:00
Chris Lattner
6c71895a16 Implement the interfaces to update value numbering information. Add an
assert.

llvm-svn: 13679
2004-05-23 21:13:24 +00:00
Chris Lattner
bdc2cf6dec 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.

llvm-svn: 13678
2004-05-23 21:12:38 +00:00
Chris Lattner
fe63a87a98 Add interfaces to update value numbering results
llvm-svn: 13677
2004-05-23 21:11:17 +00:00
Chris Lattner
0588bd19d2 Rename a method
llvm-svn: 13676
2004-05-23 21:10:58 +00:00
Chris Lattner
f0931ed115 Make use of the new doc_author class. "Seperate content from presentation" they said.
llvm-svn: 13675
2004-05-23 21:07:27 +00:00
Chris Lattner
1baaa6c401 Lots of minor cleanups and clarifications
llvm-svn: 13674
2004-05-23 21:06:58 +00:00
Chris Lattner
10702f3204 Remove implemented stuff
llvm-svn: 13673
2004-05-23 21:06:21 +00:00
Chris Lattner
01ecaadbca Describe the new garbage collector intrinsics
llvm-svn: 13672
2004-05-23 21:06:01 +00:00
Chris Lattner
995a33f193 Lots of minor fixes and formatting improvements
llvm-svn: 13671
2004-05-23 21:05:39 +00:00
Chris Lattner
6c96206c1e Update the coding standards, removign the bit about avoiding exceptions and
rtti (they shouldn't be used in the main compiler, but that's because
optimizations aren't allowed to fail!)

Remove the big section about iterators, because people who do not know what
they are doing shouldn't be writing them.  :)

llvm-svn: 13670
2004-05-23 21:05:07 +00:00
Chris Lattner
6f34b7970a Substantially expand and update the alias analysis documentation, including
adding blurbs about all of the implementations we have

llvm-svn: 13669
2004-05-23 21:04:01 +00:00
Chris Lattner
b6b757041b Various changes to make the docs look nicer. Add a new doc_author class.
The one thing that someone (misha?) should look at is fixing doc_code so that it sizes to fit the code instead of going to the right margin all of the way.  Fixing it at a particular number of pixels was just wrong. :)

llvm-svn: 13668
2004-05-23 21:03:30 +00:00
Chris Lattner
3a607c575e Add a new document describing the LLVM accurate garbage collection support.
llvm-svn: 13667
2004-05-23 21:02:20 +00:00
Chris Lattner
fa5d566d95 Add a simple implementation of Andersen's interprocedural pointer analysis
llvm-svn: 13666
2004-05-23 21:00:47 +00:00
Tanya Lattner
e755fc6689 Fixed up my changes to add support for cloning Machine Instructions.
llvm-svn: 13665
2004-05-23 20:58:02 +00:00
Alkis Evlogimenos
b8938f3fec Remove virtual destructor from InstVisitor. This class should never be
used through a base pointer/reference so inproper destruction should
never be an issue. Removing this last virtual function also saves 4
bytes off each InstVisitor instance.

llvm-svn: 13664
2004-05-23 20:54:39 +00:00
Chris Lattner
37a64d00a7 Fix a couple misplaced div tags
llvm-svn: 13663
2004-05-23 20:42:08 +00:00
Chris Lattner
742d9d3d23 Revert back to the previous version, as it doesn't work with mozilla, and people REALLY CAN just click the link. :)
llvm-svn: 13662
2004-05-23 20:29:35 +00:00
Tanya Lattner
2848065a29 Adding support to clone MachineInstr
llvm-svn: 13661
2004-05-23 19:35:12 +00:00
Reid Spencer
ff53779015 Added a "Miscellaneous Improvements" section to cover things like the
Bytecode File Format documentation, getting all documents in HTML 4.01
(Strict) compliance, and any other minor improvement that shoud be noted.

llvm-svn: 13660
2004-05-23 17:23:13 +00:00
Reid Spencer
03d7a95ea9 Make the file HTML 4.01 (Strict) clean.
llvm-svn: 13659
2004-05-23 17:12:45 +00:00
Reid Spencer
b67005d255 Additional content describing variable bit rate encoding, correcting the
definition of the signature block and module block, and adding definitions
of the global type pool and symbol table. More still to come.

llvm-svn: 13658
2004-05-23 17:05:09 +00:00
Alkis Evlogimenos
31c608c111 Put back the inlined bug list. Use the OBJECT tag to make it HTML-4.01
(Strict)-compliant.

llvm-svn: 13655
2004-05-23 11:10:55 +00:00
Vikram S. Adve
35a7240e8a Remember the set of leaders. Also compute on demand and cache the equiv
class for each leader.   Finally, rename Elem2ECLeaderMap to Elem2LeaderMap
(most of the changed lines are only due to the latter).

llvm-svn: 13651
2004-05-23 08:05:14 +00:00
Vikram S. Adve
f4fed4aaa2 Add getCaller() method.
llvm-svn: 13650
2004-05-23 08:02:45 +00:00
Vikram S. Adve
cf685da276 Inline both direct and indirect callees in the CBU phase because
a direct callee may have indirect callees and so may have changed.

llvm-svn: 13649
2004-05-23 08:00:34 +00:00
Vikram S. Adve
893c53a559 Fix size/offset assertion to allow negative offsets and folded nodes.
llvm-svn: 13644
2004-05-23 07:34:53 +00:00
Brian Gaeke
12ab4a0357 Fix a typo in a comment.
llvm-svn: 13643
2004-05-23 05:10:06 +00:00
Brian Gaeke
f00f4ca846 Fix a typo in the head-of-file comment.
Rewrite the comments about the different versions of BuildMI, to
better emphasize their differences.

llvm-svn: 13642
2004-05-23 05:04:00 +00:00
Reid Spencer
a568ea65a7 Some additional data added to the bytecode specification.
llvm-svn: 13626
2004-05-22 05:56:41 +00:00
Reid Spencer
ba13bc0823 Added an initial template/overview for documentation of the LLVM Bytecode
file format. This format is being extracted from the source code and the
small recesses of Chris' brain.

llvm-svn: 13625
2004-05-22 02:28:36 +00:00
Reid Spencer
685c78d511 Removed the 64-bit fix from the "to do" list since the bug is fixed.
llvm-svn: 13624
2004-05-22 01:04:19 +00:00
Misha Brukman
fe56ae9569 Pass the Makefile flags to recursive makes in {PARALLEL,OPTIONAL}_DIRS targets.
llvm-svn: 13623
2004-05-21 23:21:11 +00:00
Chris Lattner
628e839194 It's not clear to me whether the old version was correct C++ code, but in
any case it's not portable.

llvm-svn: 13621
2004-05-21 18:38:16 +00:00
Chris Lattner
068c3a1858 Starting an identifier with an _ is not legal C/C++ code.
llvm-svn: 13620
2004-05-21 18:37:13 +00:00
Chris Lattner
87694e538b Bug fixed
llvm-svn: 13619
2004-05-21 16:48:20 +00:00