Reid Spencer
4fe8454735
Don't #include DerivedTypes.h in this header. Make adjustments to
...
compensate. Move a function out of line to TargetLowering.cpp
llvm-svn: 33153
2007-01-12 23:21:42 +00:00
Reid Spencer
baff834435
Add a new home for TargetLowering member functions.
...
llvm-svn: 33152
2007-01-12 23:18:18 +00:00
Chris Lattner
bc884d406d
remove obsolete fixme
...
llvm-svn: 33151
2007-01-12 22:52:50 +00:00
Chris Lattner
7cfcfbb801
simplify some code
...
llvm-svn: 33150
2007-01-12 22:51:20 +00:00
Evan Cheng
e2a6d79cad
Minor fix.
...
llvm-svn: 33149
2007-01-12 22:51:10 +00:00
Evan Cheng
a8ed507f15
- Move RTLIB::Libcall enum to a separate file.
...
- Code clean up.
llvm-svn: 33148
2007-01-12 22:49:32 +00:00
Chris Lattner
48ec71f551
Remove over-general comparisons
...
llvm-svn: 33147
2007-01-12 22:49:11 +00:00
Jim Laskey
ee29cc6016
Allow isAllOnesValue testing on packed constants
...
llvm-svn: 33146
2007-01-12 22:39:14 +00:00
Evan Cheng
3e3e3865b8
Silence a bogus compiler warning.
...
llvm-svn: 33145
2007-01-12 22:30:07 +00:00
Chris Lattner
936c770e83
inline isIntegral to make this method look like classof for all other
...
derived types
llvm-svn: 33144
2007-01-12 22:11:53 +00:00
Chris Lattner
f475e26e95
update this to work with recent asmprinter change
...
llvm-svn: 33143
2007-01-12 21:16:56 +00:00
Lauro Ramos Venancio
14cf9f2c03
Don't add or sub zero to sp.
...
llvm-svn: 33142
2007-01-12 20:52:27 +00:00
Lauro Ramos Venancio
97e120a71c
Build constants using instructions mov/orr or mvn/eor.
...
llvm-svn: 33141
2007-01-12 20:35:49 +00:00
Reid Spencer
4eea43e6ce
Regenerate.
...
llvm-svn: 33140
2007-01-12 20:10:51 +00:00
Reid Spencer
64620485d0
Remove support for upgrading NOT. The llvm-upgrade lexer didn't recognize
...
it either. NOT is just plain illegal now.
llvm-svn: 33139
2007-01-12 20:09:48 +00:00
Devang Patel
347efe4ce7
s/addPassToManager/add/g
...
llvm-svn: 33138
2007-01-12 20:07:16 +00:00
Anton Korobeynikov
ea90b2409f
Regenerate
...
llvm-svn: 33137
2007-01-12 19:22:51 +00:00
Anton Korobeynikov
548b9af9c2
* PIC codegen for X86/Linux has been implemented
...
* PIC-aware internal structures in X86 Codegen have been refactored
* Visibility (default/weak) has been added
* Docs fixes (external weak linkage, visibility, formatting)
llvm-svn: 33136
2007-01-12 19:20:47 +00:00
Devang Patel
9afb283500
Move PMTopLevelManager, PMDataManager and FPPassManger classes into
...
new PassManagers.h header.
This opens door for implementing CGPassManager in IPA library.
llvm-svn: 33135
2007-01-12 18:52:44 +00:00
Chris Lattner
cb66b7721a
Remove a bunch of duplicated code. Among other things, this fixes
...
constant folding of signed comparisons of bool.
llvm-svn: 33134
2007-01-12 18:42:52 +00:00
Chris Lattner
7715d9f905
unbreak i1 constants with the cpp writer, eliminate special case.
...
llvm-svn: 33133
2007-01-12 18:37:29 +00:00
Chris Lattner
18fa0e53fa
eliminate redundant check
...
llvm-svn: 33132
2007-01-12 18:35:11 +00:00
Chris Lattner
cee2f2e618
regenerate
...
llvm-svn: 33131
2007-01-12 18:33:30 +00:00
Chris Lattner
b2fb78205f
This production is dead, the lexer can never return 'NOT'
...
llvm-svn: 33130
2007-01-12 18:32:39 +00:00
Chris Lattner
115b9b1a2b
Branch conditions must be i1
...
llvm-svn: 33129
2007-01-12 18:30:11 +00:00
Chris Lattner
39030b8d42
don't discriminate against bool
...
llvm-svn: 33128
2007-01-12 18:28:58 +00:00
Chris Lattner
be3dff7815
remove unneeded special cases
...
llvm-svn: 33127
2007-01-12 18:23:49 +00:00
Jeff Cohen
13f3b02fca
'==' is not a legal test operator on BSD. Use '='.
...
llvm-svn: 33126
2007-01-12 18:22:38 +00:00
Chris Lattner
c5a3d1064e
GEP operands can't be bools
...
llvm-svn: 33125
2007-01-12 18:20:48 +00:00
Chris Lattner
e0b9a74157
Simplify code
...
llvm-svn: 33123
2007-01-12 18:15:09 +00:00
Reid Spencer
01779f41de
Make a couple organizational changes. Type no longer derives from Value
...
(hasn't for ages) so move it up one level in the table of contents.
Type needs to be understood before Value so move it before Value. Make
the descriptions of types stand out a little more. Add references to the
doxygen for the Type class.
llvm-svn: 33122
2007-01-12 17:26:25 +00:00
Devang Patel
dc1430cb98
Remove dead code.
...
llvm-svn: 33121
2007-01-12 17:23:48 +00:00
Reid Spencer
a86107d89a
Update documentation for arbitrary precision integers:
...
1. int -> i32
2. Describe the IntegerType class.
3. Correct the description of Type and its primitive type subclasses.
4. Document OpaqueType and PackedType a little better.
llvm-svn: 33120
2007-01-12 17:11:23 +00:00
Reid Spencer
dc437799c4
Fix a typo.
...
llvm-svn: 33118
2007-01-12 15:46:11 +00:00
Reid Spencer
6a286c69bd
Regenerate.
...
llvm-svn: 33117
2007-01-12 07:28:27 +00:00
Reid Spencer
93f4aedbbb
Integer type names need 1 or more digits, not zero or more.
...
llvm-svn: 33116
2007-01-12 07:27:59 +00:00
Reid Spencer
eeb33c0716
Always write 1 bit integers as i1 not "bool".
...
llvm-svn: 33115
2007-01-12 07:25:20 +00:00
Evan Cheng
0241c4a0b5
Comment.
...
llvm-svn: 33114
2007-01-12 07:25:16 +00:00
Reid Spencer
373d2bccea
For PR1064:
...
Implement the arbitrary bit-width integer feature. The feature allows
integers of any bitwidth (up to 64) to be defined instead of just 1, 8,
16, 32, and 64 bit integers.
This change does several things:
1. Introduces a new Derived Type, IntegerType, to represent the number of
bits in an integer. The Type classes SubclassData field is used to
store the number of bits. This allows 2^23 bits in an integer type.
2. Removes the five integer Type::TypeID values for the 1, 8, 16, 32 and
64-bit integers. These are replaced with just IntegerType which is not
a primitive any more.
3. Adjust the rest of LLVM to account for this change.
Note that while this incremental change lays the foundation for arbitrary
bit-width integers, LLVM has not yet been converted to actually deal with
them in any significant way. Most optimization passes, for example, will
still only deal with the byte-width integer types. Future increments
will rectify this situation.
llvm-svn: 33113
2007-01-12 07:05:14 +00:00
Chris Lattner
291062988d
Fix persistent conflict madness by removing these from cvs.
...
llvm-svn: 33111
2007-01-12 05:35:13 +00:00
Reid Spencer
3d986f6487
Implement review feedback for the ConstantBool->ConstantInt merge. Chris
...
recommended that getBoolValue be replaced with getZExtValue and that
get(bool) be replaced by get(const Type*, uint64_t). This implements
those changes.
llvm-svn: 33110
2007-01-12 04:24:46 +00:00
Reid Spencer
34e2e1797d
Update for changes in the IR. The ConstantIntegral, ConstantBool, and
...
ConstantInt classes were merged into just ConstantInt.
llvm-svn: 33107
2007-01-12 03:36:33 +00:00
Reid Spencer
354e21ece7
Update for changes in the assembly syntax. bool is replaced with i1.
...
llvm-svn: 33106
2007-01-12 03:35:51 +00:00
Evan Cheng
032a597692
Store default libgcc routine names and allow them to be redefined by target.
...
llvm-svn: 33105
2007-01-12 02:11:51 +00:00
Nick Lewycky
8229bc7c80
If we know that it's a constant being casted, propagate through the cast
...
instruction. Doesn't work the other way though (can't recover bits that
have been truncated).
llvm-svn: 33104
2007-01-12 01:23:53 +00:00
Nick Lewycky
8f02993e38
Clean up logic after ConstantBool removal.
...
llvm-svn: 33096
2007-01-12 00:02:12 +00:00
Devang Patel
da5ae651e9
Start using PMStack. Now each pass is responsibe for assinging
...
a pass manager for itself.
There is some opportunity to remove some dead code from PassManager.cpp.
llvm-svn: 33087
2007-01-11 22:15:30 +00:00
Reid Spencer
3e2c56c26a
Don't remove the find_rule label from FLEX output. It is needed by some
...
versions of FLEX even through we don't use REJECT. Thanks to Jeff Cohen
for tracking this down.
llvm-svn: 33085
2007-01-11 21:40:25 +00:00
Devang Patel
5f5c0486fb
Use getPassManagerType() instead of dynamic_cast.
...
llvm-svn: 33078
2007-01-11 19:59:06 +00:00
Reid Spencer
f3265181e2
Rename BoolTy as Int1Ty. Patch by Sheng Zhou.
...
llvm-svn: 33076
2007-01-11 18:21:29 +00:00