| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
This is the final patch for this PR. It implements some minor cleanup
in the use of IntegerType, to wit:
1. Type::getIntegerTypeMask -> IntegerType::getBitMask
2. Type::Int*Ty changed to IntegerType* from Type*
3. ConstantInt::getType() returns IntegerType* now, not Type*
This also fixes PR1120.
Patch by Sheng Zhou.
llvm-svn: 33370
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
This makes naming much more consistent.  For example, there are now no longer any
instances of IntegerType that are not considered isInteger! :)
llvm-svn: 33225
 | 
| | 
| 
| 
|  | 
llvm-svn: 33218
 | 
| | 
| 
| 
|  | 
llvm-svn: 33147
 | 
| | 
| 
| 
|  | 
llvm-svn: 33129
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
|  | 
llvm-svn: 33076
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Merge ConstantIntegral and ConstantBool into ConstantInt.
Remove ConstantIntegral and ConstantBool from LLVM.
llvm-svn: 33073
 | 
| | 
| 
| 
|  | 
llvm-svn: 33043
 | 
| | 
| 
| 
|  | 
llvm-svn: 33001
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
resolve PR1088, and to help PR411.
This simplifies many clients also
llvm-svn: 32989
 | 
| | 
| 
| 
|  | 
llvm-svn: 32981
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
Take an incremental step towards type plane elimination. This change
separates types from values in the symbol tables by finally making use
of the TypeSymbolTable class. This yields more natural interfaces for
dealing with types and unclutters the SymbolTable class.
llvm-svn: 32956
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
This patch replaces signed integer types with signless ones:
1. [US]Byte -> Int8
2. [U]Short -> Int16
3. [U]Int   -> Int32
4. [U]Long  -> Int64.
5. Removal of isSigned, isUnsigned, getSignedVersion, getUnsignedVersion
   and other methods related to signedness. In a few places this warranted
   identifying the signedness information from other sources.
llvm-svn: 32785
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
This patch removes the SetCC instructions and replaces them with the ICmp
and FCmp instructions. The SetCondInst instruction has been removed and
been replaced with ICmpInst and FCmpInst.
llvm-svn: 32751
 | 
| | 
| 
| 
|  | 
llvm-svn: 32729
 | 
| | 
| 
| 
|  | 
llvm-svn: 32709
 | 
| | 
| 
| 
|  | 
llvm-svn: 32693
 | 
| | 
| 
| 
| 
| 
|  | 
zero arg vararg functions, pass undef instead of 'int 0', which is cheaper.
llvm-svn: 32634
 | 
| | 
| 
| 
|  | 
llvm-svn: 32534
 | 
| | 
| 
| 
| 
| 
|  | 
creation calls.
llvm-svn: 32521
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Rename getZeroExtend and getSignExtend to getZExt and getSExt to match
the the casting mnemonics in the rest of LLVM.
llvm-svn: 32514
 | 
| | 
| 
| 
|  | 
llvm-svn: 32469
 | 
| | 
| 
| 
|  | 
llvm-svn: 32333
 | 
| | 
| 
| 
|  | 
llvm-svn: 32320
 | 
| | 
| 
| 
| 
| 
|  | 
now cerr, cout, and NullStream resp.
llvm-svn: 32298
 | 
| | 
| 
| 
| 
| 
|  | 
is 'unsigned'.
llvm-svn: 32279
 | 
| | 
| 
| 
|  | 
llvm-svn: 32044
 | 
| | 
| 
| 
|  | 
llvm-svn: 32043
 | 
| | 
| 
| 
|  | 
llvm-svn: 32042
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
The long awaited CAST patch. This introduces 12 new instructions into LLVM
to replace the cast instruction. Corresponding changes throughout LLVM are
provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the
exception of 175.vpr which fails only on a slight floating point output
difference.
llvm-svn: 31931
 | 
| | 
| 
| 
|  | 
llvm-svn: 31924
 | 
| | 
| 
| 
|  | 
llvm-svn: 31610
 | 
| | 
| 
| 
|  | 
llvm-svn: 31608
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.
llvm-svn: 31380
 | 
| | 
| 
| 
|  | 
llvm-svn: 31352
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
Make necessary changes to support DIV -> [SUF]Div. This changes llvm to
have three division instructions: signed, unsigned, floating point. The
bytecode and assembler are bacwards compatible, however.
llvm-svn: 31195
 | 
| | 
| 
| 
|  | 
llvm-svn: 31086
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.
llvm-svn: 31063
 | 
| | 
| 
| 
|  | 
llvm-svn: 30698
 | 
| | 
| 
| 
|  | 
llvm-svn: 30680
 | 
| | 
| 
| 
|  | 
llvm-svn: 30679
 | 
| | 
| 
| 
|  | 
llvm-svn: 30676
 | 
| | 
| 
| 
| 
| 
|  | 
ConstantBool::getTrue() and ConstantBool::getFalse().
llvm-svn: 30665
 | 
| | 
| 
| 
| 
| 
|  | 
Burg.
llvm-svn: 30657
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
... args, remove the '...'.
This is Transforms/DeadArgElim/dead_vaargs.ll
llvm-svn: 30459
 | 
| | 
| 
| 
| 
| 
|  | 
MultiSource/Applications/Burg
llvm-svn: 30397
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
revealed these
changes to be incorrect.  They just weren't showing up in any of our current testcases.
llvm-svn: 30385
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
DLL* linkages got full (I hope) codegeneration support in C & both x86
assembler backends.
External weak linkage added for future use, we don't provide any
codegeneration, etc. support for it.
llvm-svn: 30374
 |