Brian Gaeke
d11577b68b
Add "Args" optional argument to AbstractInterpreter factory methods, which
...
fills in a ToolArgs vector in the AbstractInterpreter if it is set. This
ToolArgs vector is used to pass additional arguments to LLI and/or LLC.
This is intended to address Bug 40.
Also, make -debug-only=toolrunner work for the LLC and CBE
AbstractInterpreters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13356 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 21:09:01 +00:00
Misha Brukman
2dd5c96866
Provide visit(Module&) and visitModule(Module&) functionality.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13353 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 18:30:38 +00:00
Brian Gaeke
7e3f82e6a5
Add BBTrace accessor method and data member.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13351 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 17:11:13 +00:00
Brian Gaeke
dc0bedcd25
New header file containing profile info enums shared between the C++ analysis
...
libraries and the C runtime support library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13347 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 16:57:57 +00:00
Chris Lattner
1570cb14d7
Initialize member out of paranoia
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13319 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-02 16:06:40 +00:00
Brian Gaeke
3ec4f261d2
Chris told me to take these assertions out a few days ago, but I forgot to
...
check this in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13313 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-02 01:04:52 +00:00
Chris Lattner
96362e9cac
Stop LiveVariables from using BasicBlocks as part of the mapping, instead
...
use MachineBasicBlocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13300 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-01 21:23:35 +00:00
Chris Lattner
0aef12a7a9
Move the GraphTraits for MachineBasicBlocks to the MachineBasicBlock file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13299 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-01 21:05:34 +00:00
Tanya Lattner
d11297f2ee
Sorry, now friend class name should be right!!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13294 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-30 20:48:37 +00:00
Tanya Lattner
c9bdf09192
Fixed friend class name for ModuloScheduling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13293 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-30 20:47:59 +00:00
Tanya Lattner
32c182a0a8
Fixed friend class name for ModuloSched
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13292 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-30 20:46:40 +00:00
Tanya Lattner
0e1c48b209
Removing MachineResource class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13291 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-30 20:40:38 +00:00
Brian Gaeke
8c53472d0c
Add machine-CFG graph traits specializations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13288 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-29 17:43:55 +00:00
Misha Brukman
df3d2e95a2
* Make contained ostream not public.
...
* Remove various print methods that called the Value* method, just have one that
all subclasses of Value will use anyway.
* Remove template for printing constant references
* Add methods to print char* and strings
* setStream now sets the stream on the contained AssemblyWriter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13246 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-28 19:22:58 +00:00
Misha Brukman
3f98def801
* Add ability to get and set the output stream
...
* New feature: outputting a Type* as symbolic, controlled via the stream
similarly to sending std::hex to change number format
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13226 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-28 15:30:33 +00:00
Brian Gaeke
3707241f31
Add pred./succ. list size methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13214 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-28 04:46:35 +00:00
Brian Gaeke
8560af4f5f
Move private methods to end of class decl at Chris's request
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13210 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-28 04:15:06 +00:00
Brian Gaeke
61d3d5c06b
Fix thinkos that Chris caught for me.
...
Make pred mutators private.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13209 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-28 03:59:48 +00:00
Brian Gaeke
76456bc40c
Add machine-code CFG support: MachineBasicBlocks may now have their own
...
predecessors and successors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13208 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-28 02:16:33 +00:00
Chris Lattner
0ebf428e48
Fix warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13189 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-27 18:21:56 +00:00
Chris Lattner
6ffe551f65
Changes to fix up the inst_iterator to pass to boost iterator checks. This
...
patch was graciously contributed by Vladimir Prus.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13185 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-27 15:13:33 +00:00
Brian Gaeke
21e232501a
Because I like being able to instantiate the cfgprinter from external projects,
...
this header file is born.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13176 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-26 16:27:53 +00:00
Brian Gaeke
e0baeec4fe
Fix a typo in a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13174 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-26 16:26:21 +00:00
Misha Brukman
de41aab1f7
Aggregating function arguments is now an option. Default is `no', as before.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13142 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-23 23:54:34 +00:00
Chris Lattner
2cdf0a7a32
Remove the SCEV::expandCodeFor method, add a new SCEVVisitor class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13133 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-23 21:28:25 +00:00
Brian Gaeke
a7e405c95d
Merged this file into the SparcV9 target.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13128 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-23 18:17:03 +00:00
Brian Gaeke
fd1bb8b974
Add emitWordAt() - a quick and dirty interface that the machine-dependent
...
emitters can use to emit "relocations".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13116 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-23 17:11:12 +00:00
Misha Brukman
7d248397a7
Clarify the logic: the flag is renamed to `deleteFn' to signify it will delete
...
the function instead of isolating it. This also means the condition is reversed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13112 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-22 23:00:51 +00:00
Misha Brukman
127a3e092b
Add a boolean flag to delete this function from module, leaving the rest behind.
...
Useful in manual debugging when bugpoint isn't quite up to snuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13110 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-22 22:51:37 +00:00
Chris Lattner
7d221c53e5
Add an ugly cast
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13107 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-22 15:00:36 +00:00
Chris Lattner
e1beb8f59d
Add a method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13105 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-22 14:56:51 +00:00
Alkis Evlogimenos
afa9235f07
Declare iterator as public since it is defined as such (gcc-3.4 fix)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13090 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-21 16:10:40 +00:00
Chris Lattner
78637fe9d6
Allow getting the module from a call graph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13086 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-20 21:52:12 +00:00
Chris Lattner
25942e9f5c
Change it to take a callgraph, from which we can get a module
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13085 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-20 21:52:07 +00:00
Chris Lattner
a10df50282
Add the ability for SCC passes to initialize and finalize themselves
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13084 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-20 21:30:06 +00:00
Chris Lattner
8277567dc6
Add accessor for a Loop Unswitching pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13066 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19 06:28:37 +00:00
Chris Lattner
06ac2bef15
Eliminate a poorly conceived method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13065 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19 06:26:46 +00:00
Chris Lattner
072b163424
* Improve file header comment
...
* Remove #include
* Add some methods to update loop/loopinfo
* Stop explicitly holding the loop depth in the Loop class. Instead, just
dynamically calculate it. This makes it easier to update LoopInfo as a
result of transformations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13059 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-19 03:03:19 +00:00
Chris Lattner
4e77cc46ac
Provide an interface that is more convenient for iterating over the blocks
...
in a loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13052 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18 23:37:03 +00:00
Chris Lattner
88d3ef2c74
Add new method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13049 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18 22:45:16 +00:00
Chris Lattner
f1ab4b4eac
Change the ExitBlocks list from being explicitly contained in the Loop
...
structure to being dynamically computed on demand. This makes updating
loop information MUCH easier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13045 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18 22:14:10 +00:00
Chris Lattner
9afb24bf08
Add a new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13035 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18 06:54:34 +00:00
Chris Lattner
4e55b7d2c6
Allow clients to delete loops, add a new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13031 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18 05:37:42 +00:00
Chris Lattner
4c174a7bba
Add prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13029 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-18 05:20:32 +00:00
Brian Gaeke
f9a5f780bf
Switch to including <iostream> for compatibility with gcc-3.0.x (Debian).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12990 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-16 16:28:33 +00:00
Brian Gaeke
5a509c8225
Include <string> for compatibility with gcc 3.0.x (the system compiler on
...
Debian.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12985 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-16 15:57:14 +00:00
Misha Brukman
bf6059300f
Assert if Instruction is being deleted before being removed from BasicBlock.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12982 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-16 15:46:43 +00:00
Misha Brukman
70c5836631
Don't use invalid HTML in doxygen comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12963 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-15 15:24:55 +00:00
Chris Lattner
e725cb0d5a
Add some helpful methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12959 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-15 15:15:40 +00:00
Chris Lattner
4950e88e0f
Publically export all of these classes from the ScalarEvolutions.cpp file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12957 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-15 15:06:59 +00:00
Brian Gaeke
325297142c
Add a copy constructor for TargetData.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12948 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-14 17:45:48 +00:00
Chris Lattner
f1d483d641
Temporarily hack in the intrinsics that John added. I expect him to finish up their addition, but in the meantime, the build should not be broken.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12938 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-14 02:22:54 +00:00
Chris Lattner
a2631b0225
Add new interfaces
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12918 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-13 19:28:32 +00:00
Chris Lattner
46758a894f
Add some methods that are useful for updating loop information.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12871 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-12 20:26:17 +00:00
Chris Lattner
b81c021f14
Change the call graph class to have TWO external nodes, making call graph
...
SCC passes much more useful. In particular, this should fix the incredibly
stupid missed inlining opportunities that the inliner suffered from.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12860 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-12 05:36:32 +00:00
Chris Lattner
414c36769a
Make comments above APIs reflect what they should do.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12830 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-11 16:42:50 +00:00
Chris Lattner
e40bb915ba
New method to allow more efficient clients
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12829 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-11 16:35:30 +00:00
Chris Lattner
7015a035e7
Note to self: SAVE FILES!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12823 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-10 22:32:47 +00:00
Chris Lattner
c39546cceb
Add an interface to update value numbering
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12822 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-10 22:32:09 +00:00
Chris Lattner
94c420da4a
Clarify interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12805 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-10 06:11:29 +00:00
Alkis Evlogimenos
9a8b490735
Add definition list to each live interval.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12791 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-09 18:07:57 +00:00
John Criswell
60a505b1f6
Added the llvm.readport and llvm.writeport intrinsics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12780 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-08 20:26:21 +00:00
Brian Gaeke
92eaec932c
This file does not appear to be included anywhere.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12777 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-08 19:36:26 +00:00
Brian Gaeke
c326c92ca8
This file is no longer used.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12767 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-07 21:01:22 +00:00
Chris Lattner
68056127bb
Be more restrictive with the index types we allow for sequential types
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12650 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-05 01:25:21 +00:00
Chris Lattner
d144f42a5a
Add ConstantExpr::get(Sign|Zero)Extend methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12648 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-04 23:20:30 +00:00
Chris Lattner
72e606e2bd
Support iteration over constant instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12645 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-04 19:46:54 +00:00
Chris Lattner
43cb041754
Allow for use of arbitrary iterator types...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12642 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-03 23:29:11 +00:00
Brian Gaeke
02cef96a28
Regenerated using autoheader-2.57.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12637 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02 21:26:03 +00:00
Chris Lattner
9687845800
Remove obsolete files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12633 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02 20:56:24 +00:00
Chris Lattner
254bacd79a
cleanup some long-dead code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12628 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02 20:46:26 +00:00
Chris Lattner
53e677abad
Add a new analysis
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12619 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02 20:23:17 +00:00
Chris Lattner
0e4271f8b2
Make the verifier API more complete and useful
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12608 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02 15:44:33 +00:00
Chris Lattner
909f6cf350
Add new function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12601 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02 05:04:12 +00:00
Misha Brukman
c4b611af63
Fix grammar.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12590 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-01 17:15:42 +00:00
Chris Lattner
024e91f6f6
Allow converting a builder to an iterator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12586 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-01 04:03:10 +00:00
Brian Gaeke
da44b15125
Add clear() forwarding method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12580 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-31 22:43:12 +00:00
Chris Lattner
0c58897d1c
Improve description, add warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12570 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-31 21:59:07 +00:00
Chris Lattner
83706a5a3a
MachineBasicBlock::remove should not change the iterator passed into it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12569 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-31 21:58:50 +00:00
Chris Lattner
18bdbc3dda
Add a simple select instruction lowering pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12540 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-30 18:41:10 +00:00
Chris Lattner
fc33d30446
Add some new methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12539 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-30 00:20:08 +00:00
Chris Lattner
62fe9b59c1
Relax the interface a bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12533 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-29 20:42:38 +00:00
Chris Lattner
4dcb5401e4
Add a bunch of methods that should have been added a long time ago.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12526 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-29 02:37:53 +00:00
Chris Lattner
e3651f00e8
Add two methods which have been needed for a long time: Type::get(Un)signedVersion
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12522 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-26 21:43:22 +00:00
Chris Lattner
268316ee14
The code extractor needs dominator information, so we provide it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12482 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-18 03:47:46 +00:00
Chris Lattner
e454c0d607
Make this header file self-contained
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12480 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-18 03:14:56 +00:00
Chris Lattner
8f71b63bea
cleanup comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12463 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-17 01:29:36 +00:00
Chris Lattner
c87f0bb345
Tweak argument
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12412 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-15 04:08:18 +00:00
Chris Lattner
5cb66e24d4
Deinline a couple of methods. Improve comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12411 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-15 04:07:59 +00:00
Chris Lattner
3e295b1b59
Add two new methods which can be used to enable a bunch of transformations
...
in common cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12407 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-15 01:58:54 +00:00
Alkis Evlogimenos
a1a7148c4d
Another API change to MRegisterInfo::foldMemoryOperand. Instead of a
...
MachineBasicBlock::iterator take a MachineInstr*.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12392 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 20:14:27 +00:00
Chris Lattner
7bc91c62f0
Rename createLoopExtractorPass to createSingleLoopExtractorPass
...
Doxygenify
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12389 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 20:00:37 +00:00
Alkis Evlogimenos
39354c99a1
Change MRegisterInfo::foldMemoryOperand to return the folded
...
instruction to make the API more flexible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12386 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 07:19:51 +00:00
Chris Lattner
4eddf37ee3
Move loop extractor to the IPO header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12374 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 02:36:34 +00:00
Chris Lattner
2ed3063625
Remove dead file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12371 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 02:13:57 +00:00
Chris Lattner
cbf99ee973
Move DemoteRegToStack prototype out of DemoteRegToStack.h to this file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12367 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 02:13:07 +00:00
Chris Lattner
317201d773
Rename the intrinsic enum values for llvm.va_* from Intrinsic::va_* to
...
Intrinsic::va*. This avoid conflicting with macros in the stdlib.h file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12356 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-13 00:24:00 +00:00
Chris Lattner
d67772defd
Fix PR266: Make Module Not Inherit From Annotable
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12339 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 19:51:16 +00:00
Misha Brukman
8e18789ede
Add AnalysisUsage::addRequiredTransitive() to keep analysis info alive for
...
future queries by clients.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12329 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 06:13:15 +00:00
Chris Lattner
57b25973d6
Add the visitSelectInst visitor method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12312 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:51:22 +00:00
Chris Lattner
4e734dde54
Add the SelectInst class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12311 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:51:05 +00:00
Chris Lattner
9bb7fbc6ce
Add the Instruction::Select enum
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12310 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:50:53 +00:00
Chris Lattner
46a57d8f14
Add support for select constant exprs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12309 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-12 05:50:39 +00:00
Misha Brukman
242e94ab26
Move function implementations to a .cpp file, avoid #including <cstdlib> here.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12296 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 23:52:03 +00:00
Misha Brukman
a7a805ef98
Forward-declare templates for fix compilation when Argument.h is included first.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12295 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 23:42:24 +00:00
Misha Brukman
dd298c8c6e
Doxygenified and cleand up comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12294 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 23:08:20 +00:00
Chris Lattner
69a69ff5fd
new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12263 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-09 19:36:59 +00:00
Chris Lattner
7d84dda560
Switch over to using edge profile information as the basic profiling representation,
...
from basic block counts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12241 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 22:03:45 +00:00
Chris Lattner
0f54bc7630
We don't want to make this a pure interface, as it makes all implementors
...
bear the burden of implementing what will be all exactly the same methods.
They just want to provide the information in differing ways.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12239 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 21:30:18 +00:00
Chris Lattner
3f25328fbf
Rearrange some methods, implement the dominates method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12237 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 21:07:12 +00:00
Chris Lattner
6ba8972919
Import the trace class from the reoptimizer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12236 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 20:57:27 +00:00
Chris Lattner
0b6af79e62
Add the ability to put an annotation at the end of a basic block as well.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12230 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 18:51:05 +00:00
Chris Lattner
fd755f7c7c
Add support for representing edge counts
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12228 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 18:19:37 +00:00
Chris Lattner
807a7be38b
Remove Module::mutateConstantPointerRef, which is now thankfully dead!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12215 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 06:15:33 +00:00
Chris Lattner
e45a76c85b
remove *THANKFULLY* dead method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12213 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-08 06:10:32 +00:00
Chris Lattner
f0b6070272
Add prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12194 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-07 21:30:08 +00:00
Brian Gaeke
323819e4e1
make -print-machineinstrs work for both SparcV9 and X86
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12122 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-04 19:16:23 +00:00
Alkis Evlogimenos
9cccb8aec7
Fix bug introduced by yesterday's changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12119 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-04 18:02:07 +00:00
Chris Lattner
66be3c8f72
Rename method, add new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12103 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-03 22:00:20 +00:00
Chris Lattner
3d549b18a3
De-inline methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12101 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-03 20:55:15 +00:00
Brian Gaeke
c54839573c
Make MachineOperand's value named 'contents'. Make really, really sure
...
it is always completely initialized and copied.
Also, fix up many comments and asserts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12100 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-03 19:07:27 +00:00
Chris Lattner
2bed9ecc4b
Add a new constructor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12087 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-03 02:12:47 +00:00
Misha Brukman
7ace0409aa
Add prototype for ExtractCodeRegion()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12069 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-02 00:20:32 +00:00
Alkis Evlogimenos
5f37502bfb
Add the long awaited memory operand folding support for linear scan
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12058 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-01 20:05:10 +00:00
Chris Lattner
23511597fe
Add new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12056 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-01 19:36:50 +00:00
Misha Brukman
58ae9c7290
Fix grammar and doxygenify comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12054 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-01 18:31:19 +00:00
Misha Brukman
a8a06367f8
Add ability to extract a single basic block into a new function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12052 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-01 18:27:13 +00:00
Brian Gaeke
05b15fb075
TargetCacheInfo has been removed; its only uses were to propagate a constant
...
(16) into certain areas of the SPARC V9 back-end. I'm fairly sure the US IIIi's
dcache has 32-byte lines, so I'm not sure where the 16 came from. However, in
the interest of not breaking things any more than they already are, I'm going
to leave the constant alone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12043 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-01 06:43:29 +00:00
Chris Lattner
99df257910
Fix the "partial pool allocator" on em3d and others. The problem is that
...
DSNodes, unlike other GraphTraits nodes, can have null outgoing edges, and
df_iterator doesn't take this into consideration. As a workaround, the
successor iterator now handles null nodes and 'indicates' that null has
no successors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12025 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-01 01:42:26 +00:00
Chris Lattner
9148ad3099
Make Module annotable. Reid has a bunch of code that depends on this, and
...
we really don't win that much by eliminating this (not many Modules are
allocated), so it's not worth it. When we can, we should revisit this in
the future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12023 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-01 01:25:37 +00:00
Misha Brukman
201ff603a7
Doxygenify comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12015 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 23:55:11 +00:00
Chris Lattner
61f57fae7a
Module does not need to be annotatable aka annotable
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12005 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 19:27:55 +00:00
Chris Lattner
a523cdf1b6
Remove public header. It's been moved to lib/Target/SparcV9
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12004 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 19:13:20 +00:00
Chris Lattner
e85f2348c9
Do not use explicit casts that hide the dependence on Instruction being
...
annotable
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12000 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 19:02:26 +00:00
Chris Lattner
9548f20ad5
Ugh, the old sparc backend attaches MachineCodeForInstruction annotations on
...
LLVM instructions. Because it contains an explicit cast, we didn't catch it.
I guess instruction's will be annotable for the duration of the sparcv9's
existence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11999 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 18:54:23 +00:00
Brian Gaeke
6ac5300fbc
Remove dead member variables of SparcV9SchedInfo and TargetSchedInfo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11994 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 08:40:03 +00:00
Brian Gaeke
e9f6f2c049
Update comment at head of file. Also fix C 'typedef struct' nonsense I
...
inadvertently left in here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11988 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 06:33:28 +00:00
Chris Lattner
bceb68807f
Eliminate the distinction between "real" and "unreal" instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11986 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 06:31:16 +00:00
Brian Gaeke
620ee02353
Add more architectures, and ELF64 stuff.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11985 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 06:30:25 +00:00
Chris Lattner
450b6d2998
Scrap a huge layer of cruft out of this interface.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11980 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 05:57:21 +00:00
Chris Lattner
7598a1a9a8
Remove unneeded #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11978 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 05:15:56 +00:00
Chris Lattner
6a8a9b4413
Continue Alkis's int64_t cleanup. This makes all of the immediate related
...
methods take an int or unsigned value instead of int64_t.
Also, add an 'addImm' method to the MachineInstrBuilder class, because the
fact that the hardware sign or zero extends it does not/should not matter
to the code generator. Once the old sparc backend is removed the difference
can be eliminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11976 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 05:06:49 +00:00
Chris Lattner
c3c106ca59
Add BuildMI variants that take a MBB::iterator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11975 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 04:55:28 +00:00
Brian Gaeke
757c1f9d87
Fix my sloppiness
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11968 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 22:06:03 +00:00
Chris Lattner
3da5117334
Add hook for V8 target
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11961 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 19:54:16 +00:00
Brian Gaeke
6c39a42b5c
ELF constants and data structures.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11945 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 06:26:20 +00:00
Misha Brukman
4977a163b4
New Function-level transformation utils.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11938 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 03:33:30 +00:00
Misha Brukman
dddea54b11
Add the prototype for the LoopExtractor Pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11937 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 03:33:17 +00:00
Alkis Evlogimenos
bd16ef84bf
Make MachineOperand's immediate value an int and save 4 bytes out of
...
each MachineOperand. We don't really need an int64_t immediate :-).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11906 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-27 15:05:28 +00:00
Misha Brukman
b07dddda00
Doxygenify comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11891 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 23:20:29 +00:00
Misha Brukman
2729408840
Doxygenify and tersify comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11890 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 23:20:08 +00:00
Alkis Evlogimenos
71e353ed35
Uncomment assertions that register# != 0 on calls to
...
MRegisterInfo::is{Physical,Virtual}Register. Apply appropriate fixes
to relevant files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11882 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 22:00:20 +00:00
Chris Lattner
c230978a82
Annotations are evil. This makes Value not derive from Annotable, which makes
...
all dynamically allocated LLVM values 4 bytes smaller, eliminate some vtables, and
make Value's destructor faster.
This makes Function derive from Annotation now because it is the only core LLVM
class that still has an annotation stuck onto it: MachineFunction.
MachineFunction is obviously horrible and gross (like most other annotations), but
will be the subject of refactorings later in the future. Besides many fewer
Function objects are dynamically allocated that instructions blocks, constants,
types, etc... :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11878 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 08:08:38 +00:00
Chris Lattner
c814937115
Make TargetData no longer use annotations!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11874 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 08:01:57 +00:00
Chris Lattner
32f54f3149
Eliminate copy-and-paste comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11873 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 08:01:30 +00:00
Chris Lattner
1cd4c7294c
Make sure that at least one virtual method is defined in a .cpp file to avoid
...
having the compiler emit RTTI and vtables to EVERY translation unit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11871 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 07:24:18 +00:00
Chris Lattner
7c78afefe9
Fix a bug in the densemap that was killing the local allocator, and probably
...
other clients. The problem is that the nullVal member was left to the default
constructor to initialize, which for int's does nothing (ie, leaves it unspecified).
To get a zero value, we must use T(). It's C++ wonderful? :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11867 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 05:00:15 +00:00
Chris Lattner
00fa65be83
Fix typeo. grow() cannot shrink storage. clear() should really nuke storage
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11865 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 04:07:12 +00:00
Alkis Evlogimenos
4c50715e9e
Temporarily comment out asserts as they break things. I will uncomment
...
them when all the problem areas are fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11855 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 23:56:36 +00:00
Brian Gaeke
9d20b71eca
Represent va_list in interpreter as a (ec-stack-depth . var-arg-index)
...
pair, and look up varargs in the execution stack every time, instead of
just pushing iterators (which can be invalidated during callFunction())
around. (union GenericValue now has a "pair of uints" member, to support
this mechanism.) Fixes Bug 234.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11845 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 23:01:48 +00:00
Alkis Evlogimenos
332d5d0a68
Duh, forgot to close the parenthesis.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11843 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 22:07:14 +00:00
Alkis Evlogimenos
338ce3d64e
Add assert to isPhysicalRegister and isVirtualRegister to fail when
...
passed the special 'register' 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11842 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 22:04:28 +00:00
Alkis Evlogimenos
4d0d864be3
Add DenseMap template and actually use it for for mapping virtual regs
...
to objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11840 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 21:55:45 +00:00
Chris Lattner
fdf6a3c8cc
Add prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11837 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 21:34:51 +00:00
Brian Gaeke
150666fd82
Great renaming part II: Sparc --> SparcV9 (also includes command-line options and Makefiles)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11827 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 19:08:12 +00:00
Brian Gaeke
bb92f6fbf2
Cygwin defines log2 as a macro. Undef it here IFF it has already been defined,
...
so that we always get the inline function instead. Remember, kids, like it says
in the GCC manual, "An Inline Function is As Fast As a Macro."
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11815 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 01:53:45 +00:00
Brian Gaeke
748fba141f
FunctionLiveVarInfo.h moved: include/llvm/CodeGen -> lib/Target/Sparc/LiveVar
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11804 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 19:46:00 +00:00
Chris Lattner
b4a482a098
Add some helpful methods for dealing with switch instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11794 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 06:26:00 +00:00
Chris Lattner
7b3d73b7ec
Use the new LLVM is_class template instead of the boost one, allowing us to
...
remove our dependency on boost! Thanks to Reid Spencer for making this possible!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11785 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 03:50:05 +00:00
Chris Lattner
5c4d53a4d1
Check in a new type_traits header which provides the mysterious is_class
...
template. Thanks go out to Reid Spencer for skillfully extracting this
from boost!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11784 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 03:49:29 +00:00
Chris Lattner
c50879dfe6
Noone cares about similarity to boost
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11783 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-24 03:47:25 +00:00
Brian Gaeke
95ee9bd81f
DataTypes.h is now output from configure, and shortened
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11778 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 22:07:26 +00:00
Brian Gaeke
6c71bf5f70
Regenerated with autoheader-2.57.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11773 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 21:30:39 +00:00
Brian Gaeke
a6eb7c19a1
ThreadSupport.h is now output from configure.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11770 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 21:30:29 +00:00
Brian Gaeke
cbc20b451d
Renamed to hash_set.in; move to using autoconf substitution tags.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11765 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:56:36 +00:00
Brian Gaeke
6cd52446fa
Renamed to hash_map.in; move to using autoconf substitution tags.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11764 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:56:35 +00:00
Brian Gaeke
6ab1917840
Regenerated using autoheader-2.57.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11762 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:56:04 +00:00
Brian Gaeke
c134395628
Renamed from include/Support/iterator. Doxygenify comments; add autoconf substitution tags.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11754 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:16:10 +00:00
Brian Gaeke
587bef9d1a
Regenerated with autoheader-2.57.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11752 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:16:09 +00:00
Alkis Evlogimenos
743d0a1f83
Refactor rewinding code for finding the first terminator of a basic
...
block into MachineBasicBlock::getFirstTerminator().
This also fixes a bug in the implementation of the above in both
RegAllocLocal and InstrSched, where instructions where added after the
terminator if the basic block's only instruction was a terminator (it
shouldn't matter for RegAllocLocal since this case never occurs in
practice).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11748 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 18:14:48 +00:00
Alkis Evlogimenos
a2f6a408dc
Move LiveIntervals.h to lib/CodeGen since it shouldn't be exposed to other parts of the compiler
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11719 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-23 00:50:15 +00:00
Alkis Evlogimenos
890f92328d
Move MOTy::UseType enum into MachineOperand. This eliminates the
...
switch statements in the constructors and simplifies the
implementation of the getUseType() member function. You will have to
specify defs using MachineOperand::Def instead of MOTy::Def though
(similarly for Use and UseAndDef).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11715 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22 19:23:26 +00:00
Alkis Evlogimenos
e33da36cbd
Fix silly bug in implementation of getUseType(). Thanks Misha.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11711 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22 07:24:19 +00:00
Alkis Evlogimenos
f216421181
When folding memory operands in machine instructions be careful to
...
leave register operands with the same use/def flags as the original
instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11709 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22 06:54:26 +00:00
Chris Lattner
2425f8c629
Significantly simplify gep_type_iterator, and make its interface more general/powerful
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11708 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22 06:27:03 +00:00
Alkis Evlogimenos
7200c6b82a
Abstract merging of ranges away from number of slots per instruction.
...
Also make it less aggressive as the current implementation breaks in
some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11696 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-22 04:05:13 +00:00
Chris Lattner
9c0b9bf2b5
Update comments and add warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11691 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-21 22:27:20 +00:00
Brian Gaeke
0c80389498
Regenerated using autoheader-2.57.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11657 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20 06:40:58 +00:00
Alkis Evlogimenos
39a0d5c112
Too many changes in one commit:
...
1. LiveIntervals now implement a 4 slot per instruction model. Load,
Use, Def and a Store slot. This is required in order to correctly
represent caller saved register clobbering on function calls,
register reuse in the same instruction (def resues last use) and
also spill code added later by the allocator. The previous
representation (2 slots per instruction) was insufficient and as a
result was causing subtle bugs.
2. Fixes in spill code generation. This was the major cause of
failures in the test suite.
3. Linear scan now has core support for folding memory operands. This
is untested and not enabled (the live interval update function does
not attempt to fold loads/stores in instructions).
4. Lots of improvements in the debugging output of both live intervals
and linear scan. Give it a try... it is beautiful :-)
In summary the above fixes all the issues with the recent reserved
register elimination changes and get the allocator very close to the
next big step: folding memory operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11654 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-20 06:15:40 +00:00
Chris Lattner
bbdfe40ba7
Add a method useful for updating DSA
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11636 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19 21:27:50 +00:00
Chris Lattner
9717ee9e6c
Add a new function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11630 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19 20:03:08 +00:00
Chris Lattner
da8ab2ea45
ADd a method for when an instruction moves
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11626 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19 18:28:22 +00:00
Chris Lattner
5e61fa9519
Add a MachineBasicBlock::getParent() method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11622 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19 16:13:54 +00:00
Alkis Evlogimenos
1d29a6d6c7
Make ToolExecutionError inherit std::exception and implement its
...
interface: getMessage() is gone, use what() instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11621 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19 07:39:26 +00:00
Alkis Evlogimenos
04319bb2bd
This is needed by assignment verification in linear-scan.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11618 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19 01:10:55 +00:00
Chris Lattner
f03715c6a8
Add support for just compiling a program
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11610 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 23:24:29 +00:00
Alkis Evlogimenos
52f8f56ef4
Move unused typedefs in private section. Add method to return interval
...
given a register.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11608 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 23:14:52 +00:00
Chris Lattner
c8580b2aee
Byebye method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11598 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 20:38:12 +00:00
Chris Lattner
8c56be5e2b
When an error occurs executing a tool, we now throw an exception instead
...
of calling exit(1).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11593 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 20:21:57 +00:00
Chris Lattner
f5c8146a7c
Change the order of the arguments to the ctor, allowing us to make the boolean default to true
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11592 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-18 20:20:52 +00:00