Chris Lattner
c5819944a2
Add a missing std:: qualifier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4244 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-21 13:23:42 +00:00
Chris Lattner
b0a37b70e8
Two callsites are equivalent even if they are from two completely different
...
call instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4241 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-21 02:09:03 +00:00
Chris Lattner
0969c50cb8
- Make DSCallSite not inherit from std::vector. Renamed methods slightly.
...
Make copy ctor have two versions to avoid dealing with conditional template
argument. DSCallSite ctor now takes all arguments instead of taking one
and being populated later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4240 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-21 02:08:03 +00:00
Vikram S. Adve
26b98265b7
Remove spurious caller pointer in DSCallSite.
...
Also add functions to access pointer argument nodes cleanly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4235 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-20 21:41:02 +00:00
Chris Lattner
d9faa34339
Add isArray flag
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4230 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-20 20:28:35 +00:00
Vikram S. Adve
3c579faece
Added a first-class representation for each call site that can be
...
used in the DS graphs in DSGraph.h. With that, the special-purpose
class BUDataStructure::CallSite is no longer needed here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4229 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-20 18:08:55 +00:00
Vikram S. Adve
726bafda65
Added a first-class representation for each call site that can be used
...
in the DS graphs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4227 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-20 18:04:43 +00:00
Chris Lattner
a3f8586d9d
Convert typerec to be a structure instead of a pair
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4226 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-18 18:22:46 +00:00
Chris Lattner
137d399fae
Don't emit braces around something without outgoing edges
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4225 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-18 14:55:44 +00:00
Chris Lattner
b65dfff141
Add interface for mod/ref info to be captures by dsgraphs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4222 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-17 21:03:49 +00:00
Chris Lattner
8d00c8210e
* Add data structures to BU pass to keep track of call sites for functions
...
* Reenable the TD analysis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4212 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-17 04:23:05 +00:00
Chris Lattner
a2c5c2b23a
* Remove a lot of obsolete #if 0'd code
...
* Add a simple getNodeForValue method to access the ValueMap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4211 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-17 04:22:16 +00:00
Chris Lattner
375b8e5128
Use the forward declaration for GraphTraits instead of #including
...
the header
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4210 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-17 01:36:08 +00:00
Chris Lattner
8ebb1c4023
Be const correct. Handle both DSGraph* and const DSGraph*'s
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4208 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-17 01:01:06 +00:00
Chris Lattner
dc05fffe2b
Break up the GraphWriter into smaller chunks to be used in different ways
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4207 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-17 00:59:59 +00:00
Chris Lattner
a16adb7dd2
As wierd as it feels to type it, const void* is more generic than void*
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4206 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-17 00:16:39 +00:00
Joel Stanley
61315bc367
Added partial specialization of GraphTraits for the DominatorTree class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4205 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 23:26:00 +00:00
Chris Lattner
7be17dd233
Allow simple nodes to have outgoing edges
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4202 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 20:15:38 +00:00
Chris Lattner
96f5493100
* Factor printing code again, add emitSimpleNode method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4198 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 02:03:18 +00:00
Chris Lattner
834a9d12f3
* Add new DOTGraphTraits::addCustomGraphFeatures method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4197 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 01:44:59 +00:00
Chris Lattner
ff5feedf28
The second element of the iterator is really an offset, not a link
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4196 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 01:43:11 +00:00
Chris Lattner
8c836ce4f8
* Significantly refactor GraphWriter into a class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4194 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 01:34:18 +00:00
Chris Lattner
63a32de776
- Generic graph printing infrastructure changes:
...
* Only print outgoing edges from a cell if the destination isn't null.
This is important for DSGraphs, which have sources with no edges.
* Allow Node attributes to override shape of the node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4192 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 01:18:14 +00:00
Chris Lattner
d6d8f41699
Allow direct access to mergemap for printing
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4191 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-16 01:17:16 +00:00
Chris Lattner
0dad6e9c95
- Eliminate SymbolTable::ParentSymTab, ST::localLookup, and
...
Function::ParentSymTab. These aren't needed at all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4186 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-15 21:26:29 +00:00
Chris Lattner
85131c8277
- Add an endianness field to the TargetData datastructure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4174 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-14 22:41:13 +00:00
Vikram S. Adve
efc9433960
Removed misleading const keyword.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4169 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-14 16:32:24 +00:00
Chris Lattner
34048e2ace
- Dramatically simplify the Constant::mutateReferences implementation,
...
allowing it to be called on all constant types (structures/arrays)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4160 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-14 03:30:23 +00:00
Chris Lattner
0b16ae209a
- Rename Instruction::First*Op to *OpsBegin, and Num*Ops to *OpsEnd to
...
reflect the fact that it's a range being defined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4147 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 19:39:16 +00:00
Chris Lattner
2576aef32b
First crack at reimplementing graph traits for DSGraphs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4145 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 19:31:34 +00:00
Chris Lattner
d063725c3c
disable the unused "pointer" member
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4144 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 19:30:44 +00:00
Chris Lattner
b38e4fd8b0
Add dummy entries to document what members can be added
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4141 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 17:12:05 +00:00
Vikram S. Adve
5aefcad35b
Use vectors instead of hash_maps for issueGaps and conflictLists.
...
These hash lookups were a major sink of time because they happen so often!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4136 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-13 00:37:46 +00:00
Misha Brukman
a27229013f
Added capability to get execution count of a loop if it is a predictable
...
number of iterations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4113 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-11 05:34:32 +00:00
Misha Brukman
6b290a5440
Added helper functions in LoopInfo: isLoopExit and numBackEdges.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4112 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-11 05:31:10 +00:00
Chris Lattner
f77b57097d
Expose API to graph library to allow iteration over all nodes, even unreachable ones
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4111 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-10 22:31:31 +00:00
Chris Lattner
ab363148fb
Change reference
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4110 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-10 22:31:02 +00:00
Chris Lattner
f6516da9b3
* Don't only print out reachable nodes in the graph.
...
* use new api to get all nodes in the graph
* Allow custom graph traits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4109 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-10 22:29:51 +00:00
Chris Lattner
e9812838ee
Add new getGraphProperties that may be specialized by graphs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4108 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-10 22:29:10 +00:00
Chris Lattner
c582c66f63
Rename DataStructureGraph.h to DSGraphTraits.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4107 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-10 20:36:37 +00:00
Chris Lattner
c251f9e0ae
- Add new Constant::replaceUsesOfWithOnConstant which has an end result
...
similar to User::replaceUsesOfWith but actually does the right thing for
constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4102 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-09 23:12:25 +00:00
Chris Lattner
4bbd839d10
Make isExtern() be a virtual function inherited from GlobalValue
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4101 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-09 23:11:33 +00:00
Chris Lattner
806fd40074
- Detemplatize UseTy<> in Value.h, because it's only instantiated for one
...
type!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4093 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-09 00:42:03 +00:00
Chris Lattner
4e5e2edf6a
- Remove Value::use_push_back & Value::use_remove
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4089 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-09 00:25:01 +00:00
Chris Lattner
fe3c2e006d
By default PHINode::removeIncomingValue will delete the phi node if the last
...
incoming value is deleted!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4076 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 21:31:56 +00:00
Chris Lattner
e802a023d9
Expose isCriticalEdge & SplitCriticalEdge methods from crit-edges pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4075 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 21:06:27 +00:00
Chris Lattner
7ca266fe1f
Expose new "recalculate" method from dominatorset
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4074 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-08 19:12:08 +00:00
Chris Lattner
9106a58806
Don't rotate paper.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4066 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 22:37:03 +00:00
Chris Lattner
95b923d548
- Allow printing generic LLVM graphs to 'dot' files, so they can be
...
visualized easily.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4061 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 18:37:10 +00:00
Chris Lattner
8f1717f697
Fix bug in last checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4058 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 17:13:22 +00:00
Chris Lattner
5554a1de08
Implement operator= for SuccIterators
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4055 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-07 16:53:22 +00:00
Chris Lattner
ac8a58d500
- Add new isExternal() method to GlobalVariable to mirror Function.
...
- doxygenize comments and add new comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4046 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-06 22:29:58 +00:00
Chris Lattner
b0d0f5b473
The wall clock timer (implementing using the RTC or cycle counter on x86) is
...
so much more accurate than the per process timers that we get better results
(less noise) by sorting according to wall time than process time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4034 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-03 21:08:20 +00:00
Chris Lattner
0d0244d06a
Remove commented out stuff
...
DataStructure.h doesn't include DSGraph.h now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4028 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-02 22:14:17 +00:00
Chris Lattner
60a398ed0f
Move GlobalDSGraph class defn to the end of the file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4027 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-02 21:55:52 +00:00
Chris Lattner
e5346ec9ed
This file doesn't need Pass.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4026 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-02 21:55:24 +00:00
Chris Lattner
27236ac089
* Implement fully general merging of array subscripts on demand! This
...
does not handle the initial pointer index case yet though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4011 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-02 06:24:29 +00:00
Chris Lattner
8b719877b1
Checkin the "meat" of the Data structure graph itself. I forgot to check
...
this in before. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4009 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-02 04:58:12 +00:00
Chris Lattner
1da2972d26
- Remove the User::eraseOperand method which is never used, really
...
dangerous, and not something we want to expose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4007 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-01 23:41:17 +00:00
Chris Lattner
96ef1b90c8
- Rework Statistics:
...
* Renamed StatisticReporter.h/cpp to Statistic.h/cpp
* Broke constructor to take two const char * arguments instead of one, so
that indendation can be taken care of automatically.
* Sort the list by pass name when printing
* Make sure to print all statistics as a group, instead of randomly when
the statistics dtors are called.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3999 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-01 22:35:45 +00:00
Chris Lattner
11aec6cc7d
Check in DataStructure rewrite so far.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3998 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-01 22:34:45 +00:00
Chris Lattner
6c38a79d77
Checkin generic interval timer support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3992 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-01 19:36:54 +00:00
Vikram S. Adve
bbac47893f
Added several more helper functions for construction MachineInstrs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3983 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-29 22:55:45 +00:00
Vikram S. Adve
9d0168d2d5
Minor change to interface for Create{Zero,Sign}ExtensionsInstructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3979 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-29 21:53:31 +00:00
Chris Lattner
934487a9cc
Simplify code a bit, add an assertion
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3974 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-29 21:37:08 +00:00
Vikram S. Adve
f425884e27
Fixed method getReturnValue(): it should return NULL if the
...
callee does not return a value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3968 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-28 17:03:54 +00:00
Vikram S. Adve
106604ea6d
Simplified code that handles call args and rets, so it no longer
...
needs the RegClass list to be passed in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3964 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-28 16:56:59 +00:00
Chris Lattner
009cc3d2e8
First try at implementing the AliasSetTracker class. I'm sure it will need
...
revision as I start to use it though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3954 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-26 21:49:07 +00:00
Chris Lattner
f6b684c505
Checkin new loop-preheader insertion pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3943 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-26 16:17:33 +00:00
Chris Lattner
de39b71455
- Fix bug in LoopInfo causing ParentLoop to be garbage
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3940 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-26 16:15:19 +00:00
Chris Lattner
3a294d6085
- Add methods to ImmediateDominators & DominatorTree to allow updates
...
- Make DominatorTree::Node not inherit from std::vector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3938 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-26 16:14:37 +00:00
Chris Lattner
b51bf39b93
Add a new "DominatorSet::addDominator" method to allow updates
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3937 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-26 05:42:47 +00:00
Chris Lattner
2b7bb7a986
- Add new methods to LoopInfo: getLoopPreheader, addBasicBlockToLoop.
...
These allow extra information to be easily gathered, and loopinfo to be
updated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3935 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-26 05:32:43 +00:00
Chris Lattner
5cf816b09e
- Add new ctor to BasicBlock to allow insertion before any BB, not just at
...
the end of the function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3933 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-26 05:03:17 +00:00
Chris Lattner
7afd98d144
Converted SimpleStructMutation to take TargetData as a required pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3931 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-26 00:17:18 +00:00
Chris Lattner
1751b7ed27
Change LowerAllocations pass to 'require' TargetData instead of it being
...
passed in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3930 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-25 23:47:49 +00:00
Chris Lattner
2da7afb963
Convert TargetData to be an ImmutablePass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3928 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-25 23:46:56 +00:00
Chris Lattner
9be827a875
ImmutablePass's don't need a runOnFunction, nor do they need to explicitly say
...
that they preserve all xforms
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3925 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-25 22:27:54 +00:00
Chris Lattner
700975bc9b
Convert BasicAA to be an immutable pass instead of a FunctionPass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3922 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-25 22:00:18 +00:00
Chris Lattner
70b4f3e051
Add support for ImmutablePasses, which are not run, and cannot be
...
invalidated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3921 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-25 21:59:11 +00:00
Chris Lattner
9474dd68e8
Checkin stub for Misha to implement
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3919 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-25 19:10:06 +00:00
Chris Lattner
04d8dc31f6
- Do not expose Critical Edge breaking mechanics outside the BCE pass, thus
...
removing it from Transforms/Local.h and from Transforms/Utils/*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3909 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24 15:51:54 +00:00
Chris Lattner
87944916a4
Expose passinfo from BreakCriticalEdges pass so that it may be "Required" by
...
other passes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3906 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24 15:42:27 +00:00
Chris Lattner
119e9ea33b
Add new BreakCriticalEdges pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3902 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24 00:08:37 +00:00
Chris Lattner
2d23785852
There are no implicit gep forms of load and store anymore
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3901 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24 00:08:01 +00:00
Chris Lattner
47b6f84736
Make users of FindUsedTypes not have problems with linkage. This fixes
...
cwriter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3899 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-24 00:07:17 +00:00
Chris Lattner
fb8c89fbd3
Group #includes better
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3887 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-23 17:45:52 +00:00
Anand Shukla
33db9bae15
Initial version: it adds 2 empty slots at the top of stack
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3872 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-21 04:58:26 +00:00
Vikram S. Adve
65ce103d8d
Peephole optimization pass on final machine code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3863 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 16:33:03 +00:00
Vikram S. Adve
46d6a1aeb5
Add erase() method for a single element.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3849 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:55:57 +00:00
Vikram S. Adve
d55697cf13
Added class MachineOptInfo as interface to target-specific
...
routines supporting machine code optimization.
Also added method MachineInstrInfo::getNOPOpCode().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3845 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:52:09 +00:00
Vikram S. Adve
2542d9a183
Interface to target-specific routines that support machine code optimization.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3844 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:49:21 +00:00
Vikram S. Adve
e8b57ef260
Add method MachineInstr::replace to rewrite a machine instruction in place.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3843 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-20 00:47:49 +00:00
Chris Lattner
fd479b6fd4
Workaround for bug in GCC 3.1.1 iostreams library on sparc. It apprarently
...
isn't flushing an ostream when it is deleted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3834 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-19 20:49:25 +00:00
Chris Lattner
16ca2b991b
Fix ambiguity problem due to builtin log2(double) function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3800 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 23:56:50 +00:00
Chris Lattner
ccec07a040
Fix namespace correctness bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3798 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 23:48:02 +00:00
Chris Lattner
c2b327768b
Remove extra #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3776 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 17:18:12 +00:00
Vikram S. Adve
0e9843db54
Fix typo in comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3773 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-17 11:09:59 +00:00
Chris Lattner
214bf54175
Fix compile problem on linux. Noone should ever #include <inttypes.h>
...
directly. Instead, include Support/DataTypes.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3766 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 20:44:19 +00:00
Vikram S. Adve
2796860297
New preselection pass that specializes LLVM code for a target machine,
...
while remaining in legal portable LLVM form and preserving type
information and type safety.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3759 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 18:08:17 +00:00
Vikram S. Adve
33adbcc87d
Add ilist_iterator constructor from a node reference.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3756 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:46:17 +00:00
Vikram S. Adve
be376cf6d4
Allow transformation DecomposeArrayRef(GetElementPtrInst* GEP) to
...
be invoked on a single instruction at a time, for use in other passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3751 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:07:19 +00:00
Vikram S. Adve
e8f1df6446
Add routines to update or erase operands (and to do so without external
...
assumptions about which operand number stores what operand).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3750 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:06:12 +00:00
Vikram S. Adve
46fece70c2
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3749 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:01:41 +00:00
Vikram S. Adve
a081baac77
Add support for passes that use a TargetMachine object.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3748 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 16:01:39 +00:00
Vikram S. Adve
504fc5b7b5
Add method MachineOperand::hasAllocatedReg().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3747 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 15:58:54 +00:00
Vikram S. Adve
d5af164f01
Add a version of ChooseRegOrImmed to handle numerical constants
...
introduced by InstrSelection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3746 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 15:58:34 +00:00
Vikram S. Adve
aa500f3f43
Add method adjustAlignment so that stack slot alignments can be computed
...
in a target-dependent manner (because of the dang OFFSET in Sparc v9).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3745 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 15:57:43 +00:00
Vikram S. Adve
4900116ab0
Add methods to query about the representation of LLVM quantities (e.g.,
...
constants). Useful for target-dependent LLVM transformations like
Preselection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3743 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 15:56:01 +00:00
Vikram S. Adve
ebc7511e86
*** empty log message ***
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3741 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-16 15:39:35 +00:00
Vikram S. Adve
521758fb79
Remove unnecessary include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3723 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-14 23:04:52 +00:00
Vikram S. Adve
7e914a967d
Break RA_DEBUG option into several levels to get better output.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3722 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-14 22:18:37 +00:00
Vikram S. Adve
7c26898401
Moving to lib/CodeGen/RegAlloc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3718 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-14 11:57:17 +00:00
Chris Lattner
e87e1c9aa9
Change the MallocInst & AllocaInst ctors to take the allocated type, not the
...
pointer type returned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3711 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-13 22:28:50 +00:00
Chris Lattner
4042332d4a
Checkin patch written by Casey Carter, enabling support for the redhat GCC 2.96
...
compiler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3697 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-13 14:33:39 +00:00
Chris Lattner
d0713f94af
Add a new BasicBlockPass::doInitialization/Finalization(Function &) pair of
...
methods that may be useful for BasicBlockPasses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3689 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-12 17:06:43 +00:00
Chris Lattner
dbd35c22e4
Convert index type for getelementptr instruction from uint to long
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3678 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-11 01:16:19 +00:00
Chris Lattner
9531c50c75
Add convenience ctor to BranchInst
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3675 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 23:54:56 +00:00
Chris Lattner
3a8b0f00e6
Implement support for inserting an instruction into a basic block right when it
...
is created.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3651 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:36:11 +00:00
Chris Lattner
a690c590dc
Eliminate the GenericBinaryInst class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3649 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:35:23 +00:00
Chris Lattner
2e9fe0ad09
* Eliminate GenericBinaryInst class
...
* Allow specifying where to insert a newly created SetCondInst
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3648 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:34:41 +00:00
Chris Lattner
226719e3ea
Eliminate the GenericBinaryInst class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3647 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:27:31 +00:00
Chris Lattner
b163f1c3e5
Eliminate setType method
...
Now the only way to set the type of a value is in the ctor for an object
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3646 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-10 15:26:27 +00:00
Chris Lattner
71184414d6
Move TmpInstruction ctor to InstrSelection.cpp file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3622 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 21:07:51 +00:00
Chris Lattner
96c2ce8614
Checkin initial support for automatic memory leak detection routines
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3617 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-08 18:51:12 +00:00
Chris Lattner
fab8c796f6
* Clean up some comments
...
* Move code out of header file to .cpp files, to make future changes easier
* Add arguments to classes so that they can be automatically inserted into their
parent structure upon creation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3604 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 21:31:57 +00:00
Chris Lattner
a42414bcf6
* Clean up indentation a bit
...
* Fix broken comments (copy and pasto)
* Remove irrelevant comment
* Add extra argument to function that causes it to get inserted into a module
automatically.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3601 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 20:47:31 +00:00
Chris Lattner
513d3e8fc5
Include stub for correlated expression elimination pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3597 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 18:39:29 +00:00
Chris Lattner
ca8474e7f2
- Rename BreakCriticalEdge to the slightly more standard SplitCriticalEdge
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3587 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 02:35:11 +00:00
Chris Lattner
3e57cb98bd
* Doxygenize API
...
* Add new functions for identifying and breaking critical edges
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3586 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 02:19:25 +00:00
Chris Lattner
0c5d27e4a1
- Doxygenize comments
...
- Add new method to dominatorset: properlyDominates
- Add synonmys for operator[] to classes so that pointers to dominator
information can be used more easily.
- Add API's to update dominator information
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3585 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 02:16:27 +00:00
Chris Lattner
f9bbe214fd
Make getAnalysisToUpdate<AnalysisType>() public so that transformation APIs
...
can update analysis information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3584 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 02:14:47 +00:00
Vikram S. Adve
68f716190b
Add new function MachineInstrInfo::CreateZeroExtensionInstructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3582 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-05 18:36:41 +00:00
Chris Lattner
ce8a14915d
- Renamed Type::isIntegral() to Type::isInteger()
...
- Added new method Type::isIntegral() that is the same as isInteger, but
also accepts bool.
SCVS: ----------------------------------------------------------------------
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3572 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-03 01:05:48 +00:00
Chris Lattner
625ea21205
Implement operator== and != for ranges
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3571 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-03 01:05:31 +00:00
Chris Lattner
b041eb5dd4
Remove duplicate #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3567 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-02 04:04:11 +00:00
Chris Lattner
7382e73f86
Add printing support to ConstantRange class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3566 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-02 00:18:26 +00:00
Chris Lattner
f6814d1dc7
Initial implementation of ConstantRange support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3564 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-01 23:53:39 +00:00
Chris Lattner
3d92ac255e
- Exposed SetCondInst::getInverseCondition & ::getSwappedCondition better
...
- Doxygenized iOperators.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3561 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-01 19:46:36 +00:00
Chris Lattner
8ac883939b
Convert cwriter to be a pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3557 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-31 00:28:25 +00:00
Chris Lattner
c74cb8698f
- Eliminate the last traces of the 'analysis' namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3550 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 22:53:53 +00:00
Chris Lattner
917914885d
Update comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3547 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 22:51:21 +00:00
Chris Lattner
70433de019
Fix comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3546 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 22:51:08 +00:00
Chris Lattner
c447b4b791
Merged into ValueNumbering.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3545 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 22:30:51 +00:00
Chris Lattner
26d933a849
Initial implementation of basic value numbering
...
This file will probably go away at some point
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3542 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:30:03 +00:00
Chris Lattner
d7f672538a
Initial version of LoadValueNumbering interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3539 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:27:48 +00:00
Chris Lattner
dcee11cd0a
Initial version of ValueNumbering interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3538 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:27:15 +00:00
Chris Lattner
ada23c05f5
- PassInfo class keeps track of AnalysisGroups implemented by the Pass.
...
- Doxygenize comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3532 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:20:39 +00:00
Chris Lattner
76a8f7fb5a
- Pass now has AnalysisImpls class to implement getAnalysis() so that it is
...
correct even when called back by another passes run method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3531 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-30 20:19:49 +00:00
Chris Lattner
c46c04c2ac
Fix comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3523 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-29 20:08:39 +00:00
Chris Lattner
3f917b6f99
Make the getAnalyss<> members const. Using them does NOT modify the Pass object.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3522 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-29 20:07:59 +00:00
Chris Lattner
93aeea3748
Add support for turning an array of characters into a string.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3509 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-26 17:53:56 +00:00
Anand Shukla
e0b6b78e09
Changed so it gets linked properly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3508 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-26 16:45:19 +00:00
Chris Lattner
2619905926
Convert comments to Doxygen style
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3507 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-25 22:54:55 +00:00
Vikram S. Adve
df3fe55e57
Added function GetMemInstArgs and made FoldGetElemChain private.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-24 21:03:10 +00:00
Vikram S. Adve
2730a38485
Added support for type inquiry in subclasses of InstTreeNode.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3502 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-24 21:02:42 +00:00
Chris Lattner
615cdb92ee
Implement classof for SetCondInst so that instcombine doesn't break on dyn_cast<SetCondInst>
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3493 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-23 18:30:58 +00:00
Chris Lattner
3bb8ad27a8
Eliminated the MemAccessInst class, folding contents into GEP class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3488 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 23:37:24 +00:00
Chris Lattner
cc63f1c674
Eliminated the MemAccessInst class, folding contents into GEP class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3487 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 23:37:20 +00:00
Chris Lattner
d145c2172f
Load & Store Inst now no longer derive from MemAccessInst
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3486 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 22:54:10 +00:00
Chris Lattner
f150b9d984
Load and Store now no longer derive from MemAccessInst. Indexing a load or
...
store is not possible anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3482 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 22:47:47 +00:00
Chris Lattner
ce325e491c
doxygenize comments in header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3480 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 22:46:20 +00:00
Chris Lattner
f12c2c28bd
Add doxygen comments to AliasAnalysis class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3475 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 21:22:25 +00:00
Chris Lattner
e6d2fdff26
Fix bug: test/Regression/Assembler/2002-08-22-DominanceProblem.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3473 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 20:39:27 +00:00
Chris Lattner
4df22c0100
Checkin new alias analysis infrastructure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3464 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 18:25:20 +00:00
Chris Lattner
dc58535b37
Remove unneccesary method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3452 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 15:57:37 +00:00
Vikram S. Adve
4afd6c37c7
Just some extra comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3446 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 03:03:10 +00:00
Vikram S. Adve
cab1a52aa2
Add method copyOperands().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3445 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-22 03:01:44 +00:00
Chris Lattner
c37fca1492
Add a class that is useful for hacking around linking problem due to
...
pass implementations not being linked in when they are used if the
implementation is in a .a file.
- Fighting with linking problem due to removing the ::ID elements. Now the
implementation .cpp files for analyses are not being included into gccas
and friends because it is linking to the .a file and there is no explicit
symbol reference to bring in the .o file. The new IncludeFile hack is the
result.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3434 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 23:48:55 +00:00
Chris Lattner
a69fd90358
- Split Dominators.h into Dominators.h & PostDominators.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3432 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 23:43:50 +00:00
Chris Lattner
0756c11dea
- Implement the new AnalysisGroup feature, neccesary for Value#ing and pointer analysis
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3425 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 22:16:59 +00:00
Chris Lattner
03e26ba35b
Add assertion checks to nail bugs early.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3424 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 22:14:28 +00:00
Chris Lattner
1d63a167ec
- Make Pass::lookupPassInfo a public member
...
- Fix Pass::getAnalysis<AnalysisType>() to use dynamic_cast instead of a
static cast to handle the case where the cast from & two classes are not
related via inheritance.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3423 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 22:13:33 +00:00
Chris Lattner
546b027b3e
- Do not expose ::ID from any of the analyses anymore.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3417 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 17:09:49 +00:00
Chris Lattner
044f908791
- Do not expose ::ID from any of the analyses anymore.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3416 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 17:09:45 +00:00
Chris Lattner
fb30fda1de
- Eliminate the need for analyses to expose an ::ID member.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3414 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 17:08:37 +00:00
Chris Lattner
7742799a80
Add missing forward decl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3413 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-21 15:38:45 +00:00
Chris Lattner
bacb8b9a00
Add new SetCondInst::getInverseCondition() method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3404 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-20 18:17:09 +00:00
Chris Lattner
e0fbb497ee
- ConstantPointerRefs are now automatically removed from the module table
...
when they are destroyed, which makes Constant::destroyConstant an actually
useful external interface. Expose these methods publicly.
- Implement destroyConstant on ConstPointerNull so that destroyConstant can
be used on any derived type constant safely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3378 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-18 00:39:59 +00:00
Chris Lattner
9bb451e721
Module's do not subclass from Value, so this code caused a segfault.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3376 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-18 00:37:14 +00:00
Chris Lattner
58dda9a8f2
Add Module::dump() method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3374 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-17 23:32:42 +00:00
Chris Lattner
c5b74477c0
Remove the last traces of the NOT instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3346 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-15 16:14:49 +00:00
Vikram S. Adve
917d551969
Change opLabel numbers for Not and BNot.
...
Also, these tree nodes are now binary, not unary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3344 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-15 14:20:45 +00:00
Vikram S. Adve
1718337cf7
Added more helper functions for binary instructions emulating
...
unary Neg and Not: isNeg, isNot, getNegArgument, and getNotArgument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3341 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-15 14:15:48 +00:00
Chris Lattner
ad333484ea
Remove support for Not ConstantExpr. This simplifies the unary case to only
...
have to support the cast instruction, so the function is renamed to getCast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3328 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 18:24:09 +00:00
Chris Lattner
9c16dba29f
Remove support for unary operators.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3326 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 18:19:46 +00:00
Chris Lattner
935bb0d071
Remove reference to GenericUnaryInst class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3325 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 18:18:50 +00:00
Chris Lattner
30551d02f5
Remove support for unary instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3324 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 18:18:28 +00:00
Chris Lattner
f4e3c006ac
Remove constant propogation support for NOT instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3321 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 18:17:07 +00:00
Chris Lattner
75309f844a
Expose two new static methods from BinaryOperator: createNeg, createNot
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3314 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 17:51:29 +00:00
Vikram S. Adve
a7710518da
Add method MachineInstr::substituteValue() which substitutes
...
one Value with another one in all operands and implicit references
of the machine instruction.
Also add method MachineOperand::getVRegValueOrNull().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3307 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-14 16:54:11 +00:00
Chris Lattner
c75071c3bf
- Rename ConstantGenericIntegral -> ConstantIntegral
...
- Add new methods to ConstantIntegral: getMaxValue, getMinValue,
getAllOnesValue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3298 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-13 17:50:18 +00:00
Chris Lattner
6ef3369321
Return const char * const instead of std::string from get register name method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3294 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 21:24:55 +00:00
Chris Lattner
994b9f337b
- Added a new superclass of ConstantBool/ConstantInt: ConstantGenericIntegral
...
- Moved InstCombine: isMaxValue, isMinValue, isAllOnesValue to Constants.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3293 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-12 21:21:21 +00:00
Chris Lattner
89f2aa5fd8
* IntervalPartition no longer derives from vector
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3281 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 22:52:06 +00:00
Chris Lattner
cc367a3ea0
Do not add an extra vtable to EVERY machineinstr created.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3280 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 21:49:21 +00:00
Chris Lattner
dc1e020444
UnaryOperator::create should take a name just like BinaryOperator::create
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3279 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 21:39:38 +00:00
Chris Lattner
035dfbe7f2
* Removed extraneous #includes
...
* Fixed file headers to be consistent with the rest of LLVM
* Other minor fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3278 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 20:08:06 +00:00
Chris Lattner
179cdfb5c8
* Removed extraneous #includes
...
* Fixed file headers to be consistent with the rest of LLVM
* Other minor fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3277 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 20:08:03 +00:00
Chris Lattner
919c4f8a44
Change machinecode for instruction to not inherit from vector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3274 91177308-0d34-0410-b5e6-96231b3b80d8
2002-08-09 20:04:28 +00:00