Chris Lattner
963e822148
Initial checkin of SelectionDAG header file
...
llvm-svn: 7716
2003-08-11 14:56:26 +00:00
Misha Brukman
b02e413f65
Remove references to `bugpoint' from the now-generic system utilities.
...
llvm-svn: 7693
2003-08-07 21:33:33 +00:00
Misha Brukman
3581f8542d
Moved removeFile() and getUniqueFilename() into FileUtilities.
...
llvm-svn: 7691
2003-08-07 21:28:50 +00:00
Sumant Kowshik
b2d3c8e805
Added a flag which is set when all data structures are not pool allocated
...
llvm-svn: 7660
2003-08-07 04:37:52 +00:00
Chris Lattner
74bc5c7147
There was no reason for these to be bit-fields, they just need to be unique.
...
Also, add an isVoid item
llvm-svn: 7659
2003-08-07 00:17:00 +00:00
Chris Lattner
4159fdaef2
Add a bunch of new Alpha Intrinsics for Rahul Joshi
...
llvm-svn: 7646
2003-08-06 20:08:25 +00:00
Chris Lattner
385a6b2589
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%
llvm-svn: 7622
2003-08-05 22:39:13 +00:00
Chris Lattner
020b544cbc
Do not insert physical regsiters into the regsUsed set
...
llvm-svn: 7617
2003-08-05 21:55:20 +00:00
Chris Lattner
44309a112f
Add a comment to the method decl
...
llvm-svn: 7609
2003-08-05 18:38:16 +00:00
Chris Lattner
3df51d517c
Remove unused method
...
llvm-svn: 7608
2003-08-05 17:09:08 +00:00
Sumant Kowshik
766e284526
Added declaration of mergeInGlobalsGraph
...
llvm-svn: 7607
2003-08-05 17:06:18 +00:00
Chris Lattner
cd4f4320b0
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!
llvm-svn: 7602
2003-08-05 16:58:46 +00:00
Sumant Kowshik
e815b78deb
Added the declaration of InlineIndirectCalls
...
llvm-svn: 7601
2003-08-05 16:56:59 +00:00
Chris Lattner
23f7128e1f
The NOOP instruction is no longer needed. Instead, use the
...
TargetInstrInfo::isNOPinstr method
llvm-svn: 7530
2003-08-03 18:52:15 +00:00
Chris Lattner
1a063e7aee
CVS, please don't tell us that we have a new config.h file, everyone knows that.
...
llvm-svn: 7527
2003-08-03 18:31:38 +00:00
Chris Lattner
bb54f6fcad
Move debugging support out of Statistic.h into Debug.h, implement the new DEBUG_TYPE facilities
...
llvm-svn: 7490
2003-08-01 22:12:40 +00:00
Chris Lattner
2a5dae05e6
Including statistics into an anonymous namespace that gets #included into
...
every file is a bad idea.
llvm-svn: 7489
2003-08-01 22:12:07 +00:00
Chris Lattner
d32fe2e592
New file
...
llvm-svn: 7482
2003-08-01 20:28:55 +00:00
Chris Lattner
607eaaba5f
This file doesn't need this include
...
llvm-svn: 7479
2003-08-01 19:16:18 +00:00
Tanya Lattner
aab262210c
Renamed trapping instruction function to be more consistent with other functions in the file.
...
llvm-svn: 7448
2003-07-31 05:08:02 +00:00
Tanya Lattner
a93c7aeb7e
Added function to determine if an Instruction may trap.
...
llvm-svn: 7442
2003-07-31 04:05:50 +00:00
Chris Lattner
a8f5df593b
Code generation passes don't need access to raw LLVM types, this method is unnecessary.
...
llvm-svn: 7412
2003-07-30 05:29:45 +00:00
Vikram S. Adve
f128c11bdd
Unify all constant evaluations that depend on register size
...
in TargetInstrInfo::ConvertConstantToIntType.
llvm-svn: 7398
2003-07-29 20:30:20 +00:00
Vikram S. Adve
fa31c92f8e
Moved insertCallerSavingCode() to PhyRegAlloc and
...
moved isRegVolatile and modifiedByCall here: they are all
machine independent. Remove all uses of PhyRegAlloc.
llvm-svn: 7387
2003-07-29 19:41:23 +00:00
Vikram S. Adve
44119ac56e
Don't require a BB to look-up live variables, unless they may need to
...
be recomputed.
llvm-svn: 7384
2003-07-29 19:32:04 +00:00
John Criswell
4f37692a80
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.
llvm-svn: 7383
2003-07-29 19:11:58 +00:00
Chris Lattner
e8c59958d3
Fix copy and paste-o
...
llvm-svn: 7378
2003-07-29 05:15:44 +00:00
Chris Lattner
c1e3827de6
Move value type enums to CodeGen/ValueTypes.h
...
llvm-svn: 7376
2003-07-29 05:13:34 +00:00
Chris Lattner
91ea759ad9
Define target value types in a form usable by target-independent code
...
llvm-svn: 7375
2003-07-29 05:13:09 +00:00
Chris Lattner
8c48a098a5
Add alpha intrinsics, contributed by Rahul Joshi
...
llvm-svn: 7372
2003-07-28 21:18:21 +00:00
Misha Brukman
2befe71a04
Lined things up in a more aesthetically pleasing way.
...
llvm-svn: 7365
2003-07-28 19:17:53 +00:00
Misha Brukman
a626a9e4df
Removed extra parenthesis and fixed spelling.
...
llvm-svn: 7359
2003-07-28 16:53:28 +00:00
Tanya Lattner
db908a22c8
Need to include <string> to fix compile error on Sun
...
llvm-svn: 7358
2003-07-28 16:42:33 +00:00
Chris Lattner
dec94b36d3
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
llvm-svn: 7351
2003-07-26 23:30:37 +00:00
Chris Lattner
e63edd73e2
Whoops, this one was needed
...
llvm-svn: 7346
2003-07-26 23:18:11 +00:00
Chris Lattner
981e585021
Remove extraneous #includes
...
llvm-svn: 7341
2003-07-26 23:00:29 +00:00
Chris Lattner
25dc00904c
Remove #includes
...
llvm-svn: 7339
2003-07-26 22:56:46 +00:00
Vikram S. Adve
a33b1d1d74
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.
llvm-svn: 7328
2003-07-25 21:01:43 +00:00
Vikram S. Adve
51fca80cc5
Add an assertion.
...
llvm-svn: 7326
2003-07-25 20:58:57 +00:00
Brian Gaeke
bc1f6f59a1
Forward-declare class Module to make the header file self-contained.
...
llvm-svn: 7319
2003-07-25 20:20:53 +00:00
Chris Lattner
980e4253bc
More cassert inclusion for GCC 3.3
...
llvm-svn: 7318
2003-07-25 18:06:53 +00:00
Chris Lattner
29e525a33f
#include <cassert> as necessary...
...
llvm-svn: 7315
2003-07-25 17:58:41 +00:00
Chris Lattner
33d5102f54
Fix another accessibility problem illuminated by GCC 3.3
...
llvm-svn: 7314
2003-07-25 17:49:28 +00:00
Chris Lattner
659ad62df1
Fix visibility problem exposed by GCC 3.3
...
llvm-svn: 7313
2003-07-25 17:46:25 +00:00
Chris Lattner
e66e7d75bf
Remove inline declarations that GCC 3.3 doesn't like without a body
...
llvm-svn: 7312
2003-07-25 17:39:33 +00:00
Chris Lattner
0c09a89bda
Regardless of whether C provides assert.h, C++ source can always include
...
<cassert>, making this header unneeded.
llvm-svn: 7311
2003-07-25 17:35:03 +00:00
Chris Lattner
7a8412cc95
Use the C++ <cassert> header, not the C <assert.h> header
...
llvm-svn: 7310
2003-07-25 17:34:17 +00:00
Chris Lattner
88ee89f4a9
This header works with GCC 3.3
...
llvm-svn: 7309
2003-07-25 17:33:45 +00:00
Chris Lattner
b917db15f1
Add includes of assert
...
llvm-svn: 7307
2003-07-25 17:23:27 +00:00
Chris Lattner
8918af9b0f
Fix accessibility problems GCC 3.3
...
llvm-svn: 7306
2003-07-25 17:23:13 +00:00