Chris Lattner
457dd0b6c7
Add a new AliassetTracker::remove method. Because we need to be able to remove
...
a pointer from an AliasSet, maintain the pointer values on a doubly linked
list instead of a singly linked list, to permit efficient removal from the
middle of the list.
llvm-svn: 10506
2003-12-18 08:11:56 +00:00
Brian Gaeke
98cfeec17b
Fix typo in comment.
...
llvm-svn: 10487
2003-12-16 21:55:45 +00:00
Alkis Evlogimenos
ac4fe24ed8
I wonder how this didn't cause any tests to fail...
...
llvm-svn: 10462
2003-12-14 13:30:19 +00:00
Alkis Evlogimenos
29127b8825
Change interface of MachineOperand as follows:
...
a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse()
b) add isUse(), isDef()
c) rename opHiBits32() to isHiBits32(),
opLoBits32() to isLoBits32(),
opHiBits64() to isHiBits64(),
opLoBits64() to isLoBits64().
This results to much more readable code, for example compare
"op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used
very often in the code.
llvm-svn: 10461
2003-12-14 13:24:17 +00:00
Chris Lattner
69a2e9985d
Add capability to represent volatile AliasSet's
...
llvm-svn: 10456
2003-12-14 04:51:34 +00:00
Alkis Evlogimenos
f84f86137b
Ignore non-allocatable physical registers in live interval analysis.
...
llvm-svn: 10449
2003-12-13 11:11:02 +00:00
Chris Lattner
18e6e48ff0
Add new getJITStubForFunction method, which may optionally be implemented by
...
targets for better performance.
llvm-svn: 10429
2003-12-12 07:10:32 +00:00
Chris Lattner
f0ded5c697
Doxygenify comments, remove extraneous #include
...
llvm-svn: 10428
2003-12-12 06:31:42 +00:00
Brian Gaeke
a7db493d85
Use uintptr_t for pointer values in the ExecutionEngine.
...
llvm-svn: 10425
2003-12-12 05:06:09 +00:00
Brian Gaeke
7e09b6d2a7
Fix typo in comment
...
llvm-svn: 10424
2003-12-12 04:58:13 +00:00
Brian Gaeke
9b3f9806a2
IncludeFile hack to pull in BasicValueNumbering whenever ValueNumbering.h
...
is included.
llvm-svn: 10397
2003-12-11 05:05:56 +00:00
Brian Gaeke
045d32a78d
IncludeFile hack to pull in BasicAliasAnalysis whenever AliasAnalysis.h
...
is included.
llvm-svn: 10396
2003-12-11 05:05:02 +00:00
Chris Lattner
c6d99b5894
add two new virtual functions:
...
The first returns a function pointer or a stub if it's not already generated
The second exposes what was previously JIT specific state to general clients
llvm-svn: 10319
2003-12-08 08:22:01 +00:00
Chris Lattner
b8160c0ef9
Since ssaification of the varargs builtings, the vaarg instruction no longer
...
can write to memory.
llvm-svn: 10310
2003-12-08 05:29:33 +00:00
Chris Lattner
d4abe8d28a
The recalclulate method was a nasty hack that was once used by the -cee pass,
...
which never worked itself. The cee pass still doesn't work, but it doesn't use
this method anymore anyway, so eliminate the method.
llvm-svn: 10302
2003-12-07 00:55:32 +00:00
Chris Lattner
c96fd2cf0c
Rewrite dominators implementation. Now domset is constructed from immdom,
...
instead of the other way around.
llvm-svn: 10300
2003-12-07 00:36:16 +00:00
Chris Lattner
1c0824d019
Move this method out of the generic dominators calculation code
...
llvm-svn: 10298
2003-12-07 00:35:19 +00:00
Alkis Evlogimenos
229c2b9181
Move operator<<(std::ostream&, const LiveInterval&) out of the header file.
...
llvm-svn: 10290
2003-12-05 10:38:28 +00:00
Chris Lattner
b18c2cc333
Add new block number
...
llvm-svn: 10281
2003-12-01 07:08:06 +00:00
Chris Lattner
2089c03675
Remove unused enum value
...
llvm-svn: 10279
2003-12-01 05:40:37 +00:00
Chris Lattner
e595976ed9
Add some "useful" methods
...
llvm-svn: 10277
2003-12-01 05:30:29 +00:00
Chris Lattner
d08cd3b1e1
be GCC 3.4 clean
...
llvm-svn: 10264
2003-11-29 19:55:12 +00:00
Chris Lattner
6afb79b6a8
fix gcc 3.4 compatibility problem
...
llvm-svn: 10248
2003-11-28 01:46:06 +00:00
Chris Lattner
cf937c503f
It is legal to index into sequential types with any integer
...
llvm-svn: 10227
2003-11-25 21:20:19 +00:00
Chris Lattner
31814958ec
Work with gepi's and constant exprs. Also, add versions of iterator ctors that take references
...
llvm-svn: 10220
2003-11-25 20:17:49 +00:00
Chris Lattner
d8049787c5
Rename class to be consistent with other iterator classes
...
llvm-svn: 10213
2003-11-25 19:58:35 +00:00
Chris Lattner
6dd68ba077
Initial checkin of gep_type_begin/end which will be used to address PR82
...
llvm-svn: 10212
2003-11-25 19:37:28 +00:00
Chris Lattner
310dac2b01
Somehow I forgot poor little UnwindInst
...
*sniff*
llvm-svn: 10108
2003-11-20 18:11:56 +00:00
Chris Lattner
ffcdbe02bf
* Add new constructors to allow insertion of terminator instructions at the
...
end of basic blocks.
* Document some confusing constructor combinations
* Move a ReturnInst method out-of-line, so that the vtable and type info don't
need to be emitted to every translation unit that uses the class.
llvm-svn: 10106
2003-11-20 17:44:37 +00:00
Alkis Evlogimenos
6627a32ff9
Merging the linear scan register allocator in trunk. It currently passes most tests under test/Programs/SingleSource/Benchmarks/Shootout so development will continue on trunk. The allocator is not enabled by default. You will need to pass -regallo=linearscan to lli or llc to use it.
...
llvm-svn: 10103
2003-11-20 03:32:25 +00:00
Chris Lattner
7c9bfad92c
Implement == and != correctly. Before they would incorrectly return !=
...
for some constant exprs when they could really be the same value
llvm-svn: 10058
2003-11-17 20:19:35 +00:00
Chris Lattner
1f762c7571
The ConstantPointer class is now gone.
...
llvm-svn: 10057
2003-11-17 19:47:21 +00:00
Chris Lattner
daee0fa51f
Constant folding shalt not be built on annotations
...
llvm-svn: 10052
2003-11-17 19:05:17 +00:00
Chris Lattner
9995768f47
Fixes for PR114: Thanks to Reid Spencer!
...
llvm-svn: 10029
2003-11-16 20:21:15 +00:00
Chris Lattner
5bc662bc0a
This is obviously illegal C++ code, but was apparently accepted by 3.3
...
bork
llvm-svn: 9993
2003-11-14 06:03:05 +00:00
Chris Lattner
6a0a73554a
Add methods for implementation
...
llvm-svn: 9963
2003-11-13 05:05:34 +00:00
Chris Lattner
3c72015317
Add an initial version of the CompleteBUDataStructures pass
...
llvm-svn: 9955
2003-11-13 01:42:38 +00:00
Chris Lattner
fb07beec2c
Add argument
...
llvm-svn: 9921
2003-11-12 17:58:09 +00:00
Brian Gaeke
d25f86d683
Put all LLVM code into the llvm namespace, as per bug 109.
...
llvm-svn: 9903
2003-11-11 22:41:34 +00:00
Chris Lattner
2b0c87be66
Add new method
...
llvm-svn: 9879
2003-11-11 05:08:36 +00:00
Chris Lattner
da2387324c
Include forms of SplitCriticalEdge which work correctly with pred/succ iterators
...
llvm-svn: 9856
2003-11-10 04:42:13 +00:00
Chris Lattner
88e0e2ab86
No really, I'm not on crack
...
llvm-svn: 9855
2003-11-10 04:23:52 +00:00
Chris Lattner
79ba83de00
Helper method
...
llvm-svn: 9854
2003-11-10 04:16:50 +00:00
Chris Lattner
2a993fb1c5
Move isCriticalEdge & SplitCritical into this file. While we're at it, change
...
the interface to SplitCriticalEdge so that it splits an edge if it is critical,
otherwise just returns false and noops if not.
llvm-svn: 9852
2003-11-10 04:10:27 +00:00
Chris Lattner
6beaeb1c1d
Move isCriticalEdge & SplitCritical edge out of this file, which is only
...
for passes.
llvm-svn: 9851
2003-11-10 04:09:44 +00:00
Chris Lattner
f40566184d
Fix PR95. I'm checking this patch in for Reid Spencer, who figured it out
...
and wrote it up. Thanks!!
llvm-svn: 9832
2003-11-09 19:39:48 +00:00
Brian Gaeke
f84726a3fd
Add a warning about not "new"ing or "delete"ing CallSites
...
llvm-svn: 9782
2003-11-07 19:25:22 +00:00
Misha Brukman
9116e0e93e
Added ability to register FunctionPasses as optimizations, with
...
TargetMachine-accepting constructors (thanks to Chris).
llvm-svn: 9781
2003-11-07 18:56:32 +00:00
Misha Brukman
b6f41c96d7
Declare FunctionPasses as such.
...
llvm-svn: 9767
2003-11-07 17:19:39 +00:00
Chris Lattner
5c551d6bd5
Split the DAE pass into DAE and DAH passes
...
llvm-svn: 9742
2003-11-05 21:43:42 +00:00