| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
Constant::isNullValue() in situations where it is possible.
llvm-svn: 34821
|
|
|
|
| |
llvm-svn: 34176
|
|
|
|
|
|
|
| |
the Transforms library. This reduces debug library size by 132 KB, debug
binary size by 376 KB, and reduces link time for llvm tools slightly.
llvm-svn: 33939
|
|
|
|
| |
llvm-svn: 33715
|
|
|
|
| |
llvm-svn: 33693
|
|
|
|
|
|
|
|
|
| |
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: 33150
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
This patch converts getPrimitiveSize to getPrimitiveSizeInBits where it is
appropriate to do so (comparison of integer primitive types).
llvm-svn: 33012
|
|
|
|
| |
llvm-svn: 32971
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
converted, we lose a static initializer. This also allows GCC to emit warnings
about unused statistics.
llvm-svn: 32690
|
|
|
|
|
|
| |
is 'unsigned'.
llvm-svn: 32279
|
|
|
|
|
|
|
|
|
|
| |
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: 30555
|
|
|
|
| |
llvm-svn: 29925
|
|
|
|
| |
llvm-svn: 29886
|
|
|
|
| |
llvm-svn: 29874
|
|
|
|
|
|
|
|
|
| |
today,
I'm going to wait to put this in HEAD until tomorrow, so as not to clutter the nightly
tester.
llvm-svn: 29868
|
|
|
|
|
|
|
|
| |
while, but I
forgot to put in the analysis usage.
llvm-svn: 29867
|
|
|
|
| |
llvm-svn: 29765
|
|
|
|
|
|
| |
This should fix PR 831.
llvm-svn: 29141
|
|
|
|
| |
llvm-svn: 29134
|
|
|
|
| |
llvm-svn: 29126
|
|
|
|
|
|
| |
didn't start showing up until after the recent instcombine fixes.
llvm-svn: 29102
|
|
|
|
|
|
| |
will make Shootout-C/nestedloop faster.
llvm-svn: 28924
|
|
|
|
|
|
|
|
| |
"LCSSA" phi node causes indvars to break dominance properties. This fixes
causes indvars to avoid inserting aggressive code in this case, instead
indvars should be fixed to be more aggressive in the face of lcssa phi's.
llvm-svn: 28850
|
|
|
|
|
|
| |
half the problem.
llvm-svn: 24414
|
|
|
|
|
|
| |
compiling mysql reported by Ted Kremenek.
llvm-svn: 24402
|
|
|
|
|
|
| |
constant stride. This implements Transforms/IndVarsSimplify/variable-stride-ivs.ll
llvm-svn: 22744
|
|
|
|
|
|
| |
other passes may use it.
llvm-svn: 22557
|
|
|
|
|
|
| |
BB iterator. This fixes Transforms/IndVarsSimplify/2005-06-15-InstMoveCrash.ll
llvm-svn: 22221
|
|
|
|
| |
llvm-svn: 21427
|
|
|
|
| |
llvm-svn: 20181
|
|
|
|
|
|
| |
and PR504.
llvm-svn: 20129
|
|
|
|
|
|
| |
and work better with VC++. Patch contributed by Morten Ofstad!
llvm-svn: 17281
|
|
|
|
|
|
| |
marker from one ilist into the middle of another basic block!
llvm-svn: 16925
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pointer recurrences into expressions from this:
%P_addr.0.i.0 = phi sbyte* [ getelementptr ([8 x sbyte]* %.str_1, int 0, int 0), %entry ], [ %inc.0.i, %no_exit.i ]
%inc.0.i = getelementptr sbyte* %P_addr.0.i.0, int 1 ; <sbyte*> [#uses=2]
into this:
%inc.0.i = getelementptr sbyte* getelementptr ([8 x sbyte]* %.str_1, int 0, int 0), int %inc.0.i.rec
Actually create something nice, like this:
%inc.0.i = getelementptr [8 x sbyte]* %.str_1, int 0, int %inc.0.i.rec
llvm-svn: 16924
|
|
|
|
| |
llvm-svn: 16432
|
|
|
|
|
|
| |
Patch contributed by Paolo Invernizzi. Thanks Paolo!
llvm-svn: 16368
|
|
|
|
|
|
|
|
| |
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
llvm-svn: 16137
|
|
|
|
|
|
| |
is bad bad bad.
llvm-svn: 15227
|
|
|
|
|
|
|
| |
Second, disable substitution of quadratic addrec expressions to avoid putting
multiplies in loops!
llvm-svn: 14358
|
|
|
|
| |
llvm-svn: 14262
|
|
|
|
| |
llvm-svn: 14249
|
|
|
|
|
|
|
| |
still room for cleanup, but at least the code modification is out of the
analysis now.
llvm-svn: 13135
|
|
|
|
| |
llvm-svn: 13108
|
|
|
|
| |
llvm-svn: 13106
|