Misha Brukman
f1dcfcbb96
Tabs to spaces.
...
llvm-svn: 15010
2004-07-19 21:22:02 +00:00
Misha Brukman
ab7bc6af0d
Convert tabs to spaces; fix name of function in assert() description.
...
llvm-svn: 15009
2004-07-19 21:11:45 +00:00
Chris Lattner
58a6310e16
Fix comment
...
llvm-svn: 15002
2004-07-19 13:28:39 +00:00
Chris Lattner
773c66b02c
Delete 4 methods, make clients use hte mark* methods directly
...
llvm-svn: 14999
2004-07-19 07:52:25 +00:00
Chris Lattner
22728e2f27
There is no need to store the MBB along with the MI any more, we can now
...
ask instructions for their parent.
llvm-svn: 14998
2004-07-19 07:04:55 +00:00
Chris Lattner
6c34920110
Simplify the interface to LiveVariables::addVirtualRegister(Killed|Dead)
...
llvm-svn: 14997
2004-07-19 06:55:21 +00:00
Chris Lattner
53fa752649
Remove the DefBlock element of VarInfo. DefBlock is always DefInst->getParent()
...
llvm-svn: 14996
2004-07-19 06:26:50 +00:00
Chris Lattner
5a4eaff632
inline classof implementations, eliminate use of virtual methods.
...
classof<ConstantXXX> is now MUCH faster than it used to be.
llvm-svn: 14986
2004-07-19 00:58:47 +00:00
Chris Lattner
64444580a8
eliminate isConstantExpr, changes to isa<Constant> implementation
...
llvm-svn: 14985
2004-07-19 00:58:02 +00:00
Chris Lattner
07963adecb
Add new enum entries for ConstantAggregateZeroVal/ConstantExprVal and
...
rename ConstantVal to SimpleConstantVal
llvm-svn: 14984
2004-07-19 00:57:40 +00:00
Chris Lattner
2196acc9f2
Change method to return void. Inline dtor
...
llvm-svn: 14982
2004-07-19 00:55:19 +00:00
Chris Lattner
40107200fc
Remove dead file
...
llvm-svn: 14981
2004-07-18 23:44:15 +00:00
Reid Spencer
a9c7165018
Add a missing space to align comments.
...
llvm-svn: 14955
2004-07-18 00:56:58 +00:00
Reid Spencer
79ff7a8ec9
Fix typeos in comments.
...
llvm-svn: 14954
2004-07-18 00:55:49 +00:00
Reid Spencer
d7fbd79a5b
bug 122:
...
remove redundant isa<GlobalValue>
ensure isa<GlobalValue> case is processed before is<Constant>
llvm-svn: 14926
2004-07-17 23:36:58 +00:00
Reid Spencer
fe177d219a
bug 122:
...
- Add ValueListTy to TypeTy so that the bcreader can have its own User
category that won't get factored into any optimizations or cleanup.
- Correct an isa_impl to correctly include GlobalValue now that it isa
Constant.
llvm-svn: 14925
2004-07-17 23:34:47 +00:00
Reid Spencer
b0ee45b970
bug 122:
...
Remove redundancy in User::classof(Value*); GlobalValue isa Constant now.
llvm-svn: 14924
2004-07-17 23:32:11 +00:00
Reid Spencer
e45193c610
Fix a comment.
...
llvm-svn: 14923
2004-07-17 23:30:45 +00:00
Reid Spencer
c197914ffd
bug 122:
...
We don't need to keep track of CPRs any more.
llvm-svn: 14922
2004-07-17 23:30:11 +00:00
Reid Spencer
058e3a12ce
bug 122:
...
Now that GlobalVariable is a constant (via derivation from GlobalValue),
override the replaceUsesOfWithOnConstant method.
llvm-svn: 14921
2004-07-17 23:29:46 +00:00
Reid Spencer
bedeb65525
bug 122:
...
- derive from Constant
- declare needed overrides from Constant class
llvm-svn: 14920
2004-07-17 23:28:28 +00:00
Reid Spencer
51fd2506ad
****** ABOLISH ConstantPointerRef *****
...
llvm-svn: 14919
2004-07-17 23:26:57 +00:00
Reid Spencer
cb46bb8158
Extend constructor so that it can support GlobalValue's (with names).
...
Make GlobalValue a "classof" Constant
Fix the classof(Value*) to include GlobalValue's
llvm-svn: 14918
2004-07-17 23:26:12 +00:00
Reid Spencer
0338d6578b
Constant value not needed after CPR's disappear.
...
llvm-svn: 14917
2004-07-17 23:23:30 +00:00
Reid Spencer
38fe11e63e
Added a README to point users to the documentation on the design of this
...
library which is a prerequisite for maintaining the library.
llvm-svn: 14909
2004-07-17 08:39:53 +00:00
Alkis Evlogimenos
ddd1db50f9
Add convinience constructor for function calls with two args.
...
llvm-svn: 14885
2004-07-16 12:04:28 +00:00
Chris Lattner
c19f2134fc
Final fix for PR341: eliminate operator<<(ostream, Value*). Clients should
...
now send references to ostreams instead of pointers. Sending pointers to
ostreams will print their addresses.
llvm-svn: 14849
2004-07-15 02:54:36 +00:00
Chris Lattner
94212f7102
Fixes for PR341
...
llvm-svn: 14847
2004-07-15 02:51:31 +00:00
Chris Lattner
5ab6b23a7d
Fix for PR341
...
llvm-svn: 14846
2004-07-15 02:50:38 +00:00
Chris Lattner
26e5829b8f
Yeah, how about those 'primative' types huh?
...
llvm-svn: 14836
2004-07-15 01:15:53 +00:00
Chris Lattner
9e4dad1400
Make PATypeHolder and friends return non-const pointers to the types they
...
hold. Because types are basically immutable anyway, they should not be
referenced as "const Type*" everywhere. Just "Type*" should suffice!
llvm-svn: 14824
2004-07-14 20:10:26 +00:00
Chris Lattner
91169a26b5
* Change code to use a static_cast instead of reinterpret_cast
...
* Add comments
* Add two new gep ctors for the very common case of creating a two operand
GEP instruction.
llvm-svn: 14820
2004-07-14 18:13:54 +00:00
Chris Lattner
10686c55cc
Add a helper method. The StructType element is completely redundant in most
...
cases
llvm-svn: 14777
2004-07-12 20:36:08 +00:00
Chris Lattner
528291513f
Add a missing #include
...
llvm-svn: 14773
2004-07-12 20:25:33 +00:00
Chris Lattner
4d2009965c
Implement a new method useful for things like the inliner
...
llvm-svn: 14768
2004-07-12 01:17:52 +00:00
Chris Lattner
050495885f
Add a new listener class for things that want to be informed about new
...
targets that are loaded
llvm-svn: 14758
2004-07-11 06:02:59 +00:00
Chris Lattner
2ea95d837e
Delete the allocate*TargetMachine functions. Move options to a header file
...
that makes sense.
llvm-svn: 14754
2004-07-11 04:15:52 +00:00
Chris Lattner
2a79beb587
Add a new TargetNameParser class, which is useful for parsing options.
...
Add two methods which are useful for autoselecting targets.
llvm-svn: 14748
2004-07-11 03:59:46 +00:00
Chris Lattner
195638502a
First cut at TargetMachineRegistry and RegisterTarget classes
...
llvm-svn: 14742
2004-07-11 02:43:43 +00:00
Chris Lattner
8b4d801eab
Add two new "virtual static" methods to the TargetMachine class
...
llvm-svn: 14741
2004-07-11 02:43:07 +00:00
Chris Lattner
a46346890c
Removed unneeded forward decl
...
llvm-svn: 14727
2004-07-09 17:02:57 +00:00
Chris Lattner
d3f73edc53
Remove unused method
...
llvm-svn: 14726
2004-07-09 16:48:13 +00:00
Chris Lattner
235331d922
Eliminate the UID field in the Type class, bringing it down to 28 bytes.
...
llvm-svn: 14709
2004-07-08 22:31:37 +00:00
Chris Lattner
c03416c90a
Add a new method
...
llvm-svn: 14705
2004-07-08 22:09:07 +00:00
Misha Brukman
54115c22de
Fix spelling of `equivalent'
...
llvm-svn: 14697
2004-07-08 17:45:18 +00:00
Chris Lattner
1aeb7ed7e4
isSigned/isUnsigned/isInteger methods do not need to be virtual
...
llvm-svn: 14694
2004-07-08 17:29:36 +00:00
Chris Lattner
74df119be3
Update comment.
...
Remove unused forward decl of Value.h
Make Type 32 bytes instead of 36 bytes
llvm-svn: 14692
2004-07-08 16:09:38 +00:00
Chris Lattner
c301c035d2
This file uses the Value class without a forward decl
...
llvm-svn: 14691
2004-07-08 15:54:29 +00:00
Alkis Evlogimenos
e7e19f771f
Add viewCFG() and viewCFGOnly() APIs.
...
llvm-svn: 14679
2004-07-08 00:47:58 +00:00
Chris Lattner
c2b3e11473
All of these now live in the DataStructure directory
...
llvm-svn: 14664
2004-07-07 06:32:53 +00:00
Chris Lattner
bd3218fef2
Move DSA headers into Analysis/DataStructure to make it more obvious
...
what is implemented by the DataStructure library.
llvm-svn: 14662
2004-07-07 06:29:26 +00:00
Chris Lattner
fb2f56c7c8
As much as I hate to say it, the whole setNode interface for DSNodeHandles
...
is HOPELESSLY broken. The problem is that the embedded getNode call can
change the offset of the node handle in unpredictable ways.
As it turns out, all of the clients of this method really want to set
both the node and the offset, thus it is more efficient (and less buggy)
to just do both of them in one method call. This fixes some obscure bugs
handling non-forwarded node handles.
llvm-svn: 14660
2004-07-07 06:12:52 +00:00
Reid Spencer
3e8a01d80f
Remove definition and use of OtherVal enumerator. This just fixes a thinko.
...
llvm-svn: 14634
2004-07-06 01:30:36 +00:00
Reid Spencer
37b31cbcba
Move SlotCalculator.h to lib/Bytecode/Writer since that is the only place
...
that needs it after the Type != Value changes (bug 122).
llvm-svn: 14605
2004-07-04 11:36:31 +00:00
Reid Spencer
725398ad54
Make all the virtual function (except destructor) inline so there are
...
default implementations without taking up a ton of space in a .cpp file.
llvm-svn: 14603
2004-07-04 11:29:56 +00:00
Reid Spencer
a53681ae93
Add a new, compatible, interface function for writing types as operands.
...
This is necessary because Types are no longer Values.
llvm-svn: 14598
2004-07-04 10:59:05 +00:00
Reid Spencer
925f7fd54c
Added #include <iostream> since this header is no longer picked up from
...
the Value.h header.
llvm-svn: 14597
2004-07-04 10:58:20 +00:00
Reid Spencer
678b551d2b
- Remove enumerator TypeVal since Values can't be types any more
...
- Remove isa_impl relationship between Types and Values
- Add OtherVal so "other" users can interact with Values.
llvm-svn: 14596
2004-07-04 10:52:28 +00:00
Reid Spencer
eb12af7769
There is no longer a "Type" primitive type because Values and Types are
...
now distinct.
llvm-svn: 14595
2004-07-04 10:50:43 +00:00
Reid Spencer
ff486345fd
Constify usage of Type* on the interface to ensure SymbolTable doesn't
...
modify types (it never should). Clean up some comments.
llvm-svn: 14594
2004-07-04 10:49:41 +00:00
Reid Spencer
037f53dadd
Remove all of the classof(const Value*) methods of the derived types since
...
the Type base class no longer derives from Value.
llvm-svn: 14593
2004-07-04 10:48:27 +00:00
Reid Spencer
01068980b7
Make Type have no base classes. Previously it inherited Value. Also
...
removed the TypeTyID and TypeTy members so that the notion of the
"Type Type" is no longer present in LLVM. Various other adjustments
resulting from these changes were also made.
llvm-svn: 14592
2004-07-04 10:46:49 +00:00
Chris Lattner
f0af72ac49
Fix Type::isSized() to realize that "{ opaque }" is not sized
...
llvm-svn: 14585
2004-07-02 23:20:17 +00:00
Chris Lattner
d61ef00bc5
Since we are in the department of redundancy department, at least be correct
...
llvm-svn: 14582
2004-07-02 18:41:18 +00:00
Chris Lattner
c71f8fcb8e
Add a new pass for code generators to use
...
llvm-svn: 14562
2004-07-02 05:44:13 +00:00
Misha Brukman
3f5007bdd0
* Doxygenify comments
...
* Tabs-to-spaces
llvm-svn: 14549
2004-07-01 20:42:00 +00:00
Chris Lattner
4a33b02af8
Move init methods out of line to enable better assertions, contributed
...
by Vladimir Merzliakov!
llvm-svn: 14545
2004-07-01 20:22:31 +00:00
Chris Lattner
08fb05fe14
Now that we have happy mappings from MBBs->numbers, use them instead of keeping
...
a LV private map
llvm-svn: 14522
2004-07-01 06:14:57 +00:00
Chris Lattner
d9411df2c0
Change the implementation of the autonumbering for MBB's a bit to provide
...
the reverse mapping as well as the mapping from MBB->unsigned
llvm-svn: 14519
2004-07-01 06:01:36 +00:00
Reid Spencer
54405c93a8
Provide support for the BytecodeHandler interface which will be called by
...
the bcreader if one is supplied to the bytecode reader's interface
functions.
llvm-svn: 14489
2004-06-29 23:20:03 +00:00
Reid Spencer
30929e9de2
Fix include guard
...
Adjust comments
Make handlers for constants provide useful information.
llvm-svn: 14488
2004-06-29 23:18:52 +00:00
Reid Spencer
4007ca4da9
Adjust comments to match code.
...
Allow analysis to return the module created by the bcreader.
llvm-svn: 14487
2004-06-29 23:17:34 +00:00
Chris Lattner
89393e9cfd
Add new header
...
llvm-svn: 14461
2004-06-28 06:31:26 +00:00
Chris Lattner
8f4173433d
Remove dead file
...
llvm-svn: 14459
2004-06-28 00:46:54 +00:00
Chris Lattner
adff3f7355
Remove two dead passes
...
llvm-svn: 14456
2004-06-28 00:43:25 +00:00
Chris Lattner
7de3acb655
Move file to lib/Analysis/DataStructure
...
llvm-svn: 14454
2004-06-28 00:40:43 +00:00
Chris Lattner
08f4d224e7
Moved to lib/analysis/datastructure
...
llvm-svn: 14451
2004-06-28 00:30:29 +00:00
Chris Lattner
552cc597c5
Moved to lib/Analysis/DataStructure
...
llvm-svn: 14449
2004-06-28 00:27:34 +00:00
Chris Lattner
de1c8b455c
Moved to lib/Analysis/DataStructure
...
llvm-svn: 14447
2004-06-28 00:20:39 +00:00
Chris Lattner
78e3b3650e
Now that the SparcV9 specific MachineCodeForInstruction class uses it's own
...
map on the side, Instruction no longer has to be Annotable. This reduces
the size of the Instruction class by another 4 bytes (on a 32-bit system).
llvm-svn: 14439
2004-06-27 18:57:34 +00:00
Chris Lattner
b6b8d6e242
This class is no longer an annotation
...
llvm-svn: 14437
2004-06-27 18:50:49 +00:00
Chris Lattner
642e65c537
Add a map of MachineCodeForInstruction objects to MachineFunctionInfo
...
llvm-svn: 14436
2004-06-27 18:50:30 +00:00
Chris Lattner
dd7c37af2e
Eliminate the Instruction::iType field, folding it into the Value::VTy field.
...
This reduces the size of the instruction class by 4 bytes, and means that
isa<CallInst>(V) (for example) only needs to do one load from memory instead
of two.
llvm-svn: 14434
2004-06-27 18:38:24 +00:00
Chris Lattner
19e5c047c7
Make it obvious that this file is bad bad bad
...
llvm-svn: 14432
2004-06-27 18:21:20 +00:00
Chris Lattner
2926c33e27
Make ctor inline, change ValueTy ->unsigned
...
llvm-svn: 14430
2004-06-27 18:01:15 +00:00
Chris Lattner
b6833e4a48
Consider anything with a ValueType that is >= Instruction to be an instruction
...
llvm-svn: 14429
2004-06-26 20:51:50 +00:00
Chris Lattner
e7d0c7576f
Rearrange some code.
...
llvm-svn: 14427
2004-06-26 20:33:27 +00:00
Chris Lattner
322e7a8990
Hey, why not just make 'new ReturnInst(BB)' DTRT?
...
llvm-svn: 14422
2004-06-25 23:10:30 +00:00
Chris Lattner
c466f996ca
new ReturnInst(BB) does not "do the right thing". Add an assert to catch it
...
sooner rather than later.
llvm-svn: 14421
2004-06-25 23:06:57 +00:00
Chris Lattner
2420a80afa
Prototype for new ConstantExpr lowering pass, contributed by Vladimir Prus!
...
llvm-svn: 14397
2004-06-25 07:41:06 +00:00
Reid Spencer
776fdd441f
- Changed Handler.h -> BytecodeHandler.h
...
- Fixed some small coding standard compliance issues in BytecodeHandler.h
llvm-svn: 14393
2004-06-25 02:32:27 +00:00
Chris Lattner
73f4c9fcd2
Okay, Module have not been known as 'C' for a LONG time now
...
llvm-svn: 14392
2004-06-25 00:42:23 +00:00
Tanya Lattner
da38dc5180
Made a fix so that you can print out MachineInstrs that belong to a MachineBasicBlock that is not yet attached to a MachineFunction. This change includes changing the third operand (TargetMachine) to a pointer for the MachineInstr::print function.
...
llvm-svn: 14389
2004-06-25 00:13:11 +00:00
Reid Spencer
fd6af2f261
Definition of the Bytecode Handler interface. Subclasses can override just
...
the methods they are interested in to perform out-of-band tasks while the
BytecodeReader is constructing a module. Handlers should *not* modify any
of the LLVM IR objects during this process.
llvm-svn: 14380
2004-06-24 23:05:07 +00:00
Chris Lattner
228e6d64d0
Remove distasteful method which is really part of the indvars pass
...
llvm-svn: 14359
2004-06-24 06:52:20 +00:00
Misha Brukman
0ae5becf22
Moved to include/llvm/Support
...
llvm-svn: 14350
2004-06-23 17:24:53 +00:00
Misha Brukman
e38f7ed2cc
Spell out `NoFramePointerElim' for readability.
...
llvm-svn: 14299
2004-06-21 21:17:44 +00:00
Misha Brukman
2b3c4ca665
Make a single `NoFPElim' switch available to all targets.
...
llvm-svn: 14296
2004-06-21 21:07:51 +00:00
Chris Lattner
3a8e3bce6c
Make ConstantBool act like a 1 bit ConstantInt, in order to simplify client
...
code. Patch contributed by Vladimir Prus.
llvm-svn: 14280
2004-06-21 12:12:12 +00:00
Chris Lattner
6f6b95abe2
Header moved into the CodeGen directory
...
llvm-svn: 14267
2004-06-20 07:50:32 +00:00
Chris Lattner
9da4181217
Start moving IntrinsicLowering out of VMCore into libcodegen, as per PR346
...
llvm-svn: 14264
2004-06-20 07:40:46 +00:00
Chris Lattner
ba933051e3
Add methods like BinaryOperator::createAdd that take an instruction to insert
...
before.
llvm-svn: 14261
2004-06-20 05:02:56 +00:00
Chris Lattner
49af533d57
Initial checkin of the StableBasicBlockNumbering, a little helper class for computing
...
(strangely enough) a stable (determinstic) numbering for basic blocks.
llvm-svn: 14246
2004-06-19 08:41:59 +00:00
Chris Lattner
0cd29ae2cd
Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()
...
llvm-svn: 14201
2004-06-17 18:19:28 +00:00
Brian Gaeke
9f7f63256d
I'm afraid this doesn't exist.
...
llvm-svn: 14193
2004-06-16 00:26:45 +00:00
Chris Lattner
7c3600a50e
isnan is dead
...
llvm-svn: 14191
2004-06-15 21:52:58 +00:00
Alkis Evlogimenos
9b28aef6cb
Add the isunordered intrinsic.
...
llvm-svn: 14159
2004-06-12 19:19:14 +00:00
Chris Lattner
a8fd205112
It is no longer 2001
...
llvm-svn: 14157
2004-06-11 21:12:22 +00:00
Misha Brukman
4fdc92647b
Fix grammar: 's is for possessive only.
...
llvm-svn: 14155
2004-06-11 16:50:21 +00:00
Reid Spencer
efdd7cd3ac
Implement tracking of bytecode instruction size and the number of long
...
instructions generated.
llvm-svn: 14154
2004-06-11 15:10:38 +00:00
Reid Spencer
7172b26a18
Revert an unneeded interface change to Instruction.h
...
llvm-svn: 14137
2004-06-11 03:06:43 +00:00
Chris Lattner
b07bf147cd
I misled Alkis: LLVM should have isnan, not isunordered.
...
isunordered(X, Y) === isnan(X) | isnan(Y)
Remove isunordered, add isnan.
llvm-svn: 14132
2004-06-11 02:29:43 +00:00
Alkis Evlogimenos
1ae8b4e7c4
Add the isunordered intrinsic.
...
llvm-svn: 14127
2004-06-11 01:08:18 +00:00
Reid Spencer
b2f8a70990
Updated the BytecodeAnalysis data structure to contain additional fields
...
needed for analysis of individual functions.
llvm-svn: 14125
2004-06-10 22:28:11 +00:00
Reid Spencer
aa6ccbcdee
Added an isPhiNode(unsigned) static method to determine if an opcode is
...
a PhiNode or not. Needed by Bytecode Analyzer.
llvm-svn: 14124
2004-06-10 22:27:10 +00:00
Misha Brukman
d3374cf482
Remove extra space.
...
llvm-svn: 14117
2004-06-10 12:51:35 +00:00
Reid Spencer
ce1adf1ff0
Implemented the bulk of the functionality. Cleaned up the code.
...
llvm-svn: 14113
2004-06-10 08:09:13 +00:00
Chris Lattner
9a3779e0a0
Add new BinaryOperator::createAdd/Sub/... methods to avoid having to type
...
llvm::Instruction:: all of the time.
llvm-svn: 14105
2004-06-10 01:43:29 +00:00
Reid Spencer
149dc84ce8
Add some new fields for bytecode analysis.
...
llvm-svn: 14092
2004-06-09 06:18:53 +00:00
Reid Spencer
323cc6283d
Cleaned up a dead header file to prevent duplicate definition warnings
...
in doxygen.
llvm-svn: 14084
2004-06-09 04:38:34 +00:00
Chris Lattner
2e3aa45491
I checked and no clients expect this to return null for unconditional branches
...
Simplify code and make it more uniform.
llvm-svn: 14077
2004-06-08 22:03:05 +00:00
Brian Gaeke
fb83999991
Add a forwarding method pop_front() that allows you to delete instructions
...
from the beginning of a MBB.
llvm-svn: 14074
2004-06-08 18:52:47 +00:00
Brian Gaeke
4b0b12c188
Add a TmpInstruction ctor that doesn't take a MCFI.
...
llvm-svn: 14073
2004-06-08 18:52:46 +00:00
Chris Lattner
95ac084df9
Apparently a particular vendor compiler uses the struct/class tag to MANGLE
...
symbols with. Therefore, if you do not use struct/class consistently, you can
get LINK ERRORS. grr.
This fixes the link errors for libsupport and vmcore.
-Chris
llvm-svn: 14070
2004-06-08 17:44:21 +00:00
Misha Brukman
db138d0f67
Fix case of doxygen directive `\p': it's lowercase.
...
llvm-svn: 14068
2004-06-08 13:49:17 +00:00
Chris Lattner
0c385225b2
Add documentation to the TargetFrameInfo class, contributed by Vladimir Prus
...
llvm-svn: 14060
2004-06-08 06:23:17 +00:00
Reid Spencer
03ec821b37
Clean up documentation and make it possible for the BytecodeAnalyzer to
...
store the output of the bytecode dumper.
llvm-svn: 14058
2004-06-08 05:55:53 +00:00
Reid Spencer
329505d08b
Commit For New Tool: llvm-abcd (Analysis of ByteCode Dumper). This tool
...
will (eventually) provide statistical analysis of bytecode files as well
as the ability to dump them in a low level format (slot numbers not
resolved). The purpose of this is to aid in the Type!=Value change of
bug 122. With this initial release, llvm-abcd merely dumps out the
bytecode. However, the infrastructure for separating bytecode parsing from
handling the parsing events is in place. The style chosen is similar to
SAX XML parsing where a handler object is called to handlign the parsing
events. This probably isn't useful to anyone but me right now as there is
no analysis yet, and the dumper doesn't work on every bytecode file. It
will probably be useful by the end of this week. Note that there is some
duplication of code from the bytecode reader. This was done to eliminate
errors from being introduced in the reader and to minimize the impact to
other LLVM developers. At some point, the Analyzer and the Reader will be
integrated to use the same infrastructure. Also, sorry for the minor change
to Instruction.h but I just couldn't bring myself to write code that
depends on Instruction internals.
llvm-svn: 14048
2004-06-07 17:53:43 +00:00
Chris Lattner
202207c83f
Warning foo
...
llvm-svn: 14035
2004-06-05 00:17:13 +00:00
Misha Brukman
b07dadab93
Revert ostream back to reference: the only user (llvm-tv) no longer needs it.
...
llvm-svn: 14029
2004-06-04 21:10:35 +00:00
Chris Lattner
68ee80d686
Fix more warnings
...
llvm-svn: 14024
2004-06-04 20:39:05 +00:00
Chris Lattner
192d223d78
Remove support for printing strings from the cached writer
...
llvm-svn: 14023
2004-06-04 20:34:51 +00:00
Chris Lattner
11d0f8d30e
Fix a nasty bug that caused areAliases to always return false.
...
Bug fix courtesy of Anshu Dasgupta
llvm-svn: 14011
2004-06-04 17:03:11 +00:00
Misha Brukman
d608ac24d7
Clarify documentation and use correct doxygen comment form /// vs. // .
...
Thanks to Vladimir Prus for corrections.
llvm-svn: 14009
2004-06-04 14:51:25 +00:00
Chris Lattner
a079b13320
Adjust argument to match destination data type
...
llvm-svn: 13993
2004-06-03 21:14:56 +00:00
Chris Lattner
54280727f7
Don't use identifiers that start with an _
...
llvm-svn: 13992
2004-06-03 21:12:02 +00:00
Misha Brukman
0366f47359
Fix case of doxygen directive \p.
...
llvm-svn: 13985
2004-06-03 15:14:00 +00:00
Brian Gaeke
e3e792cefa
Collapse together the abstract superclass TargetRegInfo and SparcV9RegInfo, its
...
only concrete implementation.
llvm-svn: 13977
2004-06-03 02:45:09 +00:00
Chris Lattner
2963942e84
Delete the V9 specific findOptimalStorageSize method, inlining it into all callers.
...
Substantially clean up all target implementations by having the OPTIONAL get*Info
methods return a pointer instead of a reference. This allows us to have default
implementations!
llvm-svn: 13950
2004-06-02 05:53:25 +00:00
Chris Lattner
66a81809ff
Eliminate this form of SymbolTable::remove. It ignores the type argument
...
anyway. Add a form that takes a type_iterator for the C backend.
llvm-svn: 13873
2004-05-28 05:30:29 +00:00
Chris Lattner
04dd3fe76d
Moved header from include/Support/ to include/llvm/System
...
llvm-svn: 13810
2004-05-27 05:30:18 +00:00
Alkis Evlogimenos
2c463a8a99
Add constructors that take a BasicBlock to append to, to the rest of
...
the llvm::Instruction hierarchy.
llvm-svn: 13800
2004-05-27 00:15:23 +00:00
Alkis Evlogimenos
bf27c54995
Inline trivial constructors.
...
llvm-svn: 13797
2004-05-26 22:07:18 +00:00
Reid Spencer
9a0451787d
Provide the correct patch for bug 345. The solution is to add a setTypeName
...
function to llvmAsmParser.y and then use it in the one place in the grammar
that needs it. Also had to make Type::setName public because setTypeName
needs it in order to retain compatibility with setValueName.
llvm-svn: 13795
2004-05-26 21:48:31 +00:00
Reid Spencer
e4f0ec88eb
Tighten up checking on SymbolTable interface to make it illegal to pass a
...
Type* where a Value* is expected.
llvm-svn: 13794
2004-05-26 21:46:18 +00:00
Alkis Evlogimenos
edff018f18
Refactor common initialization code in private init() functions.
...
This is a first step in supplying append to basic block constructors
for all instruction types.
llvm-svn: 13793
2004-05-26 21:41:09 +00:00
Misha Brukman
d6ce85d48c
Fix spelling of doxygen directive.
...
llvm-svn: 13791
2004-05-26 17:42:51 +00:00
Reid Spencer
dccf1747a1
Part of bug 122:
...
This change removes the BuildBytecodeInfo flag from the SlotCalculator
class. This flag was needed to distinguish between the Bytecode/Writer
and the AsmWriter. Now that AsmWriter doesn't use SlotCalculator, we can
remove this flag and simplify some code. Also, some minor name changes
to CachedWriter.h needed to be committed (missed in previous commit).
llvm-svn: 13785
2004-05-26 07:37:11 +00:00
Reid Spencer
8e6d7148c1
Make the constructor explicit so we can't implicitly convert bool to
...
SlotTable.
llvm-svn: 13766
2004-05-25 19:09:25 +00:00
Reid Spencer
92adcaf58c
Adding the initial implementation of the SlotTable class. This class is
...
the Abstract Data Type that holds slot number values and associates them
with Type* and Value*. The SlotTable is simply the holder of the slot
numbers and provides a controlled interface for building the table. It does
not enforce any particular idiom or functionality for manipulating the slot
numbers.
This is part of bug_122. The SlotCalculator and SlotMachine classes will
follow.
llvm-svn: 13764
2004-05-25 18:44:51 +00:00
Reid Spencer
122d536042
Removed unused, useless header file.
...
llvm-svn: 13757
2004-05-25 17:28:35 +00:00
Reid Spencer
495ac831bb
Give Type its own dump() method in preparation for Type != Value.
...
llvm-svn: 13746
2004-05-25 08:46:04 +00:00
Reid Spencer
987a052f3a
Completely rewrote the class. SymbolTable now separates Type* from Value* in preparation\
...
for making Type not derive from Value. There are now separate interfaces \
for looking up, finding, and inserting Types and Values. There are also \
three separate iterator interfaces, one for type planes, one for the types \
(type type plane), and one for values within a type plane. See the \
documentation in the Header file.
llvm-svn: 13745
2004-05-25 08:45:53 +00:00
Reid Spencer
33a58c0a10
Convert dump() method to call Type::dump() instead of Value::dump().
...
llvm-svn: 13744
2004-05-25 08:45:42 +00:00
Chris Lattner
0185a86e38
Add some helpers
...
llvm-svn: 13737
2004-05-25 05:32:13 +00:00
Tanya Lattner
7cf16701f7
Moved MachineBasicBlock deconstructor to cpp file and removed it from LeakDetector to fix memory leak bug.
...
llvm-svn: 13718
2004-05-24 07:14:35 +00:00
Tanya Lattner
aabaaec037
Added MachineFunction parent* to MachineBasicBlock. Customized ilist template
...
to set the parent when a MachineBasicBlock is added to a MachineFunction.
llvm-svn: 13716
2004-05-24 06:11:51 +00:00
Tanya Lattner
55477a5af1
Changed clone to be const.
...
Changed copy constructor to set parent, prev, and next pointers to null.
llvm-svn: 13706
2004-05-24 03:14:18 +00:00
Chris Lattner
a65df8b576
Add the new GC intrinsics
...
llvm-svn: 13686
2004-05-23 21:16:33 +00:00
Chris Lattner
f9d9fd95bd
Add a new prototype
...
llvm-svn: 13685
2004-05-23 21:16:13 +00:00
Chris Lattner
bdc2cf6dec
Several *major* changes to the AA interfaces:
...
1. Provide interfaces so that clients can update alias analyses to reflect
the changes made by the transformations.
2. Change how alias analysis implementations work overall. In particular,
now clients will automatically forward to chained AA implementations: they
don't have to remember to do it themselves.
llvm-svn: 13678
2004-05-23 21:12:38 +00:00
Chris Lattner
fe63a87a98
Add interfaces to update value numbering results
...
llvm-svn: 13677
2004-05-23 21:11:17 +00:00
Chris Lattner
0588bd19d2
Rename a method
...
llvm-svn: 13676
2004-05-23 21:10:58 +00:00
Tanya Lattner
e755fc6689
Fixed up my changes to add support for cloning Machine Instructions.
...
llvm-svn: 13665
2004-05-23 20:58:02 +00:00
Alkis Evlogimenos
b8938f3fec
Remove virtual destructor from InstVisitor. This class should never be
...
used through a base pointer/reference so inproper destruction should
never be an issue. Removing this last virtual function also saves 4
bytes off each InstVisitor instance.
llvm-svn: 13664
2004-05-23 20:54:39 +00:00
Tanya Lattner
2848065a29
Adding support to clone MachineInstr
...
llvm-svn: 13661
2004-05-23 19:35:12 +00:00
Vikram S. Adve
f4fed4aaa2
Add getCaller() method.
...
llvm-svn: 13650
2004-05-23 08:02:45 +00:00
Vikram S. Adve
893c53a559
Fix size/offset assertion to allow negative offsets and folded nodes.
...
llvm-svn: 13644
2004-05-23 07:34:53 +00:00
Brian Gaeke
f00f4ca846
Fix a typo in the head-of-file comment.
...
Rewrite the comments about the different versions of BuildMI, to
better emphasize their differences.
llvm-svn: 13642
2004-05-23 05:04:00 +00:00
Chris Lattner
628e839194
It's not clear to me whether the old version was correct C++ code, but in
...
any case it's not portable.
llvm-svn: 13621
2004-05-21 18:38:16 +00:00
Chris Lattner
068c3a1858
Starting an identifier with an _ is not legal C/C++ code.
...
llvm-svn: 13620
2004-05-21 18:37:13 +00:00
Alkis Evlogimenos
fd3b0971bf
Declare function defined in namespace llvm as gcc-3.4 doesn't accept a definition in a namespace of a non-declared function.
...
llvm-svn: 13602
2004-05-19 19:17:48 +00:00
Misha Brukman
eb2d4f5589
Minor aesthetic alignments; no functional changes.
...
llvm-svn: 13593
2004-05-17 22:28:21 +00:00
Misha Brukman
d32edbdc09
* Minor aesthetic alignment of iterator declarations
...
* Removed redundant function comments
llvm-svn: 13592
2004-05-17 22:25:12 +00:00
Brian Gaeke
6e9dd8d3cc
Define erase forwarding method on traces
...
llvm-svn: 13591
2004-05-17 21:17:21 +00:00
Brian Gaeke
b964085c4c
Fix a comment.
...
llvm-svn: 13518
2004-05-12 21:57:23 +00:00
Brian Gaeke
0315644cd7
Add a NextMBBNumber field w/ incrementing accessor method, for
...
function-level unique numbering of MBBs.
llvm-svn: 13513
2004-05-12 21:35:21 +00:00
Brian Gaeke
a0d9f814da
Add a Number field w/ accessor method, for function-level unique numbering
...
of MBBs.
Add non-const MachineBasicBlock::getParent() accessor method.
llvm-svn: 13512
2004-05-12 21:35:20 +00:00
Chris Lattner
337ea7709a
Add support for inserting all prototypes up-front
...
llvm-svn: 13431
2004-05-09 04:29:49 +00:00
Tanya Lattner
c69bb49340
Fixed up sched graph.
...
llvm-svn: 13428
2004-05-08 16:14:24 +00:00
Tanya Lattner
9b4ee61855
Registering the ModuloScheduling pass.
...
llvm-svn: 13427
2004-05-08 16:14:02 +00:00
Tanya Lattner
f97f4f8760
Changed CPUResource to allow access to max num users for a resource.
...
Also added ModuloScheduling as a friend.
llvm-svn: 13426
2004-05-08 16:13:26 +00:00
Alkis Evlogimenos
6345ab33dd
Fix for gcc3.4: invalid use of forward delacred class on line 93
...
llvm-svn: 13370
2004-05-06 02:07:42 +00:00
Brian Gaeke
2165451812
Apply simplification suggested by Chris: why assign() when operator = will do?
...
llvm-svn: 13364
2004-05-04 22:02:41 +00:00
Brian Gaeke
ba26360c7e
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.
llvm-svn: 13356
2004-05-04 21:09:01 +00:00
Misha Brukman
4d6a3d4e1e
Provide visit(Module&) and visitModule(Module&) functionality.
...
llvm-svn: 13353
2004-05-04 18:30:38 +00:00
Brian Gaeke
e9fab81769
Add BBTrace accessor method and data member.
...
llvm-svn: 13351
2004-05-04 17:11:13 +00:00
Brian Gaeke
c9d203e3d2
New header file containing profile info enums shared between the C++ analysis
...
libraries and the C runtime support library
llvm-svn: 13347
2004-05-04 16:57:57 +00:00
Chris Lattner
2e752b62b4
Initialize member out of paranoia
...
llvm-svn: 13319
2004-05-02 16:06:40 +00:00
Brian Gaeke
397162e886
Chris told me to take these assertions out a few days ago, but I forgot to
...
check this in.
llvm-svn: 13313
2004-05-02 01:04:52 +00:00
Chris Lattner
dd7eb23ccf
Stop LiveVariables from using BasicBlocks as part of the mapping, instead
...
use MachineBasicBlocks.
llvm-svn: 13300
2004-05-01 21:23:35 +00:00
Chris Lattner
939685e14b
Move the GraphTraits for MachineBasicBlocks to the MachineBasicBlock file.
...
llvm-svn: 13299
2004-05-01 21:05:34 +00:00
Tanya Lattner
6332b09438
Sorry, now friend class name should be right!!
...
llvm-svn: 13294
2004-04-30 20:48:37 +00:00
Tanya Lattner
7a414c92c2
Fixed friend class name for ModuloScheduling.
...
llvm-svn: 13293
2004-04-30 20:47:59 +00:00
Tanya Lattner
185c13da4c
Fixed friend class name for ModuloSched
...
llvm-svn: 13292
2004-04-30 20:46:40 +00:00
Tanya Lattner
077c819d5a
Removing MachineResource class.
...
llvm-svn: 13291
2004-04-30 20:40:38 +00:00
Brian Gaeke
af5e2f1ea5
Add machine-CFG graph traits specializations.
...
llvm-svn: 13288
2004-04-29 17:43:55 +00:00
Misha Brukman
3673c653b5
* 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
llvm-svn: 13246
2004-04-28 19:22:58 +00:00
Misha Brukman
dd23f36ed6
* 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
llvm-svn: 13226
2004-04-28 15:30:33 +00:00
Brian Gaeke
8e3668faca
Add pred./succ. list size methods.
...
llvm-svn: 13214
2004-04-28 04:46:35 +00:00