Chris Lattner
bfa964699f
As it turns out, things will be simpler than I first expected. We no longer
...
need any exception handling intrinsics beyond llvm.unwind. (yaay)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8145 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-25 22:35:01 +00:00
Chris Lattner
39c07264da
Targets now configure themselves based on the source module, not on the
...
ad-hoc "Config" flags
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8134 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 19:50:53 +00:00
Chris Lattner
e3ac7565a0
Targets should configure themselves based on the module, not some wierd flags
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8131 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 19:49:07 +00:00
Chris Lattner
a7a35a831b
Allow modules to have 'any' pointer size and endianness.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8117 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 13:46:37 +00:00
Chris Lattner
6270f36784
rethrow is really the language independent primitive here. "throw" can be written
...
in terms of it and llvm.exc.setcurrent.
Rework these intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8109 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 12:24:03 +00:00
Chris Lattner
9d3a1b2d97
Add versions of InlineFunction which work on Invoke instructions and general call sites
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8105 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 06:58:32 +00:00
Chris Lattner
9dd7d1c8eb
Initial support for recognizing LLVM exception handling intrinsics
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8102 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 05:30:29 +00:00
Chris Lattner
4bd4aa5e3c
Allow specifying the name for the newly split basic block
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8097 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 03:41:39 +00:00
Chris Lattner
3acbd5d5d4
Add period
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8090 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-23 23:15:10 +00:00
Chris Lattner
131d19f9c6
Rename SwitchInst::dest_push_back -> addCase
...
Add new removeCase method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8088 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-23 23:14:37 +00:00
Chris Lattner
2d710ff7cf
Of course, the copy ctor really should copy the operand as well
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8077 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-23 20:06:38 +00:00
Chris Lattner
8518e74f3e
Add more methods to be more value-like
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8074 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-23 19:51:10 +00:00
Chris Lattner
88e1eef1ed
Initial checkin of ValueHolder helper class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8073 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-23 19:43:18 +00:00
Chris Lattner
b274d4a38b
Add missing #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8063 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-22 23:08:55 +00:00
Chris Lattner
31a6db0f2c
Changes to work better with GCC3.4/LLVM G++
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8054 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-22 14:26:59 +00:00
Misha Brukman
ef6a6a69ff
The word dependent' has no
a'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8030 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-21 22:14:26 +00:00
John Criswell
69582b35b6
The JIT now passes the environment pointer to the main() function when it
...
starts a program. This allows the GNU env program to compile and JIT under
LLVM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8022 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-21 21:12:30 +00:00
Chris Lattner
3c7eb1f2ea
Make assertion message more helpful in a case that might happen...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7975 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-19 21:57:00 +00:00
Chris Lattner
fd4d8975cf
Add new methods, update comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7962 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 22:10:57 +00:00
Chris Lattner
8169cf810c
Add intrinsics for the llvm.sig(set|long)jmp functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7949 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 15:41:24 +00:00
Misha Brukman
5560c9d49c
Spell `necessary' correctly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 14:43:39 +00:00
Chris Lattner
7dd46b09c0
Fix bug: LoopPreheaders/2003-08-15-PreheadersFail.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7915 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-16 20:57:16 +00:00
Brian Gaeke
c48ef2ae36
lib/Support/CommandLine.cpp:
...
Many changes suggested by Chris. It's okay, I'll recover from the emotional
damage...maybe someday. :-)
Collapse ParseCStringVector into ParseStringVector. Comment it.
Make it take a const input.
Use std::string::npos instead of -1 (what a mouthful!)
Make ParseEnvironmentOptions take const inputs.
Check its args at the very beginning.
Strdup all the contents of newArgv and free them all at the end.
include/Support/CommandLine.h:
Constify progName and envVar arguments to ParseEnvironmentOptions().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7905 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 21:05:57 +00:00
Misha Brukman
53523e57bf
Reordered includes to be consistent with the LLVM style.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7887 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 17:52:02 +00:00
Chris Lattner
960ff04a09
Remove extraneous #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7881 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 05:21:30 +00:00
Chris Lattner
f4f5f8bcaa
Add support for basic blocks, unary/binary unspecs, conditional branches, ...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7874 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 04:52:51 +00:00
Chris Lattner
20968a2472
Remove extraneous cl:: namespace qualifiers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7852 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 22:04:41 +00:00
Brian Gaeke
06b06c5f00
Add support for reading command line arguments from an environment variable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7851 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 22:00:59 +00:00
Brian Gaeke
bf3c4cfaad
Factory methods for function passes now return type FunctionPass *.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7839 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 06:09:32 +00:00
Brian Gaeke
1d3fa21cdd
Add new method to FunctionPassManager to add ImmutablePasses.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7838 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 06:07:57 +00:00
Brian Gaeke
19df3876e6
Factory methods for FunctionPasses now return type FunctionPass *.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7823 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 18:18:15 +00:00
Brian Gaeke
fb0ef2e82c
Deconstify parameter to getPointerToFunction().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7822 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 18:17:54 +00:00
Brian Gaeke
8844a0ba89
addPassesToJITCompile and addPassesToEmitMachineCode now take a
...
FunctionPassManager, to support function-at-a-time compilation and
emission of code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7821 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 18:17:27 +00:00
John Criswell
478b3a9682
Removing the pool allocator from the main CVS tree.
...
Use the poolalloc module in CVS from now on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7810 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 15:36:15 +00:00
Vikram S. Adve
906cd975df
Make MInst2LVSetBI and MInst2LVSetAI be hash_maps instead of maps.
...
Add some comments and non-const methods to fix constness problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7797 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 23:39:08 +00:00
Brian Gaeke
8ab1ef265a
Add FunctionPassManager - it's like a PassManager, but it only deals in
...
FunctionPasses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7778 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-12 17:22:39 +00:00
Chris Lattner
2b3860faeb
Add support to the mangler for targets which require _'s on global symbols
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7741 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 19:34:29 +00:00
Chris Lattner
cacf462915
Initial checkin of SelectionDAG header file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7716 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-11 14:56:26 +00:00
Misha Brukman
35d402fbba
Remove references to `bugpoint' from the now-generic system utilities.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7693 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 21:33:33 +00:00
Misha Brukman
3d1b0c7331
Moved removeFile() and getUniqueFilename() into FileUtilities.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7691 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 21:28:50 +00:00
Sumant Kowshik
edea6d646b
Added a flag which is set when all data structures are not pool allocated
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7660 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 04:37:52 +00:00
Chris Lattner
3314d8d656
There was no reason for these to be bit-fields, they just need to be unique.
...
Also, add an isVoid item
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7659 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-07 00:17:00 +00:00
Chris Lattner
c232818432
Add a bunch of new Alpha Intrinsics for Rahul Joshi
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7646 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-06 20:08:25 +00:00
Chris Lattner
5e8b77e375
Completely eliminate the per-machine-instruction regsUsed set.
...
This substantially shrinks the size of each machine instruction, which should
make allocation faster and the cache footprint of the machine code lighter.
Here are some timings for code generation of the larger benchmarks we have.
This are timings of code generation phases of the X86 JIT, when compiled in
debug mode:
Before After Diff
164.gzip:
InstSel 0.0878 0.0722 -21.6%
RegAlloc 0.2031 0.1757 -15.6%
TOTAL 0.5585 0.4999 -11.7%
Ptrdist-bc:
InstSel 0.0878 0.0722 -21.6%
RegAlloc 0.2070 0.1933 - 7.1%
TOTAL 0.6972 0.6464 - 7.9%
197.parser:
InstSel 0.2148 0.2148 - 0.0%
RegAlloc 0.4941 0.4277 -15.5%
TOTAL 1.3749 1.2851 - 7.0%
175.vpr:
InstSel 0.2519 0.2109 -19.4%
RegAlloc 0.5976 0.5663 - 5.5%
TOTAL 1.6933 1.6347 - 3.5%
254.gap:
InstSel 1.1328 0.9921 -14.2%
RegAlloc 2.6933 2.4804 - 8.6%
TOTAL 7.7871 7.2499 - 7.4%
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7622 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 22:39:13 +00:00
Chris Lattner
610234d5c9
Do not insert physical regsiters into the regsUsed set
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7617 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 21:55:20 +00:00
Chris Lattner
8366b38ff7
Add a comment to the method decl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7609 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 18:38:16 +00:00
Chris Lattner
e057ca61b1
Remove unused method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7608 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 17:09:08 +00:00
Sumant Kowshik
9f2ac19f8e
Added declaration of mergeInGlobalsGraph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7607 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 17:06:18 +00:00
Chris Lattner
a2dd745613
All callers of these methods actually wanted them to preserve the flags,
...
so get rid of the def/use parameters that were getting passed in.
**** This now changes the semantics of these methods to preserve the flags,
not clobber them!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7602 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 16:58:46 +00:00
Sumant Kowshik
3d9c001af0
Added the declaration of InlineIndirectCalls
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7601 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-05 16:56:59 +00:00
Chris Lattner
9ca5a2a33e
The NOOP instruction is no longer needed. Instead, use the
...
TargetInstrInfo::isNOPinstr method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7530 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-03 18:52:15 +00:00
Chris Lattner
2dd93edfc2
Move debugging support out of Statistic.h into Debug.h, implement the new DEBUG_TYPE facilities
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7490 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 22:12:40 +00:00
Chris Lattner
aeac00ed53
Including statistics into an anonymous namespace that gets #included into
...
every file is a bad idea.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7489 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 22:12:07 +00:00
Chris Lattner
4181a4fb4f
New file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7482 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 20:28:55 +00:00
Chris Lattner
9ef719afac
This file doesn't need this include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7479 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-01 19:16:18 +00:00
Tanya Lattner
be08bb399a
Renamed trapping instruction function to be more consistent with other functions in the file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7448 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-31 05:08:02 +00:00
Tanya Lattner
741bb0019d
Added function to determine if an Instruction may trap.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7442 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-31 04:05:50 +00:00
Chris Lattner
92988ecdb6
Code generation passes don't need access to raw LLVM types, this method is unnecessary.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7412 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 05:29:45 +00:00
Vikram S. Adve
588668d468
Unify all constant evaluations that depend on register size
...
in TargetInstrInfo::ConvertConstantToIntType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7398 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-29 20:30:20 +00:00
Vikram S. Adve
ceb7d2f4f8
Moved insertCallerSavingCode() to PhyRegAlloc and
...
moved isRegVolatile and modifiedByCall here: they are all
machine independent. Remove all uses of PhyRegAlloc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7387 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-29 19:41:23 +00:00
Vikram S. Adve
0eb7f745ed
Don't require a BB to look-up live variables, unless they may need to
...
be recomputed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7384 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-29 19:32:04 +00:00
John Criswell
c78022ed07
Enable JIT when the platform supports it.
...
Select /localhome/$USER when it exists.
Fix the checks for bidirectional and forward iterators so that they work with
version of GCC prior to 3.x.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7383 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-29 19:11:58 +00:00
Chris Lattner
38dbde19cc
Fix copy and paste-o
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7378 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-29 05:15:44 +00:00
Chris Lattner
5d7407cbef
Move value type enums to CodeGen/ValueTypes.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7376 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-29 05:13:34 +00:00
Chris Lattner
ad5e1f8153
Define target value types in a form usable by target-independent code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7375 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-29 05:13:09 +00:00
Chris Lattner
f4836c754a
Add alpha intrinsics, contributed by Rahul Joshi
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7372 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-28 21:18:21 +00:00
Misha Brukman
90a24c71a2
Lined things up in a more aesthetically pleasing way.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7365 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-28 19:17:53 +00:00
Misha Brukman
686e65fb65
Removed extra parenthesis and fixed spelling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7359 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-28 16:53:28 +00:00
Tanya Lattner
ebb20c51fa
Need to include <string> to fix compile error on Sun
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7358 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-28 16:42:33 +00:00
Chris Lattner
1194e95019
Code generation phases are not allowed to modify the LLVM representation.
...
Because of this, we'll make the MBB->BB mapping const as it should be
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7351 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-26 23:30:37 +00:00
Chris Lattner
70534ee581
Whoops, this one was needed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7346 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-26 23:18:11 +00:00
Chris Lattner
bae47e5691
Remove extraneous #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7341 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-26 23:00:29 +00:00
Chris Lattner
869ff9e7be
Remove #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7339 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-26 22:56:46 +00:00
Vikram S. Adve
523eb3f768
Change the way unused regs. are marked and found to consider regType
...
info (since multiple reg types may share the same reg class).
Remove machine-specific regalloc. methods that are no longer needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7328 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 21:01:43 +00:00
Vikram S. Adve
b1e6f05110
Add an assertion.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7326 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 20:58:57 +00:00
Brian Gaeke
00fee61672
Forward-declare class Module to make the header file self-contained.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7319 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 20:20:53 +00:00
Chris Lattner
2e99791a1e
More cassert inclusion for GCC 3.3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7318 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 18:06:53 +00:00
Chris Lattner
be67780f31
#include <cassert> as necessary...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7315 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:58:41 +00:00
Chris Lattner
02a31a5af6
Fix another accessibility problem illuminated by GCC 3.3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7314 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:49:28 +00:00
Chris Lattner
d091d85c15
Fix visibility problem exposed by GCC 3.3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7313 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:46:25 +00:00
Chris Lattner
0192e36cc7
Remove inline declarations that GCC 3.3 doesn't like without a body
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7312 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:39:33 +00:00
Chris Lattner
d957518b51
Use the C++ <cassert> header, not the C <assert.h> header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7310 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:34:17 +00:00
Chris Lattner
a44a4cd055
Add includes of assert
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7307 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:23:27 +00:00
Chris Lattner
32862da7c7
Fix accessibility problems GCC 3.3
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7306 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 17:23:13 +00:00
Chris Lattner
ab63bd15f5
Add assert.h include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7305 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-25 16:47:07 +00:00
Brian Gaeke
4166445b7c
Cleanups:
...
Mangler.cpp: Constify parameter to makeNameProper, and use const_iterator.
Make Count an unsigned int, and use utostr().
Don't name parameters things that start with underscore.
Mangler.h: All of the above, and also: Add Emacs mode-line. Include <set>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7301 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-24 21:37:57 +00:00
Brian Gaeke
b198ca304b
Factor out name-mangling from X86/Printer, which is derived from CWriter,
...
into this new support class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7300 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-24 20:20:58 +00:00
Chris Lattner
30780ccf15
Add support for ~ operator on constants
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7258 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 17:21:17 +00:00
Chris Lattner
949a362802
Remove redundant const qualifiers from cast<> expressions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7253 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 15:30:06 +00:00
Chris Lattner
af28ac2201
Add more doxygen comments, add new ConstantInt::getRawValue method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7244 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 14:49:06 +00:00
Anand Shukla
6da69e75ec
Added special consideration for instrumentation strategy
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7208 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-20 15:39:30 +00:00
Vikram S. Adve
a53e3da92c
(1) Added DSGraph::cloneReachableSubgraph and DSGraph::cloneReachableNodes
...
to clone the subgraph reachable from a set of root nodes, into the
current graph, merging the global nodes into those in the current graph.
(2) Added DSGraph::updateFromGlobalGraph() to rematerialize nodes from the
globals graph into the current graph in both BU and TD passes.
(3) Added hash_set<const GlobalValue*> InlinedGlobals: a set of globals to
track which globals have been inlined into the current graph from
callers or callees. In the TD pass, such globals are up-to-date and
do not need to be rematerialized from the GlobalsGraph.
(4) Added StripIncompleteBit/KeepIncompleteBit to remove incomplete bit
when cloning nodes into the globals graph.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7190 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-16 21:45:15 +00:00
Misha Brukman
bc0e998c49
The word separate' only has one
e'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7173 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-14 17:20:40 +00:00
Vikram S. Adve
4d2faf6307
Values stored in CallArgsDescriptor cannot be const.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7156 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 19:46:15 +00:00
Vikram S. Adve
627eb31cd7
Change interface to MachineInstr::substituteValue to specify more precisely
...
which args can be substituted: defsOnly, defsAndUses or usesOnly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7154 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 19:45:07 +00:00
Misha Brukman
b5c520bfb6
Lowercase versions of `occurrence' need to be spelled correctly, too.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7142 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 17:05:26 +00:00
Misha Brukman
dd6cb6a43b
Occurrence' has no
a' and the `r' is doubled.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7140 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 16:49:51 +00:00
Chris Lattner
3915da3e0f
INCLUDE_PARENT_GRAPH is required
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7089 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 23:57:21 +00:00
Chris Lattner
a523e22a20
Remove dead method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7083 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 23:43:06 +00:00
Chris Lattner
8fd2715098
Add new methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7057 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 04:37:00 +00:00
Chris Lattner
73440f6a15
Disable the parent graph code when not compiled in DEBUG mode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7056 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 04:33:55 +00:00
Vikram S. Adve
daee2b492f
Leak fix: delete old objects before reallocation in an assignment operator!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7055 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-02 01:25:44 +00:00
Chris Lattner
c019f9bba5
TD pass keeps track of which functions have complete arguments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7048 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 21:12:10 +00:00
Chris Lattner
b512b24442
Add new operator= impl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7047 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 21:11:59 +00:00
Chris Lattner
e2fe664e8f
Ok, I'm a moron. Fixed now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7035 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 17:15:11 +00:00
Chris Lattner
985d31215c
Fix major problem that was causing all kinds of nasty foldings
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7034 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 17:10:50 +00:00
Chris Lattner
17d5d863b2
Add new methods to BUDS for keeping track of a precise call graph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7028 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-01 16:27:15 +00:00
John Criswell
7a73b80b90
Merged in autoconf branch. This provides configuration via the autoconf
...
system.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 21:59:07 +00:00
Chris Lattner
a9d6566e36
Add new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7007 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 05:57:30 +00:00
Chris Lattner
332f0aa425
Be more const correct
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7004 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 05:27:05 +00:00
Chris Lattner
fa45c7a938
Constness changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7002 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 05:10:09 +00:00
Chris Lattner
17fefa3ac3
Substantial revamp: DSGraphs now may contain the graphs for multiple functions
...
in the same graph
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6991 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 03:14:23 +00:00
Chris Lattner
1a36443c2f
Add argument
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6990 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 03:13:36 +00:00
Chris Lattner
0baec255a7
Remove prototype for dead method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6989 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 03:13:28 +00:00
Chris Lattner
62b5c167de
Add support for gathering sets of must aliases
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6971 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-29 00:23:11 +00:00
Chris Lattner
35de11f3b1
Add new DSGraph::ScalarMapTy typedef to avoid pulling representation issues
...
into callers of getScalarMap
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6944 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 21:57:13 +00:00
Chris Lattner
2769e6ca92
Add new 'isComplete' method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6943 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 21:56:42 +00:00
Chris Lattner
d2a6fc397e
Add support for 'unsigned' command line arguments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6928 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 15:47:20 +00:00
Brian Gaeke
d7908f679e
Nice tasty llc fixes. These should fix LLC for x86 for everything in
...
SingleSource except oopack and Oscar. (Sorry, Oscar.)
include/llvm/Target/TargetInstrInfo.h: Remove virtual print method. Add
accessors for ImplicitUses/Defs.
lib/Target/TargetInstrInfo.cpp: Remove virtual print method. If you
really wanted this, just use MI->print(O, TM); instead...
lib/Target/X86:
FloatingPoint.cpp: ...like this.
X86InstrInfo.h: Remove virtual print method. Define the PrintImplUses
target-specific flag bit.
X86InstrInfo.def: Add the PrintImplUses flag to all the instructions
which implicitly use CL, because the assembler needs to see the CL in
order to generate the right instruction.
Printer.cpp: Ditch fnIndex at Chris's request. Now we use CurrentFnName
to name constants in the constant pool for each function instead. This
avoids keeping state between runOnMachineFunction() invocations, which
is a no-no. Having MangledGlobals be global is a bogon I'd like to get
rid of too, but making it a static member of Printer causes link errors
(why???).
Make NumberForBB into a member of Printer instead of a global, too.
Make printOp and printMemReference into methods of Printer.
X86InstrInfo::print is now Printer::printMachineInstruction, because
TargetInstrInfo::print is history. (Because of this, we have to qualify
the names of some TargetInstrInfo methods we call.)
Print out the ImplicitUses field of any instruction we print that has
the PrintImplUses bit set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6924 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-27 00:00:48 +00:00
Chris Lattner
9b2a14b6f1
Add argument to DAE to allow operation on non-internal functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6895 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-25 04:12:49 +00:00
Chris Lattner
1ee7855dfa
Add prototype for tail-dup pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6847 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 20:10:42 +00:00
Chris Lattner
680a7c2d1a
Get rid of WORDSIZE macro which can pollute untold numbers of translation units
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6843 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:09:10 +00:00
Chris Lattner
3889a2cb05
Remove a ton of extraneous #includes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6842 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:08:05 +00:00
Chris Lattner
18345bb93f
Whoops, accidentally lost a #include
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6841 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:04:58 +00:00
Chris Lattner
5bb8776ece
Remove support for the MultiObject flag, which was just fundamentally broken
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6839 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-22 03:03:24 +00:00
Chris Lattner
160cf48671
Lots of changes to make the NodeType field private to DSNode.
...
Add new MultiObject flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6793 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-19 21:14:22 +00:00
Chris Lattner
936f771e25
Update comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6785 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-19 17:03:00 +00:00
Chris Lattner
893f025262
Detemplatize the PATypeHandle class, which was only really instantiated on 'Type'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6774 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-18 19:22:36 +00:00
Chris Lattner
697a00fbf0
* Add new CallSite::get factory method
...
* add new setCalledFunction method
* FIX arg_end method which was horribly broken!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6758 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 22:16:59 +00:00
Chris Lattner
a599f871af
Add new op_erase method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6757 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 22:15:55 +00:00
Chris Lattner
57ec659810
Make sure accessor is properly doxygenized. It wants two lines
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6756 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 21:44:51 +00:00
Chris Lattner
95ab3d4bc4
Add accessor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6755 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 21:44:31 +00:00
Chris Lattner
ad110d2bb4
Make CallSite's default constructable, copyable, and assignable (explicitly)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6749 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 19:50:28 +00:00
Brian Gaeke
a9f6e4ae0e
Regularize the names of #include-guards.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6732 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 00:35:55 +00:00
Chris Lattner
1989d34b3b
Add prototype for the new DAE pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6703 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 12:16:52 +00:00
John Criswell
a277ca84e0
Changed the LITTLE_ENDIAN and BIG_ENDIAN macros to ENDIAN_LITTLE and ENDIAN_BIG.
...
This will prevent them from conflicting with macros defined by the system
header files.
When autoconf comes, this will look a lot nicer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6684 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-11 19:44:51 +00:00
John Criswell
be583b914d
Included assert.h so that the code compiles under newer versions of GCC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6682 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-11 14:01:36 +00:00
Sumant Kowshik
9271ade15b
Made changes suggested by Chris
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6606 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04 08:03:57 +00:00
Sumant Kowshik
a3e5764984
Made changes suggested by Chris; Renamed 'union' function to unionSetsWith
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6605 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04 08:00:05 +00:00
Chris Lattner
9dad6d7411
Add new setCondition member
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6603 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04 05:08:31 +00:00
Chris Lattner
b05497e0ca
Minor cleanups:
...
* Document the MOTy namespace correctly for doxygen
* Eliminate usage of the MachineOpCode typedef, which should eventually
be eliminated entirely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6584 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:42:53 +00:00
Chris Lattner
4052cf998f
Remove use of enum
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6582 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:41:45 +00:00
Chris Lattner
bf0ac3fe69
Add doxygen comment for namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6579 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:30:37 +00:00
Chris Lattner
0519bdcd3d
Add comment for doxygen for namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6578 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:30:13 +00:00
Chris Lattner
5b595b9421
Minor cleanups:
...
* LLVM #include should use "", not <>
* Fix line wrapping
* Remove noncopyable base class to improve doxygen output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6577 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:30:01 +00:00
Chris Lattner
4ade9ed40f
Remove noncopyable base class as it was making the doxygen docs harder to read
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6576 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:29:12 +00:00
Chris Lattner
17035c0edf
Remove noncopyableV base classes, as they were confusing the doxygen documentation,
...
making it harder to read.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6575 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:28:40 +00:00
Chris Lattner
9452b0797a
Remove NonCopyable base class to clean up doxygen output
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6551 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-02 22:07:37 +00:00
Chris Lattner
f2e364ad3a
Hack up MachineCodeEmitter to actually be target independent.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6514 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-01 23:20:02 +00:00
Tanya Lattner
658c5bcdb2
Fixed comment width, changed arg to be const, fixed indentation, removed unnecessary includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6476 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 20:01:37 +00:00
Vikram S. Adve
3fd7bf4257
Made a single common InvalidRegNum = -1.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6473 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 07:44:07 +00:00
Vikram S. Adve
2263df029a
Renamed a variable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6472 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 07:43:41 +00:00
Vikram S. Adve
9f495b54fa
Support for annul/pred and other future flags on op codes.
...
Support for recording the physical register for implcit references.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6471 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 07:43:01 +00:00
Vikram S. Adve
f3d3ca18b5
Added MachineCodeForInstruction object as an argument to
...
TmpInstruction constructors because every TmpInstruction object has
to be registered with a MachineCodeForInstruction to prevent leaks.
This simplifies the user's code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6469 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 07:41:24 +00:00
Misha Brukman
da3a8b19ce
Added saveBBreferences() for BasicBlock resolution.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6451 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 20:32:45 +00:00
Tanya Lattner
7cf322f51b
Sorry, correcting small typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6433 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 15:53:50 +00:00
Tanya Lattner
2c49fc023e
Added support for cloning a trace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6430 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 15:48:23 +00:00
Sumant Kowshik
87a991eea3
Implementation of Equivalence Classes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6422 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 22:44:25 +00:00
Sumant Kowshik
5e587d7a23
Changes to support function pointers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6421 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 22:43:46 +00:00
Chris Lattner
f0afa50b6c
Don't require the user to do something like isa<foo>(II->get()). The ->get
...
should be implicit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6395 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:08:33 +00:00
Chris Lattner
1ff1da7ac9
dyn_cast_or_null should work just the same as dyn_cast does
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6394 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:07:48 +00:00
Chris Lattner
aa101c3147
Doxygenify comments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6393 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:06:40 +00:00
Misha Brukman
e5841daa79
Fixed misspelling and broke a line that was wrapping.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6391 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 05:00:14 +00:00
Misha Brukman
6b5e0549ca
Defines a pass-through debugging emitter -- it writes to a file for inspection
...
and to memory to test execution (using a passed-in code emitter).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6365 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 21:46:56 +00:00
Misha Brukman
504905fd4b
Allow allocation of a Sparc TargetMachine.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6364 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 21:46:07 +00:00
Chris Lattner
a161f0c7c9
Expose proto for SRoA pass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6348 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 15:52:45 +00:00
Vikram S. Adve
bfebd79dd1
(1) Added special register class containing (for now) %fsr.
...
Fixed spilling of %fcc[0-3] which are part of %fsr.
(2) Moved some machine-independent reg-class code to class TargetRegInfo
from SparcReg{Class,}Info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6343 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 00:07:13 +00:00
Vikram S. Adve
a22eace55b
Renamed MachienOperand::opIsDef to MachineOperand::opIsDefOnly()
...
and related functions and flags. Fixed several bugs where only
"isDef" was being checked, not "isDefAndUse".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6342 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 00:06:48 +00:00
Vikram S. Adve
28fc440bc6
Make case of GetNumOfInt/FloatArgRegs functions to be use lower case
...
like all the other functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6326 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-25 16:02:05 +00:00
Misha Brukman
12745c55e1
Reword to remove reference to how things worked in the past.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6323 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-24 01:08:43 +00:00
Misha Brukman
00b05bd703
NOP instructions are pseudo-instructions. We should not have them explicitly in
...
our representation, since they are usually special cases of already-existing
instructions.
This abstracts away methods that let a pass create and verify a NOP instruction,
without relying on a `NOP' enum to be in existence in the target's instruction
info descriptor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6319 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-24 00:08:39 +00:00
Chris Lattner
6cc89aad25
Remove some cruft, add some methods to allow implementation of bugfix for
...
Bug: Linker/2003-04-26-NullPtrLinkProblem.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6313 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-23 20:02:05 +00:00
Chris Lattner
baf850a51a
Minor rewording/cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6311 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-23 17:13:15 +00:00
Chris Lattner
7594b29c75
Remove long dead code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6307 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-22 22:00:54 +00:00
Chris Lattner
b3b729b69b
Add support for a new "CommaSeparated" modifier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6293 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-22 20:25:57 +00:00
Chris Lattner
67d8e1aabc
New method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6259 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-21 17:49:08 +00:00
Misha Brukman
82c89b9f3a
Hopefully, the final fix for `[Pp]ropogate'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6251 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-20 21:01:22 +00:00
Misha Brukman
f117cc9ee6
s/convertable/convertible/g
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6248 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-20 18:45:36 +00:00
Misha Brukman
d5bd008265
The plural of `Pass' is Passes, not Pass's.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6247 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-20 18:39:06 +00:00
Chris Lattner
c436b37262
Add support for setjmp/longjmp primitives
...
Patch checked in for Bill Wendling :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6241 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-17 22:26:33 +00:00
Chris Lattner
17aefb168f
Add some methods to make type safety a bit easier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6198 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-14 17:49:52 +00:00
Chris Lattner
bc4a15f6fa
Beef up interface, move getVarInfo out-of-line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6114 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-12 14:23:04 +00:00
Chris Lattner
9c341366a7
Expand API for updating live var info.
...
Expose iterators, not const-iterators.
Rename method that was VERY misleading
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6108 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-12 03:51:30 +00:00
Chris Lattner
56adf152f6
Make sure that globals are emitted AFTER the passmanager is set up for the JIT,
...
because the globals may refer to functions that need to be compiled!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6105 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-12 02:14:34 +00:00
Joel Stanley
b450b20bcf
Fixed comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6072 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-10 01:56:42 +00:00
Chris Lattner
fbe3ecdb2c
Update out of date comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6070 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-09 22:16:18 +00:00
Chris Lattner
806cebc562
Updates to match recent timer updates
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6069 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-09 20:44:22 +00:00
Chris Lattner
70bca51f92
Add new method to check to see if a global is available
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6058 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-09 03:29:03 +00:00
Chris Lattner
e0e72177c0
Allow const functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6056 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-09 03:27:41 +00:00
Chris Lattner
eccf8d05ee
Fix bug in last checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6055 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 22:00:52 +00:00
Chris Lattner
1f25d8801f
Add new methods for stub generation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6053 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 21:53:57 +00:00
Chris Lattner
f88b9a6397
Add a pointersize/endianness safe load routine to match the store routine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6042 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 16:52:16 +00:00
Chris Lattner
4804824047
Initial support for intrinsic functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6033 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 03:34:12 +00:00
Chris Lattner
eea35433d2
Initial checkin for LLVM intrinsic functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6032 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 03:33:54 +00:00
Chris Lattner
97b315a585
Add support for the new VarArgInst instruction, reindent some stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6028 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 02:43:06 +00:00
Chris Lattner
fb892e51ed
Add new VarArgInst class for the va_arg instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6027 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 02:42:50 +00:00
Chris Lattner
8a88563a32
Add comments, add a vector to keep track of which registers are allocatable
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6014 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-07 20:07:58 +00:00
Chris Lattner
6a4e6341f2
Fix memory corruption problem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6003 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-06 18:45:02 +00:00
Misha Brukman
1d06fbe893
It's 'separate'. The 'i.e.' is kinda nit-picking, but think of it this way:
...
'separate' is the one causing you to recompile all your passes anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5992 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-03 03:31:06 +00:00
Chris Lattner
10daaa1416
Remove two fields from TargetData which are target specific.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5963 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 20:11:09 +00:00
Chris Lattner
6ad5a31324
Revert last checkin. Note that PHI nodes can use basic blocks also!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5956 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 17:38:26 +00:00
Chris Lattner
90117cbb6f
Remove long-dead obsolete cruft
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5955 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 23:39:08 +00:00
Chris Lattner
322bc2b5aa
Fix method name type-o
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5933 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 05:23:27 +00:00
Chris Lattner
eca8e8f111
*** Huge: Make constantexprs be handled correctly, conservatively
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5923 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 02:51:46 +00:00
Chris Lattner
d6cbe339af
Default ctor doesn't provide name
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5921 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 02:50:19 +00:00
Chris Lattner
4bc8e640b8
Add new targetdata ctor to create a targetdata appropriate to the module
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5902 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 19:08:45 +00:00
Chris Lattner
baf64b1e1c
Remove support for "targetdata pass ctors"
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5901 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 18:41:30 +00:00
Chris Lattner
5705f0c2ea
LevelRaise now gets TD from passmanager
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5897 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-24 18:25:42 +00:00
Chris Lattner
d55e98673a
Kill unneccesary &*
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5870 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:35:30 +00:00
Chris Lattner
3b1ca40d5d
Add stub to create lowerSwitches pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5866 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:24:19 +00:00
Chris Lattner
011ce8d2e4
Allow autoconversion from ilist_iterator<T> to T* in a dyn_cast and friends
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5862 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:17:53 +00:00
Chris Lattner
ea0f49e524
Allow dyn_cast to operate on things that aren't OBVIOUSLY a pointer type.
...
These things can be converted to a pointer, like ilist_iterators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5861 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:17:28 +00:00
Chris Lattner
bf4ff33e22
Add information about the module source
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5837 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-22 18:03:13 +00:00
Chris Lattner
678c6a089d
Add support for tracking whether a module is 64/32 bit and big/little endian
...
Also add a moduleID field which can be used for diagnostics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5834 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-22 18:02:04 +00:00
Chris Lattner
23e0a58c5a
Add prototype to read .a files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5821 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-19 21:45:52 +00:00
Chris Lattner
a107e5f11c
Add prototype for new CloneBasicBlock function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5804 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-18 03:49:22 +00:00
Chris Lattner
fd73cf895c
Don't force a ConstantPointer to be returned
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5799 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-17 19:22:47 +00:00
Chris Lattner
fb242b6edc
Change the interface to constant expressions to allow automatic folding
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5793 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 22:40:51 +00:00
Chris Lattner
076e2ae92f
Revert modulo scheduling change that should be part of the modulo-sched pass itself,
...
not part of the Instruction class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5787 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 20:30:02 +00:00
Chris Lattner
4ad02e726d
Add new linkage types to support a real frontend
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5786 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 20:28:45 +00:00
Misha Brukman
4bd8b24470
Must use std::pair instead of just 'pair'.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5767 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-07 00:25:09 +00:00
Guochun Shi
681220dc3c
added a function and a member to the TargetSchedInfo class
...
which is used by Modulo Scheduling pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5766 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-07 00:00:36 +00:00
Guochun Shi
105cb77d6f
added some memory for clone function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5765 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-06 23:58:44 +00:00
Chris Lattner
d76370b306
Add getAnalysisUsage method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5756 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-31 17:29:18 +00:00
Chris Lattner
f1ab454b71
Add helper method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5753 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-21 21:41:02 +00:00
Chris Lattner
6f2ec7f59d
Update comment
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5752 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-21 21:40:39 +00:00
Chris Lattner
e33b796851
Add more graph traits specializations for dominator tree nodes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5751 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-20 21:21:05 +00:00
Chris Lattner
1b079f9685
Add new chunk type
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5747 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-19 20:48:27 +00:00
Chris Lattner
8fb1fe16b7
Fix problems with BitSetVector that makes it not compile under GCC 3.0 and 2.95
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5745 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-17 18:11:27 +00:00
Chris Lattner
1680312867
Fix ConstantUInt::isAllOnesValue
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5734 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-10 22:39:02 +00:00
Chris Lattner
a5ae71a137
Extend struct and array constants to support isNullValue
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5719 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-06 21:02:43 +00:00
Chris Lattner
fade83f62f
Generalize interface a bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5711 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-06 16:50:21 +00:00
Chris Lattner
566f0ee4ed
Add new getIncomingValueForBlock method
...
Relax a bit about constness
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5709 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-06 16:36:28 +00:00
Chris Lattner
05ddff9b98
Simplify some of the PHI node interfaces
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5700 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-05 21:15:12 +00:00
Chris Lattner
b75f9dda9e
Add a few new 'add' methods. Move the iterator around
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5690 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 23:27:52 +00:00
Chris Lattner
fb743a937f
Change the mem2reg interface to accept a TargetData argument
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5685 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 17:25:18 +00:00
Chris Lattner
af68ccefeb
Don't apply type information to loads
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5683 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-03 17:13:22 +00:00
Chris Lattner
f972cbd98c
Add dump method for loops
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5670 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-28 16:54:37 +00:00
Chris Lattner
1db0a40037
Add graph traits specializations for loop nesting information...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5666 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-28 03:05:15 +00:00
Chris Lattner
6bc4281336
Add new Loop::hasExitBlock helper method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5663 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 22:48:28 +00:00
Chris Lattner
f2e2925f95
Change behavior of changeExitBlock function to replace all instances of exit block
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5661 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 22:37:44 +00:00
Chris Lattner
ef05100950
Make the interface to update a little more efficient
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5651 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 20:24:17 +00:00
Chris Lattner
fe3ae1ed66
* LoopInfo now keeps track of exit blocks from the loop
...
* New LoopInfo::isLoopHeader method
* Remove some #if 0 code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5649 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-27 00:37:22 +00:00
Chris Lattner
31a9d185bf
Make the aliassettracker much more precise by actually tracking size
...
information for various accesses. What a concept.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5647 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 22:11:00 +00:00
Chris Lattner
f8783fadb4
BasicAA doesn't need a public header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5639 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:41:46 +00:00
Chris Lattner
13b6f22f04
Tweak to work with new AA implementation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5632 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:25:04 +00:00
Chris Lattner
1c56b730a6
Checkin of new alias analysis interface:
...
* Takes into account the size of the memory reference to determine aliasing.
* Expose mod/ref information in a more consistent way
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5631 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:24:47 +00:00
Chris Lattner
d2c0b28c33
* Un "protect" the getAnalysis<> functions
...
* Add a new initializePass() method to ImmutablePass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5629 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-26 19:10:28 +00:00
Chris Lattner
f288ff7774
Add new helper template function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5622 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-25 00:00:50 +00:00
Chris Lattner
f0a93ed9c5
Rename Instruction::hasSideEffects() -> mayWriteToMemory()
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5620 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 20:48:32 +00:00
Chris Lattner
9971ac4a36
This is a substantial rewrite of the AliasSetTracker class which now uses
...
a union-find based algorithm, is significantly faster, and is more general.
It will also scale to handle call instructions correctly, which is a nice
added bonus.
This includes a new pass -print-alias-sets which can be used to show how
alias sets are formed for a particular analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5619 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 20:37:56 +00:00
Chris Lattner
93a7e08d1f
Initial checkin of CallSite wrapper for Call/Invoke instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5618 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-24 20:35:45 +00:00
Chris Lattner
782752b7a2
Add a new interface file for the PromoteMemToReg interface in the Utils library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5609 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-22 23:04:52 +00:00
Chris Lattner
731b2d7df5
Move node forwarding code from being inlined to being out-of-line.
...
This brings a 11.6% speedup to steens, and a 3.6 overall speedup to ds-aa
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5552 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-13 19:09:00 +00:00
Chris Lattner
72d29a4b00
Implement a "union-findy" version of DS-Analysis, which eliminates the
...
Referrers list on DSNodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5536 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-11 23:11:51 +00:00
Chris Lattner
d3c2e3237c
Fix uninitialized member problem
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5534 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-11 06:36:00 +00:00
Chris Lattner
1fcc101b1c
Bugfix for calling dump() after the links vector has been cleared
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5533 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-10 22:46:47 +00:00
Chris Lattner
ed14f8283a
Move getNode() out of line
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5531 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-10 18:19:41 +00:00
Chris Lattner
c40c905d63
Implement a new method "viewGraph" which can be used to instantly view a graph from GDB.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5529 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-10 18:17:38 +00:00
Chris Lattner
d4aabcb0d0
TD Pass now does not cause globals to mark nodes incomplete.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5512 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-09 18:40:25 +00:00
Chris Lattner
923fc05b3a
Implement optimization for direct function call case. This dramatically
...
reduces the number of function nodes created and speeds up analysis by
about 10% overall.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5495 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-05 21:59:58 +00:00
Chris Lattner
a329733f47
Allow the addition of edge source labels
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5493 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-05 19:40:59 +00:00
Chris Lattner
f52ade928c
Add sanity check
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5489 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-04 00:03:57 +00:00
Chris Lattner
4923d1be91
Hack to work around deficiency in pass infrastructure
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5485 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 22:51:28 +00:00
Chris Lattner
5a939029d5
Eliminate unused resolving caller stuff
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5475 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 19:11:04 +00:00
Chris Lattner
f9962812d0
* Add a bunch of stuff for checking the integrity of the graph
...
* remove the isNodeDead method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5474 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 19:10:24 +00:00
Chris Lattner
9a64084a84
Remove pool alloc accessor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5473 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 19:08:33 +00:00
Chris Lattner
4ab6aefe44
Expose information about pool allocation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5471 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-03 19:07:46 +00:00
Chris Lattner
8bac08bf04
Allow modifying a global variables constness property
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5468 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-02 16:40:40 +00:00
Chris Lattner
41c04f730b
Change DSGraph stuff to use hash_(set|map) instead of std::(set|map)
...
This change provides a small (3%) but consistent speedup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5460 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 04:52:08 +00:00
Chris Lattner
cb98327142
Add new composition mask
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5454 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 03:28:26 +00:00
Joel Stanley
0eea1d5b7e
Added protos for two alternate, convenient CallInst constructors.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5453 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-01 00:41:27 +00:00
Chris Lattner
fe9664ce7c
Add new function to allow removal of typed named elements
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5442 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-30 20:54:03 +00:00
Chris Lattner
9e4b15b1a1
New API for traversing graph
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5430 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-29 21:09:59 +00:00
Chris Lattner
fd373cb944
Initial checking: defult the make_vector function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5424 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-28 20:01:16 +00:00
Chris Lattner
a892a3a08e
New helper header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5423 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-27 22:08:52 +00:00
Chris Lattner
381977d191
* Eliminate boolean arguments in favor of using enums
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5420 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-23 22:06:33 +00:00
Chris Lattner
9085d8a9a9
Print machine frame objects with the frame offset intrinsic to the machine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5329 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-16 18:35:57 +00:00
Chris Lattner
795ba6cabd
Move sparc specific code into the Sparc backend
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5317 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 21:36:50 +00:00
Chris Lattner
0a166155e7
Simplify the interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5313 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 21:13:32 +00:00
Chris Lattner
a9dcd3cceb
Move private headers into private regalloc directory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5308 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 20:26:32 +00:00
Chris Lattner
d77fa74a0c
Move private header to private dir
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5304 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:50:32 +00:00
Chris Lattner
b66fdc2934
Remove obsolete ctor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5301 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:47:02 +00:00
Chris Lattner
1be114be3a
Remove internal helper fn
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5300 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:46:39 +00:00
Chris Lattner
83435fbaf9
ADd support for CC registers for Sparc BE
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5297 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:22:23 +00:00
Chris Lattner
4d69c8e369
Add support for the CC registers for Sparc BE
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5296 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:22:06 +00:00
Chris Lattner
4091233dfd
Remove more unused methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5295 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 19:21:50 +00:00
Chris Lattner
73df3bfb68
Remove a ton of functions that are no longer used, instead using BuildMI
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5290 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 17:35:44 +00:00
Chris Lattner
e387de3084
Add new helper method addRegDef
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5289 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 17:18:22 +00:00
Chris Lattner
ed4fb8f3ec
* Eliminate a bunch of inline functions.
...
* Convert callers to use BuildMI instead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5286 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-15 00:02:41 +00:00
Chris Lattner
9f2b7ffe05
Move to include/llvm/CodeGen
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5285 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 23:05:31 +00:00
Chris Lattner
8143d8f91a
Move llvm/Analysis/LiveVar/ValueSet.h to CodeGen/ValueSet.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5282 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:56:37 +00:00
Chris Lattner
b9eca537d0
New header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5280 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:37:41 +00:00
Chris Lattner
a1767182de
Move to Instrumentation.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5279 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:36:15 +00:00
Chris Lattner
77f088b114
REmove unused header file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5275 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:29:57 +00:00
Chris Lattner
d15a1da5eb
Remove unused header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5274 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:28:22 +00:00
Chris Lattner
3501feab81
Rename MachineInstrInfo -> TargetInstrInfo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5272 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 22:00:31 +00:00
Chris Lattner
d640a6b4cf
Move llvm/Annotation.h to Support/Annotation.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5271 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 21:39:04 +00:00
Chris Lattner
cb09cc268b
Move annotation to support library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5268 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 21:29:58 +00:00
Chris Lattner
97ca95d1e7
Must #include assert.h
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5267 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-14 21:29:52 +00:00