|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| 
| 
| | of PR1107
llvm-svn: 33185 | 
| | 
| 
| 
| | llvm-svn: 33184 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | that properties were being applied where they didn't belong. Fixes crash
in new MiBench testcase.
Also mark debugging code as such in #ifdef.
llvm-svn: 33177 | 
| | 
| 
| 
| | llvm-svn: 33175 | 
| | 
| 
| 
| | llvm-svn: 33164 | 
| | 
| 
| 
| | llvm-svn: 33150 | 
| | 
| 
| 
| | llvm-svn: 33147 | 
| | 
| 
| 
| | llvm-svn: 33132 | 
| | 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| 
| | instruction. Doesn't work the other way though (can't recover bits that
have been truncated).
llvm-svn: 33104 | 
| | 
| 
| 
| | llvm-svn: 33096 | 
| | 
| 
| 
| | llvm-svn: 33076 | 
| | 
| 
| 
| | llvm-svn: 33075 | 
| | 
| 
| 
| 
| 
| 
| | Merge ConstantIntegral and ConstantBool into ConstantInt.
Remove ConstantIntegral and ConstantBool from LLVM.
llvm-svn: 33073 | 
| | 
| 
| 
| | llvm-svn: 33072 | 
| | 
| 
| 
| 
| 
| | is so that it can be called from inside a debugger.
llvm-svn: 33067 | 
| | 
| 
| 
| 
| 
| | Please do not enable, there is still some known miscompile problem.
llvm-svn: 33066 | 
| | 
| 
| 
| | llvm-svn: 33043 | 
| | 
| 
| 
| | llvm-svn: 33021 | 
| | 
| 
| 
| 
| 
| 
| | This patch converts getPrimitiveSize to getPrimitiveSizeInBits where it is
appropriate to do so (comparison of integer primitive types).
llvm-svn: 33012 | 
| | 
| 
| 
| 
| 
| 
| 
| | Enable complex addressing modes on 64-bit platforms involving two induction
variables by keeping a size and scale in 64-bits not 32.
Patch by Dan Gohman.
llvm-svn: 33011 | 
| | 
| 
| 
| | llvm-svn: 33001 | 
| | 
| 
| 
| | llvm-svn: 32998 | 
| | 
| 
| 
| 
| 
| 
| 
| | resolve PR1088, and to help PR411.
This simplifies many clients also
llvm-svn: 32989 | 
| | 
| 
| 
| | llvm-svn: 32985 | 
| | 
| 
| 
| | llvm-svn: 32982 | 
| | 
| 
| 
| | llvm-svn: 32981 | 
| | 
| 
| 
| | llvm-svn: 32980 | 
| | 
| 
| 
| | llvm-svn: 32971 | 
| | 
| 
| 
| 
| 
| | InstCombine/2003-11-13-ConstExprCastCall.ll
llvm-svn: 32959 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| | is only called on integers.
llvm-svn: 32949 | 
| | 
| 
| 
| 
| 
| | types of the same size
llvm-svn: 32948 | 
| | 
| 
| 
| 
| 
| 
| 
| | stronger, by nuking
relational pointer comparisons with casts.
llvm-svn: 32947 | 
| | 
| 
| 
| | llvm-svn: 32946 | 
| | 
| 
| 
| 
| 
| | undef operands.
llvm-svn: 32899 | 
| | 
| 
| 
| 
| 
| | InstCombine/xor.ll:test27
llvm-svn: 32893 | 
| | 
| 
| 
| | llvm-svn: 32890 | 
| | 
| 
| 
| | llvm-svn: 32866 | 
| | 
| 
| 
| | llvm-svn: 32858 | 
| | 
| 
| 
| | llvm-svn: 32827 | 
| | 
| 
| 
| | llvm-svn: 32803 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| 
| 
| | Fix this by ensuring that a bitcast is inserted to do sign switching. This
is only temporarily needed as the merging of signed and unsigned is next
on the SignlessTypes plate.
llvm-svn: 32757 | 
| | 
| 
| 
| 
| 
| | correctly and emit "may be used uninitialized" warnings.
llvm-svn: 32756 | 
| | 
| 
| 
| 
| 
| 
| | Don't allow CmpInst instances to be processed in FoldSelectOpOp because
you can't easily swap their operands.
llvm-svn: 32753 | 
| | 
| 
| 
| 
| 
| 
| 
| | 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: 32750 |