| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 33942
|
| |
|
|
|
|
|
|
|
|
| |
This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.
llvm-svn: 33918
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This feature is needed in order to support shifts of more than 255 bits
on large integer types. This changes the syntax for llvm assembly to
make shl, ashr and lshr instructions look like a binary operator:
shl i32 %X, 1
instead of
shl i32 %X, i8 1
Additionally, this should help a few passes perform additional optimizations.
llvm-svn: 33776
|
| |
|
|
|
|
| |
This allows us to eliminate many temporary vectors, and theirassociated malloc/free pairs.
llvm-svn: 33692
|
| |
|
|
| |
llvm-svn: 33520
|
| |
|
|
| |
llvm-svn: 33417
|
| |
|
|
|
|
|
| |
Clean up handling of isFloatingPoint() and dealing with PackedType.
Patch by Gordon Henriksen!
llvm-svn: 33415
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 33213
|
| |
|
|
| |
llvm-svn: 33146
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 32856
|
| |
|
|
|
|
| |
Change signed integer type names to unsigned equivalents.
llvm-svn: 32780
|
| |
|
|
| |
llvm-svn: 32758
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
still check the validity of signed values an overload to isValueValidForType
was added to allow passing in an int64_t to check.
llvm-svn: 32663
|
| |
|
|
|
|
| |
that its last uses have been removed.
llvm-svn: 32653
|
| |
|
|
| |
llvm-svn: 32614
|
| |
|
|
|
|
|
| |
Rename getZeroExtend and getSignExtend to getZExt and getSExt to match
the the casting mnemonics in the rest of LLVM.
llvm-svn: 32514
|
| |
|
|
| |
llvm-svn: 32475
|
| |
|
|
|
|
| |
to the createIntegerCast and createFPCast for CastInst instructions.
llvm-svn: 32457
|
| |
|
|
| |
llvm-svn: 32361
|
| |
|
|
|
|
| |
as the right type. Use this to shorten some code.
llvm-svn: 32300
|
| |
|
|
|
|
|
|
|
| |
Remove the getMaxValue and getMinValue functions from ConstantIntegral.
They don't make sense for a signless type. Also, for isMaxValue and
isMinValue, have the caller provided the signedness rather than obtaining
it from the constant's type.
llvm-svn: 32287
|
| |
|
|
|
|
| |
remaining uses to more specific casts.
llvm-svn: 32231
|
| |
|
|
| |
llvm-svn: 32211
|
| |
|
|
| |
llvm-svn: 32200
|
| |
|
|
|
|
|
| |
expressions. These will get used to reduce clutter as we replace various
calls to createInferredCast and getCast.
llvm-svn: 32191
|
| |
|
|
| |
llvm-svn: 32186
|
| |
|
|
|
|
| |
expressions.
llvm-svn: 32170
|
| |
|
|
|
|
|
|
| |
CastInst and ConstantExpr that allow the signedness to be explicitly passed
in and reliance on signedness removed from getCastOpcode. These are
temporary measures useful during the conversion of inferred casts.
llvm-svn: 32164
|
| |
|
|
| |
llvm-svn: 32147
|
| |
|
|
|
|
| |
ConstantInt::get
llvm-svn: 32080
|
| |
|
|
|
|
|
|
|
|
| |
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: 31814
|
| |
|
|
|
|
|
|
| |
This patch converts the old SHR instruction into two instructions,
AShr (Arithmetic) and LShr (Logical). The Shr instructions now are not
dependent on the sign of their operands.
llvm-svn: 31542
|
| |
|
|
|
|
| |
Replace the REM instruction with UREM, SREM and FREM.
llvm-svn: 31369
|
| |
|
|
| |
llvm-svn: 31206
|
| |
|
|
| |
llvm-svn: 31201
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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: 31059
|
| |
|
|
|
|
| |
ConstantBool::getTrue() and ConstantBool::getFalse().
llvm-svn: 30666
|
| |
|
|
| |
llvm-svn: 30641
|
| |
|
|
|
|
| |
eliminating static ctors/dtors
llvm-svn: 30639
|
| |
|
|
|
|
| |
Instruction::isRelational to Instruction::isComparison.
llvm-svn: 30444
|