Misha Brukman
7c46021fe7
Assert if Instruction is being deleted before being removed from BasicBlock.
...
llvm-svn: 12982
2004-04-16 15:46:43 +00:00
Misha Brukman
3fa1037635
Don't use invalid HTML in doxygen comments.
...
llvm-svn: 12963
2004-04-15 15:24:55 +00:00
Chris Lattner
5c992ad183
Add some helpful methods
...
llvm-svn: 12959
2004-04-15 15:15:40 +00:00
Chris Lattner
0d220df227
Publically export all of these classes from the ScalarEvolutions.cpp file
...
llvm-svn: 12957
2004-04-15 15:06:59 +00:00
Brian Gaeke
cd21d1e40f
Add a copy constructor for TargetData.
...
llvm-svn: 12948
2004-04-14 17:45:48 +00:00
Chris Lattner
ffd151e5a9
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.
...
llvm-svn: 12938
2004-04-14 02:22:54 +00:00
Chris Lattner
2bf8038c69
Add new interfaces
...
llvm-svn: 12918
2004-04-13 19:28:32 +00:00
Chris Lattner
fd1cfeeb1d
Add some methods that are useful for updating loop information.
...
llvm-svn: 12871
2004-04-12 20:26:17 +00:00
Chris Lattner
12e1831ffe
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.
llvm-svn: 12860
2004-04-12 05:36:32 +00:00
Chris Lattner
ba50022f83
Make comments above APIs reflect what they should do.
...
llvm-svn: 12830
2004-04-11 16:42:50 +00:00
Chris Lattner
d0345fb4a1
New method to allow more efficient clients
...
llvm-svn: 12829
2004-04-11 16:35:30 +00:00
Chris Lattner
3def8f7eab
Note to self: SAVE FILES!
...
llvm-svn: 12823
2004-04-10 22:32:47 +00:00
Chris Lattner
50afdb258f
Add an interface to update value numbering
...
llvm-svn: 12822
2004-04-10 22:32:09 +00:00
Chris Lattner
697d1d7df2
Clarify interface
...
llvm-svn: 12805
2004-04-10 06:11:29 +00:00
John Criswell
d4fe3ec1d1
Added the llvm.readport and llvm.writeport intrinsics.
...
llvm-svn: 12780
2004-04-08 20:26:21 +00:00
Brian Gaeke
95213bd702
This file does not appear to be included anywhere.
...
llvm-svn: 12777
2004-04-08 19:36:26 +00:00
Brian Gaeke
14dadd43e1
This file is no longer used.
...
llvm-svn: 12767
2004-04-07 21:01:22 +00:00
Chris Lattner
1b6512141d
Be more restrictive with the index types we allow for sequential types
...
llvm-svn: 12650
2004-04-05 01:25:21 +00:00
Chris Lattner
eb1caeca2a
Add ConstantExpr::get(Sign|Zero)Extend methods
...
llvm-svn: 12648
2004-04-04 23:20:30 +00:00
Chris Lattner
81e7a8ffc5
Support iteration over constant instructions
...
llvm-svn: 12645
2004-04-04 19:46:54 +00:00
Chris Lattner
5eab55b846
Allow for use of arbitrary iterator types...
...
llvm-svn: 12642
2004-04-03 23:29:11 +00:00
Chris Lattner
409ef7935c
Remove obsolete files
...
llvm-svn: 12633
2004-04-02 20:56:24 +00:00
Chris Lattner
292d3956ae
cleanup some long-dead code
...
llvm-svn: 12628
2004-04-02 20:46:26 +00:00
Chris Lattner
74911ffd6b
Add a new analysis
...
llvm-svn: 12619
2004-04-02 20:23:17 +00:00
Chris Lattner
c0fede30c5
Make the verifier API more complete and useful
...
llvm-svn: 12608
2004-04-02 15:44:33 +00:00
Misha Brukman
da1fac0cee
Fix grammar.
...
llvm-svn: 12590
2004-04-01 17:15:42 +00:00
Chris Lattner
c241db65d6
Allow converting a builder to an iterator
...
llvm-svn: 12586
2004-04-01 04:03:10 +00:00
Brian Gaeke
e7f4f73f67
Add clear() forwarding method.
...
llvm-svn: 12580
2004-03-31 22:43:12 +00:00
Chris Lattner
34112aa99f
Improve description, add warning
...
llvm-svn: 12570
2004-03-31 21:59:07 +00:00
Chris Lattner
3f24ea6ccf
MachineBasicBlock::remove should not change the iterator passed into it
...
llvm-svn: 12569
2004-03-31 21:58:50 +00:00
Chris Lattner
58a6a4d57a
Add a simple select instruction lowering pass
...
llvm-svn: 12540
2004-03-30 18:41:10 +00:00
Chris Lattner
e78381e9f1
Add some new methods
...
llvm-svn: 12539
2004-03-30 00:20:08 +00:00
Chris Lattner
0d39383456
Relax the interface a bit
...
llvm-svn: 12533
2004-03-29 20:42:38 +00:00
Chris Lattner
7f5d56b43a
Add a bunch of methods that should have been added a long time ago.
...
llvm-svn: 12526
2004-03-29 02:37:53 +00:00
Chris Lattner
b34cfff038
Add two methods which have been needed for a long time: Type::get(Un)signedVersion
...
llvm-svn: 12522
2004-03-26 21:43:22 +00:00
Chris Lattner
f5af93a6bb
The code extractor needs dominator information, so we provide it.
...
llvm-svn: 12482
2004-03-18 03:47:46 +00:00
Chris Lattner
fa7a97f573
Make this header file self-contained
...
llvm-svn: 12480
2004-03-18 03:14:56 +00:00
Chris Lattner
739eb75cd4
cleanup comment
...
llvm-svn: 12463
2004-03-17 01:29:36 +00:00
Chris Lattner
6a3efa7a38
Tweak argument
...
llvm-svn: 12412
2004-03-15 04:08:18 +00:00
Chris Lattner
a546ebb664
Deinline a couple of methods. Improve comment.
...
llvm-svn: 12411
2004-03-15 04:07:59 +00:00
Chris Lattner
275dd432ab
Add two new methods which can be used to enable a bunch of transformations
...
in common cases.
llvm-svn: 12407
2004-03-15 01:58:54 +00:00
Alkis Evlogimenos
2b94b048a9
Another API change to MRegisterInfo::foldMemoryOperand. Instead of a
...
MachineBasicBlock::iterator take a MachineInstr*.
llvm-svn: 12392
2004-03-14 20:14:27 +00:00
Chris Lattner
fffee2b160
Rename createLoopExtractorPass to createSingleLoopExtractorPass
...
Doxygenify
llvm-svn: 12389
2004-03-14 20:00:37 +00:00
Alkis Evlogimenos
ff9482b664
Change MRegisterInfo::foldMemoryOperand to return the folded
...
instruction to make the API more flexible.
llvm-svn: 12386
2004-03-14 07:19:51 +00:00
Chris Lattner
3bb91dafcd
Move loop extractor to the IPO header
...
llvm-svn: 12374
2004-03-14 02:36:34 +00:00
Chris Lattner
6d84c5547a
Remove dead file
...
llvm-svn: 12371
2004-03-14 02:13:57 +00:00
Chris Lattner
7ed7f02c3a
Move DemoteRegToStack prototype out of DemoteRegToStack.h to this file.
...
llvm-svn: 12367
2004-03-14 02:13:07 +00:00
Chris Lattner
f7bc6fd913
Rename the intrinsic enum values for llvm.va_* from Intrinsic::va_* to
...
Intrinsic::va*. This avoid conflicting with macros in the stdlib.h file.
llvm-svn: 12356
2004-03-13 00:24:00 +00:00
Chris Lattner
385008f77f
Fix PR266: Make Module Not Inherit From Annotable
...
llvm-svn: 12339
2004-03-12 19:51:16 +00:00
Misha Brukman
50aeb0a322
Add AnalysisUsage::addRequiredTransitive() to keep analysis info alive for
...
future queries by clients.
llvm-svn: 12329
2004-03-12 06:13:15 +00:00
Chris Lattner
7aa1774b2e
Add the visitSelectInst visitor method
...
llvm-svn: 12312
2004-03-12 05:51:22 +00:00
Chris Lattner
af48c75f7d
Add the SelectInst class
...
llvm-svn: 12311
2004-03-12 05:51:05 +00:00
Chris Lattner
c228dd36a3
Add the Instruction::Select enum
...
llvm-svn: 12310
2004-03-12 05:50:53 +00:00
Chris Lattner
e77ff566cb
Add support for select constant exprs
...
llvm-svn: 12309
2004-03-12 05:50:39 +00:00
Misha Brukman
384b4b20d4
Move function implementations to a .cpp file, avoid #including <cstdlib> here.
...
llvm-svn: 12296
2004-03-11 23:52:03 +00:00
Misha Brukman
62d611f21b
Forward-declare templates for fix compilation when Argument.h is included first.
...
llvm-svn: 12295
2004-03-11 23:42:24 +00:00
Misha Brukman
6ed546e3d2
Doxygenified and cleand up comments.
...
llvm-svn: 12294
2004-03-11 23:08:20 +00:00
Chris Lattner
2fef10e580
new method
...
llvm-svn: 12263
2004-03-09 19:36:59 +00:00
Chris Lattner
bf888377d5
Switch over to using edge profile information as the basic profiling representation,
...
from basic block counts.
llvm-svn: 12241
2004-03-08 22:03:45 +00:00
Chris Lattner
3b0551752b
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.
llvm-svn: 12239
2004-03-08 21:30:18 +00:00
Chris Lattner
09255cd709
Rearrange some methods, implement the dominates method
...
llvm-svn: 12237
2004-03-08 21:07:12 +00:00
Chris Lattner
91ea0d3176
Import the trace class from the reoptimizer
...
llvm-svn: 12236
2004-03-08 20:57:27 +00:00
Chris Lattner
529e3b261d
Add the ability to put an annotation at the end of a basic block as well.
...
llvm-svn: 12230
2004-03-08 18:51:05 +00:00
Chris Lattner
525635b764
Add support for representing edge counts
...
llvm-svn: 12228
2004-03-08 18:19:37 +00:00
Chris Lattner
164ebd3be3
Remove Module::mutateConstantPointerRef, which is now thankfully dead!
...
llvm-svn: 12215
2004-03-08 06:15:33 +00:00
Chris Lattner
db6e86b1ed
remove *THANKFULLY* dead method
...
llvm-svn: 12213
2004-03-08 06:10:32 +00:00
Chris Lattner
db27e586bf
Add prototype
...
llvm-svn: 12194
2004-03-07 21:30:08 +00:00
Brian Gaeke
0b913593ae
make -print-machineinstrs work for both SparcV9 and X86
...
llvm-svn: 12122
2004-03-04 19:16:23 +00:00
Alkis Evlogimenos
64aa7f3708
Fix bug introduced by yesterday's changes.
...
llvm-svn: 12119
2004-03-04 18:02:07 +00:00
Chris Lattner
fb8eb94027
Rename method, add new method
...
llvm-svn: 12103
2004-03-03 22:00:20 +00:00
Chris Lattner
43d5238d45
De-inline methods
...
llvm-svn: 12101
2004-03-03 20:55:15 +00:00
Brian Gaeke
aa96ff7926
Make MachineOperand's value named 'contents'. Make really, really sure
...
it is always completely initialized and copied.
Also, fix up many comments and asserts.
llvm-svn: 12100
2004-03-03 19:07:27 +00:00
Chris Lattner
8f80c299f2
Add a new constructor
...
llvm-svn: 12087
2004-03-03 02:12:47 +00:00
Misha Brukman
057b5d5519
Add prototype for ExtractCodeRegion()
...
llvm-svn: 12069
2004-03-02 00:20:32 +00:00
Chris Lattner
ed70152b7d
Add new method
...
llvm-svn: 12056
2004-03-01 19:36:50 +00:00
Misha Brukman
c727b11790
Fix grammar and doxygenify comments.
...
llvm-svn: 12054
2004-03-01 18:31:19 +00:00
Misha Brukman
f5abaea3a5
Add ability to extract a single basic block into a new function.
...
llvm-svn: 12052
2004-03-01 18:27:13 +00:00
Brian Gaeke
b78f8498f0
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.
llvm-svn: 12043
2004-03-01 06:43:29 +00:00
Chris Lattner
176413cedb
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.
llvm-svn: 12025
2004-03-01 01:42:26 +00:00
Chris Lattner
980840a607
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.
llvm-svn: 12023
2004-03-01 01:25:37 +00:00
Misha Brukman
13230a9e07
Doxygenify comments.
...
llvm-svn: 12015
2004-02-29 23:55:11 +00:00
Chris Lattner
f20d4af4e1
Module does not need to be annotatable aka annotable
...
llvm-svn: 12005
2004-02-29 19:27:55 +00:00
Chris Lattner
4c7ed6793e
Remove public header. It's been moved to lib/Target/SparcV9
...
llvm-svn: 12004
2004-02-29 19:13:20 +00:00
Chris Lattner
df24575c31
Do not use explicit casts that hide the dependence on Instruction being
...
annotable
llvm-svn: 12000
2004-02-29 19:02:26 +00:00
Chris Lattner
252e887094
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.
llvm-svn: 11999
2004-02-29 18:54:23 +00:00
Brian Gaeke
8303cb575e
Remove dead member variables of SparcV9SchedInfo and TargetSchedInfo
...
llvm-svn: 11994
2004-02-29 08:40:03 +00:00
Chris Lattner
b5f0e162c7
Eliminate the distinction between "real" and "unreal" instructions
...
llvm-svn: 11986
2004-02-29 06:31:16 +00:00
Chris Lattner
e4db708a7c
Scrap a huge layer of cruft out of this interface.
...
llvm-svn: 11980
2004-02-29 05:57:21 +00:00
Chris Lattner
768b31fc77
Remove unneeded #include
...
llvm-svn: 11978
2004-02-29 05:15:56 +00:00
Chris Lattner
34977159b3
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.
llvm-svn: 11976
2004-02-29 05:06:49 +00:00
Chris Lattner
85dd74a158
Add BuildMI variants that take a MBB::iterator
...
llvm-svn: 11975
2004-02-29 04:55:28 +00:00
Chris Lattner
38ae1362de
Add hook for V8 target
...
llvm-svn: 11961
2004-02-28 19:54:16 +00:00
Misha Brukman
13b5b048fb
New Function-level transformation utils.
...
llvm-svn: 11938
2004-02-28 03:33:30 +00:00
Misha Brukman
1ddb180929
Add the prototype for the LoopExtractor Pass.
...
llvm-svn: 11937
2004-02-28 03:33:17 +00:00
Alkis Evlogimenos
5193c08a8a
Make MachineOperand's immediate value an int and save 4 bytes out of
...
each MachineOperand. We don't really need an int64_t immediate :-).
llvm-svn: 11906
2004-02-27 15:05:28 +00:00
Misha Brukman
c9d7938462
Doxygenify comments.
...
llvm-svn: 11891
2004-02-26 23:20:29 +00:00
Misha Brukman
cb8fb60617
Doxygenify and tersify comments.
...
llvm-svn: 11890
2004-02-26 23:20:08 +00:00
Alkis Evlogimenos
b15631fcfa
Uncomment assertions that register# != 0 on calls to
...
MRegisterInfo::is{Physical,Virtual}Register. Apply appropriate fixes
to relevant files.
llvm-svn: 11882
2004-02-26 22:00:20 +00:00
Chris Lattner
f7cc508c0a
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... :)
llvm-svn: 11878
2004-02-26 08:08:38 +00:00
Chris Lattner
3235a2b876
Make TargetData no longer use annotations!
...
llvm-svn: 11874
2004-02-26 08:01:57 +00:00
Chris Lattner
aa6f7cb4e4
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.
llvm-svn: 11871
2004-02-26 07:24:18 +00:00
Alkis Evlogimenos
a198c0148c
Temporarily comment out asserts as they break things. I will uncomment
...
them when all the problem areas are fixed.
llvm-svn: 11855
2004-02-25 23:56:36 +00:00
Brian Gaeke
aba4159be8
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.
llvm-svn: 11845
2004-02-25 23:01:48 +00:00
Alkis Evlogimenos
0865239405
Duh, forgot to close the parenthesis.
...
llvm-svn: 11843
2004-02-25 22:07:14 +00:00
Alkis Evlogimenos
5b45bf1940
Add assert to isPhysicalRegister and isVirtualRegister to fail when
...
passed the special 'register' 0.
llvm-svn: 11842
2004-02-25 22:04:28 +00:00
Alkis Evlogimenos
f1516015af
Add DenseMap template and actually use it for for mapping virtual regs
...
to objects.
llvm-svn: 11840
2004-02-25 21:55:45 +00:00
Chris Lattner
64cbbad38e
Add prototype
...
llvm-svn: 11837
2004-02-25 21:34:51 +00:00
Brian Gaeke
c6de948cd1
Great renaming part II: Sparc --> SparcV9 (also includes command-line options and Makefiles)
...
llvm-svn: 11827
2004-02-25 19:08:12 +00:00
Brian Gaeke
eae0364189
FunctionLiveVarInfo.h moved: include/llvm/CodeGen -> lib/Target/Sparc/LiveVar
...
llvm-svn: 11804
2004-02-24 19:46:00 +00:00
Chris Lattner
9f2c8c7ea5
Add some helpful methods for dealing with switch instructions
...
llvm-svn: 11794
2004-02-24 06:26:00 +00:00
Alkis Evlogimenos
9b103024ef
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).
llvm-svn: 11748
2004-02-23 18:14:48 +00:00
Alkis Evlogimenos
850bd0819f
Move LiveIntervals.h to lib/CodeGen since it shouldn't be exposed to other parts of the compiler
...
llvm-svn: 11719
2004-02-23 00:50:15 +00:00
Alkis Evlogimenos
7f7d70a53c
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).
llvm-svn: 11715
2004-02-22 19:23:26 +00:00
Alkis Evlogimenos
abc8efe386
Fix silly bug in implementation of getUseType(). Thanks Misha.
...
llvm-svn: 11711
2004-02-22 07:24:19 +00:00
Alkis Evlogimenos
6998610eda
When folding memory operands in machine instructions be careful to
...
leave register operands with the same use/def flags as the original
instruction.
llvm-svn: 11709
2004-02-22 06:54:26 +00:00
Chris Lattner
a3f44e7098
Significantly simplify gep_type_iterator, and make its interface more general/powerful
...
llvm-svn: 11708
2004-02-22 06:27:03 +00:00
Alkis Evlogimenos
32d12d31ae
Abstract merging of ranges away from number of slots per instruction.
...
Also make it less aggressive as the current implementation breaks in
some cases.
llvm-svn: 11696
2004-02-22 04:05:13 +00:00
Chris Lattner
7906b0bc03
Update comments and add warning
...
llvm-svn: 11691
2004-02-21 22:27:20 +00:00
Alkis Evlogimenos
f32239a5c6
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.
llvm-svn: 11654
2004-02-20 06:15:40 +00:00
Chris Lattner
1316ee07fa
Add a method useful for updating DSA
...
llvm-svn: 11636
2004-02-19 21:27:50 +00:00
Chris Lattner
6c338f7627
ADd a method for when an instruction moves
...
llvm-svn: 11626
2004-02-19 18:28:22 +00:00
Chris Lattner
436ab13009
Add a MachineBasicBlock::getParent() method
...
llvm-svn: 11622
2004-02-19 16:13:54 +00:00
Alkis Evlogimenos
59c646da40
Make ToolExecutionError inherit std::exception and implement its
...
interface: getMessage() is gone, use what() instead.
llvm-svn: 11621
2004-02-19 07:39:26 +00:00
Alkis Evlogimenos
ef9c4f4339
This is needed by assignment verification in linear-scan.
...
llvm-svn: 11618
2004-02-19 01:10:55 +00:00
Chris Lattner
00012233a7
Add support for just compiling a program
...
llvm-svn: 11610
2004-02-18 23:24:29 +00:00
Alkis Evlogimenos
d4fd43dee8
Move unused typedefs in private section. Add method to return interval
...
given a register.
llvm-svn: 11608
2004-02-18 23:14:52 +00:00
Chris Lattner
15a1c4c452
Byebye method
...
llvm-svn: 11598
2004-02-18 20:38:12 +00:00
Chris Lattner
72ce97cc95
When an error occurs executing a tool, we now throw an exception instead
...
of calling exit(1).
llvm-svn: 11593
2004-02-18 20:21:57 +00:00
Chris Lattner
34f3bce70c
eliminate a pair of really inefficient methods now that noone uses them
...
llvm-svn: 11579
2004-02-18 16:45:22 +00:00
Chris Lattner
f877cd09d0
The CBE is no longer in llvm-dis
...
llvm-svn: 11532
2004-02-17 06:39:48 +00:00
Chris Lattner
affbcb6be5
Simplify and document the new interface
...
llvm-svn: 11524
2004-02-17 05:54:26 +00:00
Alkis Evlogimenos
a479dc4715
Add LiveIntervals::Interval::empty() member function.
...
llvm-svn: 11520
2004-02-17 05:14:37 +00:00
Alkis Evlogimenos
c4ec9111bb
Add API to check and fold memory operands into instructions.
...
llvm-svn: 11519
2004-02-17 04:33:18 +00:00
Chris Lattner
0b89611d3f
Add two missing pieces from last checkin
...
llvm-svn: 11513
2004-02-17 03:03:36 +00:00
Chris Lattner
e26c3df17f
Rearrange code to eliminate warnings
...
llvm-svn: 11512
2004-02-17 02:58:36 +00:00
Alkis Evlogimenos
790b000aa7
Add LeakDetection to MachineInstr.
...
Move out of line member functions of MachineBasicBlock to
MachineBasicBlock.cpp.
llvm-svn: 11497
2004-02-16 07:17:43 +00:00
Alkis Evlogimenos
1026a01d5a
Eliminate the use of spill (reserved) registers.
...
llvm-svn: 11476
2004-02-15 10:24:21 +00:00
Chris Lattner
363cd9e4b8
Add a new ConstantAggregateZero class, to fix PR239. This makes zero
...
initializers for constant structs and arrays take constant space, instead of
space proportinal to the number of elements. This reduces the memory usage of
the LLVM compiler by hundreds of megabytes when compiling some nasty SPEC95
benchmarks.
llvm-svn: 11470
2004-02-15 05:53:04 +00:00
Chris Lattner
bbe538e930
finegrainify namespacification
...
llvm-svn: 11469
2004-02-15 05:52:36 +00:00
Chris Lattner
0f819b9523
ConstantArray::get and ConstantStruct::get now just return pointers to
...
'Constant', instead of specific subclass pointers. In the future, these will
return an instance of ConstantAggregateZero if all of the inputs are zeros.
llvm-svn: 11467
2004-02-15 04:14:47 +00:00
Chris Lattner
b8bfcaff7e
The prologue/epilogue related method calls have no reason to return a value,
...
make them return void.
llvm-svn: 11447
2004-02-14 19:49:05 +00:00
Chris Lattner
cdfcb976c7
Add llvm.memset/frameaddress/returnaddress intrinsics.
...
llvm-svn: 11431
2004-02-14 02:47:17 +00:00
Chris Lattner
1bad051558
Add method
...
llvm-svn: 11425
2004-02-14 00:30:31 +00:00
Chris Lattner
8641f2fb58
Make sure to provide a prototype for the cbackend
...
llvm-svn: 11419
2004-02-13 23:36:03 +00:00
Chris Lattner
c3f1cb677f
The cbackend has never had anything to do with llvm assembly writing
...
llvm-svn: 11411
2004-02-13 23:19:51 +00:00
Chris Lattner
d2cd0afd11
Change access to the cwriter
...
llvm-svn: 11406
2004-02-13 23:00:45 +00:00
Alkis Evlogimenos
6d6ab846af
Remove getAllocatedRegNum(). Use getReg() instead.
...
llvm-svn: 11393
2004-02-13 21:01:20 +00:00
Alkis Evlogimenos
e504fa6710
Mark MachineBasicBlock::operator[] deprecated.
...
llvm-svn: 11392
2004-02-13 20:05:56 +00:00
Alkis Evlogimenos
c109214f58
Add getNumVirtualRegs().
...
Whitespace cleanups.
llvm-svn: 11388
2004-02-13 18:07:06 +00:00
Misha Brukman
47df5a35ec
Fix spelling of `tendency'.
...
llvm-svn: 11378
2004-02-13 16:23:14 +00:00