Commit Graph

651 Commits

Author SHA1 Message Date
Vikram S. Adve
88d962aa58 For an instruction with delay slots, mark all live values before
the instruction as being live before/after the delay slot
instructions as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7795 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 22:19:59 +00:00
Chris Lattner
8043127860 Remove unnecessary use of NonCopyable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7641 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 17:16:24 +00:00
Chris Lattner
7ddb0139ad Add more verbose comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7610 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 18:38:37 +00:00
Sumant Kowshik
108421a8e5 Added function mergeInGlobalsGraph which merges in the entire globals graph with the graph of a function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7606 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 17:04:41 +00:00
Chris Lattner
6806f5614d DEBUG got moved to Support/Debug.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7492 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 22:15:03 +00:00
Vikram S. Adve
7a81a0fd13 Don't require a BB to look-up live variables, unless they may need to
be recomputed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7388 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-29 19:42:32 +00:00
Chris Lattner
1f2bbaa9cb Fix another minor bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7340 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-26 23:00:05 +00:00
Chris Lattner
e7e221ad24 Dont' try to parse the colon
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7323 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 20:49:29 +00:00
Chris Lattner
f2d0134118 Add a more general check-flags which can be used to ensure arbitrary flags are set
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7322 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 20:45:40 +00:00
Chris Lattner
c07736a397 Simplify code by using ConstantInt::getRawValue instead of checking to see
whether the constant is signed or unsigned, then casting


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7252 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 15:22:26 +00:00
Chris Lattner
bfcdf14d83 Fit code into 80 columns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7249 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 15:17:01 +00:00
Chris Lattner
28a128e37a Eliminate old-style cast
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7248 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 15:16:40 +00:00
Vikram S. Adve
40c600e8f3 Fix comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7227 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-22 12:08:58 +00:00
Brian Gaeke
1d2ba44224 Fix typo in call to isUnresolvableFunc, which was breaking the build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7194 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-17 19:07:46 +00:00
Vikram S. Adve
1da1d32fc7 Rematerialize nodes from the globals graph into the current graph
after all callees are inlined into the current graph.

NOTE: There's also a major bug fix for the BU pass in DataStructure.cpp,
which ensures that resolvable indirect calls are not moved out to the
globals graph, so that they are eventually inlined (if possible).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7189 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16 21:42:03 +00:00
Vikram S. Adve
03e19ddaf7 (1) Rematerialize nodes from the globals graph into the current graph
after all callers are inlined into the current graph.
(2) Optimize the way a graph is inlined into its callees in the TD phase:
    (a) Use DSGraph::cloneReachableSubgraph to clone only a subgraph at
        each call site, for faster inlining.
    (b) Clone separately for the same callee at different call sites,
        since only the reachable subgraph is being cloned, not the entire
        caller graph.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7188 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16 21:40:28 +00:00
Vikram S. Adve
78bbec7fcb Implement 2 important changes: (1) rematerialization from the globals graph,
and (2) faster inlining by cloning only reachable nodes.  In particular:
(1) Added DSGraph::cloneReachableSubgraph and DSGraph::cloneReachableNodes
    to clone the subgraph reachable from a set of root nodes, into the
    current graph, merging the global nodes into thos in the current graph.
    The TD pass now uses this for faster inlining, and so does the
    next function.
(2) Added DSGraph::updateFromGlobalGraph() to rematerialize nodes from the
    globals graph into the current graph in both BU and TD passes.
(3) `I' flags are removed from all nodes in the globals graph, because they
    are difficult to maintain correctly and are not needed anyway.
(4) Aux. function calls are only removed to the globals graph if they
    will never be resovled.  (This is what fixed gap.)  The immediate
    reason is that if we took these out of a function (and moved them to
    the globals graph) we would need to rematerialize these nodes into the
    function graph for every function in the BU pass.  The longer term
    problem is that we would need to find a way to remove them from the
    globals graph iff they have been resolved on all paths through the
    call graph.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7187 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16 21:36:31 +00:00
Vikram S. Adve
2e1de5ed59 Factor out the test for unresolvable external functions into
isUnresolvableFunc() (I thought I needed this externally.
I don't, but it's still nicer this way.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7186 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16 21:25:17 +00:00
Misha Brukman
1ba3138cdc The word separate' only has one e'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7174 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-14 17:26:34 +00:00
Chris Lattner
5bfccb9def Reuse the values if they are constants: this is important so that we index into the right structure field
This fixes bug: BasicAA/2003-07-03-BasicAACrash.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7093 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-03 06:42:38 +00:00
Chris Lattner
85cfe01a5e Remove globals more aggressively from graphs.
Fix a bug where we removed nodes that were marked U.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7090 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-03 02:03:53 +00:00
Chris Lattner
7079386e02 INCLUDE_PARENT_GRAPH is required!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7088 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 23:57:05 +00:00
Chris Lattner
10c45d6cd5 Disable incorrect mustalias code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7087 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 23:56:51 +00:00
Chris Lattner
61691c5d85 Remove space at end of line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7084 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 23:44:15 +00:00
Chris Lattner
6c87461fe6 Fix how we are handling unreachable functions. This DRAMATICALLY improves efficiency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7082 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 23:42:48 +00:00
Chris Lattner
d391d70361 Keep track of how many inlinings are performed
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7076 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 20:24:42 +00:00
Chris Lattner
47030f8a72 Try using trivially dead deletion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7075 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 19:49:11 +00:00
Chris Lattner
44cfdf9b9a Remove dead Nodes list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7065 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 06:06:34 +00:00
Chris Lattner
a8da51bf51 Complete rewrite of td pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7064 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 04:39:44 +00:00
Chris Lattner
63899fab93 Print collapsed to match the paper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7063 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 04:39:27 +00:00
Chris Lattner
9cd0484251 Reduce amount of work we do calculating mustaliases if the arg is a global
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7062 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 04:39:13 +00:00
Chris Lattner
58f98d0bf0 Add support for ParentGraph only when building in debug mode
Minor cleanups, reenable folding of call nodes to external functions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7061 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 04:38:49 +00:00
Chris Lattner
f07804b923 Add some functions to the blacklist
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7060 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 04:38:00 +00:00
Chris Lattner
744f93996e Make the BU closure keep track of which actual calls happen
Minor cleanups


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7059 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 04:37:48 +00:00
Chris Lattner
3051419036 Make local pass print out its progress
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7058 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 04:37:26 +00:00
Chris Lattner
5fd60913da Fix bug: Regression/Other/2002-03-11-ExprAssertion.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7046 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 21:08:52 +00:00
Chris Lattner
18f07a11b9 Rework TD pass to work with the precise call graph constructed by the BU phase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7031 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 16:28:11 +00:00
Chris Lattner
b6734b281b Do not treat global variables as functions! (and assert failing)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7030 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 16:27:53 +00:00
Chris Lattner
d9dad2cf61 Dont' print scalar nodes for ConstantPointerRefs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7029 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 16:27:32 +00:00
Chris Lattner
5d5b6d6a5c Minor cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7027 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 16:04:18 +00:00
Chris Lattner
6681e98b13 Use the getFunctionNames method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7008 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 05:57:39 +00:00
Chris Lattner
a9d6566e36 Add new method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7007 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 05:57:30 +00:00
Chris Lattner
2b4c8dfdd5 Split CallSiteIterator out into DSCallSiteIterator.h, and generalize it a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7006 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 05:27:53 +00:00
Chris Lattner
9f93055253 Be more const-correct
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7005 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 05:27:18 +00:00
Chris Lattner
7b1ceaa40b Fix bug in last checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7003 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 05:18:26 +00:00
Chris Lattner
0eea61863b Reimplement the BU closure to collapse all SCC graphs into a single graph.
Look at all of the code that gets deleted!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7001 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 05:09:58 +00:00
Chris Lattner
2cb9acd785 Handle the case where OldNodeMap == &ScalarMap correctly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7000 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 05:09:29 +00:00
Chris Lattner
acbc8c6768 Remove dead method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6999 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 04:53:39 +00:00
Chris Lattner
81d924d804 Do not delete the same graph multiple times when freeing memory if graphs are sharing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6998 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 04:53:27 +00:00
Chris Lattner
3d162907e3 Do not multiply delete graphs if functions are sharing graphs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6997 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 04:53:08 +00:00
Chris Lattner
8d32767da4 Move usages of explicit hash_* datastructures to use typedefs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6996 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 03:36:09 +00:00
Chris Lattner
5a54063303 Revamp DSGraphs so that they can support multiple functions in the same
DSGraph at one time


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6994 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 03:15:25 +00:00
Chris Lattner
a321b04d60 Adjust for new DSGraph API
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6993 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 03:14:54 +00:00
Chris Lattner
dea8146787 Abstract out the predicate which decides whether a function gets complete
arguments or not...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6987 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-29 22:37:07 +00:00
Chris Lattner
06e24c8447 Fix minor bug in previous checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6986 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-29 22:36:31 +00:00
Chris Lattner
919ffbf977 Add support for ensuring that nodes are not incomplete
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6985 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-29 22:36:15 +00:00
Chris Lattner
5c5b10f46a Add support for "physical subtyping", which fixes:
DSGraph/2003-06-29-NodeCollapsing2.ll & DSGraph/PhysicalSubtyping.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6982 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-29 20:27:45 +00:00
Chris Lattner
889fb9de96 Add print method to not get silly warning from analyze
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6981 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-29 20:27:16 +00:00
Chris Lattner
5100dbb9e7 New pass which is useful for writing regression tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6979 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-29 18:17:07 +00:00
Chris Lattner
5c70dc0456 Expose must alias information for global variables, implementing: DSGraph/mustalias.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6973 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-29 00:54:08 +00:00
Chris Lattner
aed2c6d2cb If the alias analysis algorithm we are using can provide MUST alias information,
expose it directly as value numbering information


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6972 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-29 00:53:34 +00:00
Chris Lattner
1842a90e0b Count operands to instructions as well as just results. This allows for global variables to be checked as well
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6970 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-29 00:07:11 +00:00
Chris Lattner
312edd330f Propagate globals graph from the local to bu to td globals graphs. This
fixes bug: DSGraph/buglobals.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6947 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 22:14:55 +00:00
Chris Lattner
5e459dbc52 Drop references to globals who do exist in the globals graph, but are never
read or written to.  Keep track of how many times this happens.  This should
be good for deleting things like references to type information in C++ classes


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6946 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 22:10:58 +00:00
Chris Lattner
72d50a090f Avoid double negatives
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6945 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 21:58:28 +00:00
Chris Lattner
934fe856b5 New pass to perform DSA based optimizations. Initially we just support turning
globals into constants if we can prove it's safe


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6941 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 21:54:55 +00:00
Chris Lattner
5db61fdc8a Fix bug: LevelRaise/2003-06-25-ExprAnalysis.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-25 17:09:03 +00:00
Chris Lattner
e0f4b98026 Remove support for the MultiObject flag, which was fundamentally broken
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6840 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:03:52 +00:00
Chris Lattner
bd92b73be7 * Changes to make NodeType be private to DSNode.
* Add new MultiObject flag to DSNode which keeps track of whether or not
  multiple objects have been merged into the node, allowing must-alias info
  to be tracked.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6794 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-19 21:15:11 +00:00
Chris Lattner
388f669d95 Implement handling of constantexprs for disambiguation. This implements
BasicAA/featuretest.ll:constexpr_test


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6740 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 15:25:37 +00:00
Chris Lattner
efa095e418 Avoid divide by zero errors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6738 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 15:07:20 +00:00
Chris Lattner
e158b19a3c Nodes get forwarded when they are collapsed currently.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6696 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 12:08:18 +00:00
Chris Lattner
a75c8c4da8 Remove bogus assertion: a node with no referrers could be collapsed if field-sensitivity was disabled
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6695 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 12:07:39 +00:00
Chris Lattner
28c6cf22de Implement forwarding from stores to loads of must-aliased pointers.
This implements: GCSE/2003-06-13-LoadStoreEliminate.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6694 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 12:06:41 +00:00
Chris Lattner
920bd79f34 Be more robust in the face of undefined behavior.
Fixes bug: BasicAA/2003-06-01-AliasCrash.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6538 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-02 05:42:39 +00:00
Chris Lattner
a92dc19397 Fix bug: CBackend/2003-05-31-MissingStructName.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6495 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 23:30:52 +00:00
Chris Lattner
ab2b328c78 Eliminate unnecessary ->get calls that are now automatically handled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6397 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:12:27 +00:00
Vikram S. Adve
a22eace55b Renamed MachienOperand::opIsDef to MachineOperand::opIsDefOnly()
and related functions and flags.  Fixed several bugs where only
"isDef" was being checked, not "isDefAndUse".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6342 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 00:06:48 +00:00
Chris Lattner
9098f64ccc Fix Bug: BasicAA/2003-05-21-GEP-Problem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6270 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-21 20:23:26 +00:00
Misha Brukman
1a1046b7bc The word operands' has an r' in it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6250 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-20 20:36:39 +00:00
Misha Brukman
a98cd4578f Sparc instruction opcodes now all live under the `V9' namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6249 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-20 20:32:24 +00:00
Misha Brukman
f117cc9ee6 s/convertable/convertible/g
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6248 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-20 18:45:36 +00:00
Chris Lattner
39c987a6a2 Fix bug: Analysis/LoopInfo/2003-05-15-NestingProblem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6230 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-15 18:03:51 +00:00
Chris Lattner
577385edd8 Fix miscompilation in Fhourstones and bug: LICM/2003-05-02-LoadHoist.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5994 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-03 03:42:08 +00:00
Chris Lattner
99224aec78 Fix bug: LoopPreheaders/2003-04-25-AssertFail.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5959 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 19:34:18 +00:00
Chris Lattner
807b7055b2 Fix BasicAA/2003-04-25-GEPCrash.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5940 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 18:03:06 +00:00
Chris Lattner
2ee82e05e3 Remove unneccesary &*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5871 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:36:11 +00:00
Chris Lattner
b581148bd9 Fix bug: BasicAA/2003-04-22-GEPProblem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5858 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-22 22:00:27 +00:00
Chris Lattner
ac7ad68cc0 Fix bug: IndVarSimplify/2003-04-16-ExprAnalysis.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5795 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 22:50:19 +00:00
Chris Lattner
4ad02e726d Add new linkage types to support a real frontend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5786 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 20:28:45 +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
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
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
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
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
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
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
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