Chris Lattner
ae7502cb5f
Moved to lib/Analysis/DataStructure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14449 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-28 00:27:34 +00:00
Chris Lattner
e1ba478cd6
Moved to lib/Analysis/DataStructure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14447 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-28 00:20:39 +00:00
Chris Lattner
ce8158d1d6
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14439 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-27 18:57:34 +00:00
Chris Lattner
ea104df2b1
This class is no longer an annotation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14437 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-27 18:50:49 +00:00
Chris Lattner
4aa5b2affb
Add a map of MachineCodeForInstruction objects to MachineFunctionInfo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14436 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-27 18:50:30 +00:00
Chris Lattner
7da38ec915
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14434 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-27 18:38:24 +00:00
Chris Lattner
6b5f30f365
Get rid of Annotable's vtable. If anyone deletes an object through an Annotable*,
...
they get what they deserve.
This reduces the size of Instruction & Function by 4 bytes each.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14433 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-27 18:36:39 +00:00
Chris Lattner
159286d60d
Make it obvious that this file is bad bad bad
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14432 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-27 18:21:20 +00:00
Chris Lattner
38ab9267c9
Make ctor inline, change ValueTy ->unsigned
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14430 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-27 18:01:15 +00:00
Chris Lattner
0b0863778f
Consider anything with a ValueType that is >= Instruction to be an instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14429 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-26 20:51:50 +00:00
Chris Lattner
f6b7844101
Rearrange some code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14427 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-26 20:33:27 +00:00
Chris Lattner
98ebce1a6f
Hey, why not just make 'new ReturnInst(BB)' DTRT?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14422 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-25 23:10:30 +00:00
Chris Lattner
e056f5c8e2
new ReturnInst(BB) does not "do the right thing". Add an assert to catch it
...
sooner rather than later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14421 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-25 23:06:57 +00:00
Chris Lattner
288c92c16b
Prototype for new ConstantExpr lowering pass, contributed by Vladimir Prus!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14397 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-25 07:41:06 +00:00
Reid Spencer
e5c9df6880
- Changed Handler.h -> BytecodeHandler.h
...
- Fixed some small coding standard compliance issues in BytecodeHandler.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14393 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-25 02:32:27 +00:00
Chris Lattner
bc7ce7eea4
Okay, Module have not been known as 'C' for a LONG time now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14392 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-25 00:42:23 +00:00
Chris Lattner
990a6a39c0
Unbreak the build. tsk tsk
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14390 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-25 00:18:02 +00:00
Tanya Lattner
b140762a45
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.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14389 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-25 00:13:11 +00:00
Misha Brukman
64aed54684
Add a LowercaseString() utility function, courtesy of brg.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14383 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-24 23:38:52 +00:00
Reid Spencer
a1d90eb7bf
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14380 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-24 23:05:07 +00:00
Chris Lattner
5aa20212cc
Remove distasteful method which is really part of the indvars pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14359 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-24 06:52:20 +00:00
Misha Brukman
bd8aeb61ec
Moved to include/llvm/Support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14350 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-23 17:24:53 +00:00
Brian Gaeke
7764f4b2e0
Provide prototypes for IsNAN() wrapper.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14339 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-23 00:25:24 +00:00
Brian Gaeke
5c03987964
Regenerated.
...
It looks to me like people haven't been running AutoRegen.sh. Grumble grumble.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14337 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-22 23:47:23 +00:00
John Criswell
8a54a1ed40
Added the llvm/test/Programs/Makefile.test Makefile.
...
Added a check for isnan() while I was at it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14333 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-22 21:35:10 +00:00
Misha Brukman
66d6ee4247
Spell out `NoFramePointerElim' for readability.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14299 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-21 21:17:44 +00:00
Misha Brukman
b41dabd8ad
Make a single `NoFPElim' switch available to all targets.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14296 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-21 21:07:51 +00:00
Misha Brukman
877338c6cf
Let's be consistent: listing format `os/arch'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14293 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-21 18:43:23 +00:00
Chris Lattner
418da55c89
Rename Interval class to LiveInterval to avoid conflicting with the already
...
existing llvm::Interval class.
Patch contributed by Vladimir Prus!
http://mail.cs.uiuc.edu/pipermail/llvmbugs/2004-June/000710.html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14281 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-21 13:10:56 +00:00
Chris Lattner
c2dfb8bb90
Make ConstantBool act like a 1 bit ConstantInt, in order to simplify client
...
code. Patch contributed by Vladimir Prus.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14280 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-21 12:12:12 +00:00
Chris Lattner
2fce098f94
Header moved into the CodeGen directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14267 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-20 07:50:32 +00:00
Chris Lattner
90a62c8d4b
Start moving IntrinsicLowering out of VMCore into libcodegen, as per PR346
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14264 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-20 07:40:46 +00:00
Chris Lattner
762a76b891
Add methods like BinaryOperator::createAdd that take an instruction to insert
...
before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14261 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-20 05:02:56 +00:00
Chris Lattner
c8fd918aa1
Initial checkin of the StableBasicBlockNumbering, a little helper class for computing
...
(strangely enough) a stable (determinstic) numbering for basic blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14246 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-19 08:41:59 +00:00
Misha Brukman
0ed24ad968
Add a target-independent way to query page size.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14232 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-18 15:30:25 +00:00
Chris Lattner
f70c22b019
Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14201 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-17 18:19:28 +00:00
Brian Gaeke
694ffc0850
I'm afraid this doesn't exist.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14193 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-16 00:26:45 +00:00
Chris Lattner
4ee623de0b
isnan is dead
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14191 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-15 21:52:58 +00:00
Alkis Evlogimenos
9685372062
Add the isunordered intrinsic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14159 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-12 19:19:14 +00:00
Chris Lattner
51a54e6f1b
It is no longer 2001
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14157 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-11 21:12:22 +00:00
Misha Brukman
6e404b897b
Fix grammar: 's is for possessive only.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14155 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-11 16:50:21 +00:00
Reid Spencer
1cf5024de1
Implement tracking of bytecode instruction size and the number of long
...
instructions generated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14154 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-11 15:10:38 +00:00
Reid Spencer
8a9a3706ff
Revert an unneeded interface change to Instruction.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-11 03:06:43 +00:00
Chris Lattner
137cc4fc8c
I misled Alkis: LLVM should have isnan, not isunordered.
...
isunordered(X, Y) === isnan(X) | isnan(Y)
Remove isunordered, add isnan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14132 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-11 02:29:43 +00:00
Alkis Evlogimenos
f616f22e81
Add the isunordered intrinsic.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14127 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-11 01:08:18 +00:00
Reid Spencer
38a6cfe41e
Updated the BytecodeAnalysis data structure to contain additional fields
...
needed for analysis of individual functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14125 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-10 22:28:11 +00:00
Reid Spencer
def0e55c87
Added an isPhiNode(unsigned) static method to determine if an opcode is
...
a PhiNode or not. Needed by Bytecode Analyzer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14124 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-10 22:27:10 +00:00
Misha Brukman
236b7e2142
Remove extra space.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14117 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-10 12:51:35 +00:00
Reid Spencer
00c28a7481
Implemented the bulk of the functionality. Cleaned up the code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14113 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-10 08:09:13 +00:00
Chris Lattner
5118872dd2
Add new BinaryOperator::createAdd/Sub/... methods to avoid having to type
...
llvm::Instruction:: all of the time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14105 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-10 01:43:29 +00:00
Reid Spencer
4502b37d7a
Add some new fields for bytecode analysis.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14092 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-09 06:18:53 +00:00
Reid Spencer
6269ded8ee
Cleaned up a dead header file to prevent duplicate definition warnings
...
in doxygen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14084 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-09 04:38:34 +00:00
Chris Lattner
97baedc8c5
I checked and no clients expect this to return null for unconditional branches
...
Simplify code and make it more uniform.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14077 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-08 22:03:05 +00:00
Brian Gaeke
0bbcd6bfd1
Add a forwarding method pop_front() that allows you to delete instructions
...
from the beginning of a MBB.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14074 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-08 18:52:47 +00:00
Brian Gaeke
777a1cde66
Add a TmpInstruction ctor that doesn't take a MCFI.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14073 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-08 18:52:46 +00:00
Chris Lattner
85b0195f0e
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14070 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-08 17:44:21 +00:00
Misha Brukman
ef39012738
Fix case of doxygen directive `\p': it's lowercase.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14068 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-08 13:49:17 +00:00
Chris Lattner
c07c0df634
Add documentation to the TargetFrameInfo class, contributed by Vladimir Prus
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14060 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-08 06:23:17 +00:00
Reid Spencer
381022b61f
Clean up documentation and make it possible for the BytecodeAnalyzer to
...
store the output of the bytecode dumper.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14058 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-08 05:55:53 +00:00
Reid Spencer
dac69c83c2
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14048 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-07 17:53:43 +00:00
John Criswell
d66215607c
Added checks for mkstemp and getrusage.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14047 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-07 14:26:24 +00:00
Chris Lattner
5df5a428d3
Macros are baaad.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14039 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-05 00:54:11 +00:00
Chris Lattner
49b007b01b
Don't #include <unistd.h> directly, go through the config files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14038 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-05 00:27:38 +00:00
Chris Lattner
96698a5ec7
Warning foo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14035 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-05 00:17:13 +00:00
Misha Brukman
acc9076e86
Revert ostream back to reference: the only user (llvm-tv) no longer needs it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14029 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 21:10:35 +00:00
Chris Lattner
bc2de3c515
Add some constants for VC
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14028 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 20:58:34 +00:00
Chris Lattner
775b08d9e8
Fix a *really* dumb warning on VC
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14025 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 20:47:19 +00:00
Chris Lattner
43714d11ea
Fix more warnings
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14024 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 20:39:05 +00:00
Chris Lattner
fb04197c01
Remove support for printing strings from the cached writer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14023 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 20:34:51 +00:00
Chris Lattner
63d64a80bc
GCC doesn't like prefix form of cast with two identifiers I guess.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14021 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 20:21:53 +00:00
Chris Lattner
c285da73a4
Silence a warning
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14019 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 20:10:17 +00:00
Chris Lattner
745feacfd6
Add ssize_t for VC++
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14018 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 20:06:33 +00:00
Chris Lattner
5811862f23
<io.h> provides read/write/open/...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14017 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 20:05:35 +00:00
Chris Lattner
a833fca56c
Visual C has something resembling a stat function, but it doesn't provide S_ISREG
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14016 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 20:03:06 +00:00
Chris Lattner
44eaf9b354
Make this work on VC++, pull the HAVE_ALLOCA_H case out instead of duplicating
...
it. This code can probably be dramatically simplified, as I suspect that the
pragma and other stuff is not needed with C++ compilers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14015 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 19:25:50 +00:00
Chris Lattner
d1e89d657c
Add more needed typedefs
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14014 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 19:11:04 +00:00
Chris Lattner
2908ca78b0
Add explicit casts to silence warnings. There is no need to use snprintf here.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14013 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 19:10:30 +00:00
Chris Lattner
6549b82535
Make this work with VC++
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14012 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 19:01:49 +00:00
Chris Lattner
4f02562ec1
Fix a nasty bug that caused areAliases to always return false.
...
Bug fix courtesy of Anshu Dasgupta
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14011 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 17:03:11 +00:00
Misha Brukman
a7afa37f3c
Clarify documentation and use correct doxygen comment form /// vs. // .
...
Thanks to Vladimir Prus for corrections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14009 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 14:51:25 +00:00
Chris Lattner
51ae205adf
The prototype for ParseCommandLineOptions changed at some point, but this
...
was never updated. I guess GCC just ignores the prototype
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13995 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-03 22:07:26 +00:00
Chris Lattner
d924d6b35d
Adjust argument to match destination data type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13993 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-03 21:14:56 +00:00
Chris Lattner
caeb8b4041
Don't use identifiers that start with an _
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13992 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-03 21:12:02 +00:00
Chris Lattner
6bf7ca5f6f
Only use the non-standards-compliant std::distance on the compiler that is
...
buggy, not for all compilers that are not GCC 3
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13990 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-03 18:48:59 +00:00
Misha Brukman
046b1622eb
Fix case of doxygen directive \p.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13985 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-03 15:14:00 +00:00
Brian Gaeke
498231bc60
Collapse together the abstract superclass TargetRegInfo and SparcV9RegInfo, its
...
only concrete implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13977 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-03 02:45:09 +00:00
Chris Lattner
36c2a05935
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!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13950 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02 05:53:25 +00:00
Chris Lattner
2a7f15e50b
Add a new CopyFile function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13944 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02 00:51:20 +00:00
Chris Lattner
6db8c2c5ca
On win32, process.h provides some of the traditional stuff that unistd
...
provides. This seems like a relatively clean way to get it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13936 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-01 23:47:00 +00:00
Alkis Evlogimenos
6924063bf2
Pull Interval class out of LiveIntervals.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13910 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-30 07:46:27 +00:00
Alkis Evlogimenos
1da7e8e0b3
Add comparator useful for natural comparisons on collections with
...
pointers to objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13909 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-30 07:45:09 +00:00
Alkis Evlogimenos
26f5a69e52
When spilling an register, introduce a new temporary for each of its
...
spills. This allows for more flexibility when allocating registers for
spill code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13907 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-30 07:24:39 +00:00
Alkis Evlogimenos
f717a05698
Remove defs vector from live intervals.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13892 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-29 16:18:57 +00:00
Chris Lattner
3796024fb8
Fix bizzare problems when you include Config/dlfcn and Config/windows.h in
...
the same xlation unit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13885 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-28 21:07:11 +00:00
Chris Lattner
eaca89b48e
Eliminate this form of SymbolTable::remove. It ignores the type argument
...
anyway. Add a form that takes a type_iterator for the C backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13873 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-28 05:30:29 +00:00
Chris Lattner
34e40d44c2
Add a new function for the JIT
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13869 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-28 00:58:48 +00:00
Chris Lattner
eb08299518
Add a pair of functions to hide system specific details of mapping a file in for reading.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13863 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-28 00:23:48 +00:00
Chris Lattner
f0f3c06a90
An "autoconf wrapper" for the infamous windows.h file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13849 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 20:51:22 +00:00
John Criswell
b2815e0139
Added a check for a new header file.
...
My apologies for changing config.h.in. Now you will all have to
re-configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13846 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 20:40:39 +00:00
Chris Lattner
5e77935852
Beta-test moving a header from include/Support into the llvm hierarchy:
...
it seems to work :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13814 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:42:33 +00:00
Chris Lattner
3166440855
Moved header from include/Support/ to include/llvm/System
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13810 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 05:30:18 +00:00
Alkis Evlogimenos
75dbe8eafa
Add constructors that take a BasicBlock to append to, to the rest of
...
the llvm::Instruction hierarchy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13800 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 00:15:23 +00:00
Alkis Evlogimenos
f6e8cb4954
Inline trivial constructors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13797 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 22:07:18 +00:00
Reid Spencer
75719bf239
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13795 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 21:48:31 +00:00
Reid Spencer
9b41dcfa60
Tighten up checking on SymbolTable interface to make it illegal to pass a
...
Type* where a Value* is expected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13794 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 21:46:18 +00:00
Alkis Evlogimenos
e5828f1fa7
Refactor common initialization code in private init() functions.
...
This is a first step in supplying append to basic block constructors
for all instruction types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13793 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 21:41:09 +00:00
Misha Brukman
6f3512865e
Fix spelling of doxygen directive.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13791 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 17:42:51 +00:00
Reid Spencer
798ff64328
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).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13785 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 07:37:11 +00:00
Reid Spencer
a85b8cf110
Make the constructor explicit so we can't implicitly convert bool to
...
SlotTable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13766 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 19:09:25 +00:00
Reid Spencer
293a55f9f0
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13764 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 18:44:51 +00:00
Reid Spencer
e0b295afd6
Removed unused, useless header file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13757 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 17:28:35 +00:00
Reid Spencer
ec55b08fd0
Give Type its own dump() method in preparation for Type != Value.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13746 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:46:04 +00:00
Reid Spencer
bdfb668fee
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13745 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:45:53 +00:00
Reid Spencer
3afbb1ab10
Convert dump() method to call Type::dump() instead of Value::dump().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13744 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:45:42 +00:00
Chris Lattner
02140b025d
Add some helpers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13737 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 05:32:13 +00:00
Tanya Lattner
17fb34bf8c
Moved MachineBasicBlock deconstructor to cpp file and removed it from LeakDetector to fix memory leak bug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13718 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 07:14:35 +00:00
Tanya Lattner
792699c46e
Added MachineFunction parent* to MachineBasicBlock. Customized ilist template
...
to set the parent when a MachineBasicBlock is added to a MachineFunction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13716 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 06:11:51 +00:00
Tanya Lattner
0c63e03e04
Changed clone to be const.
...
Changed copy constructor to set parent, prev, and next pointers to null.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13706 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-24 03:14:18 +00:00
Chris Lattner
942ae1a07d
Add the new GC intrinsics
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13686 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:16:33 +00:00
Chris Lattner
bab838e76d
Add a new prototype
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13685 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:16:13 +00:00
Chris Lattner
ab8c565768
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13678 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:12:38 +00:00
Chris Lattner
bc78225518
Add interfaces to update value numbering results
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13677 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:11:17 +00:00
Chris Lattner
c43e0ae350
Rename a method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13676 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:10:58 +00:00
Tanya Lattner
b5159ed0cb
Fixed up my changes to add support for cloning Machine Instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13665 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 20:58:02 +00:00
Alkis Evlogimenos
14d2638e38
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13664 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 20:54:39 +00:00
Tanya Lattner
466b534a57
Adding support to clone MachineInstr
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13661 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 19:35:12 +00:00
Vikram S. Adve
6ffd14dd54
Remember the set of leaders. Also compute on demand and cache the equiv
...
class for each leader. Finally, rename Elem2ECLeaderMap to Elem2LeaderMap
(most of the changed lines are only due to the latter).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13651 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 08:05:14 +00:00
Vikram S. Adve
b5b0b45e58
Add getCaller() method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13650 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 08:02:45 +00:00
Vikram S. Adve
c5204fb6f8
Complete rewrite of the code that merges DS graphs for equivalence classes
...
of functions called at a common call site. The rewrite inlines the
resulting graphs bottom-up on the SCCs of the CBU call graph. It also
simplifies the merging of equivalence classes by exploiting the fact that
functions in non-trivial SCCs are already merged.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13645 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 07:54:02 +00:00
Vikram S. Adve
44860ccaf2
Fix size/offset assertion to allow negative offsets and folded nodes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13644 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 07:34:53 +00:00
Brian Gaeke
91ad59d75e
Fix a typo in the head-of-file comment.
...
Rewrite the comments about the different versions of BuildMI, to
better emphasize their differences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13642 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 05:04:00 +00:00
Chris Lattner
d49b120414
It's not clear to me whether the old version was correct C++ code, but in
...
any case it's not portable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13621 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-21 18:38:16 +00:00
Chris Lattner
3b963590ef
Starting an identifier with an _ is not legal C/C++ code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13620 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-21 18:37:13 +00:00
Alkis Evlogimenos
2b6d2eb2d0
Declare function defined in namespace llvm as gcc-3.4 doesn't accept a definition in a namespace of a non-declared function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13602 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-19 19:17:48 +00:00
Misha Brukman
a4c6c522ee
Minor aesthetic alignments; no functional changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13593 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-17 22:28:21 +00:00
Misha Brukman
f40ae3cc9d
* Minor aesthetic alignment of iterator declarations
...
* Removed redundant function comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13592 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-17 22:25:12 +00:00
Brian Gaeke
71d3a87ec1
Define erase forwarding method on traces
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13591 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-17 21:17:21 +00:00
Brian Gaeke
da86bdc75c
Fix a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13518 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:57:23 +00:00
Brian Gaeke
f460f1679e
Add a NextMBBNumber field w/ incrementing accessor method, for
...
function-level unique numbering of MBBs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13513 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:35:21 +00:00
Brian Gaeke
c07d8d8a26
Add a Number field w/ accessor method, for function-level unique numbering
...
of MBBs.
Add non-const MachineBasicBlock::getParent() accessor method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13512 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-12 21:35:20 +00:00
Chris Lattner
43c81f19ee
Add support for inserting all prototypes up-front
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13431 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-09 04:29:49 +00:00
Tanya Lattner
b4b2e9d5a7
Fixed up sched graph.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13428 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08 16:14:24 +00:00
Tanya Lattner
5a75c91951
Registering the ModuloScheduling pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13427 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08 16:14:02 +00:00
Tanya Lattner
e5abfd2c05
Changed CPUResource to allow access to max num users for a resource.
...
Also added ModuloScheduling as a friend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13426 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08 16:13:26 +00:00
Chris Lattner
2944bcaaed
Add the enum corresponding to the source change I made earlier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13395 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-07 02:27:32 +00:00
Alkis Evlogimenos
ad5c296792
Fix for gcc3.4: invalid use of forward delacred class on line 93
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13370 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06 02:07:42 +00:00
Brian Gaeke
6178085cfd
Move the stuff that fixes the size, orientation & fonts of graphs to
...
the debugging functions that call "dot". These fixed settings have
various problems: for example, the fixed size that is set in the graph
traits classes is not appropriate for turning the dot file into a PNG,
and if TrueType font rendering is being used, the 'Courier' TrueType font
may not be installed. It seems easy enough to specify these things on the
command line, anyhow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13366 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-05 06:10:06 +00:00
Brian Gaeke
48b008db57
Apply simplification suggested by Chris: why assign() when operator = will do?
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13364 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 22:02:41 +00:00
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
ec42d98395
Ignore configure produced files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12627 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-02 20:34:30 +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