| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
First round of ConstantRange changes. This makes all CR constructors use
only APInt and not use ConstantInt. Clients are adjusted accordingly.
llvm-svn: 34756
|
| |
|
|
| |
llvm-svn: 34640
|
| |
|
|
| |
llvm-svn: 34638
|
| |
|
|
| |
llvm-svn: 34546
|
| |
|
|
| |
llvm-svn: 34333
|
| |
|
|
|
|
| |
by 5%.
llvm-svn: 34332
|
| |
|
|
|
|
| |
on 447.dealII
llvm-svn: 34323
|
| |
|
|
|
|
|
| |
Change use of "packed" term to "vector" in comments, strings, variable
names, etc.
llvm-svn: 34300
|
| |
|
|
| |
llvm-svn: 34298
|
| |
|
|
|
|
|
| |
Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and
PackedTyID -> VectorTyID. No functional changes.
llvm-svn: 34293
|
| |
|
|
|
|
| |
Patch by Scott Michel.
llvm-svn: 34266
|
| |
|
|
| |
llvm-svn: 34219
|
| |
|
|
| |
llvm-svn: 34205
|
| |
|
|
| |
llvm-svn: 34176
|
| |
|
|
| |
llvm-svn: 34156
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
Adjust to changes in Module interface:
getMainFunction() -> getFunction("main")
getNamedFunction(X) -> getFunction(X)
llvm-svn: 33922
|
| |
|
|
| |
llvm-svn: 33902
|
| |
|
|
| |
llvm-svn: 33900
|
| |
|
|
| |
llvm-svn: 33892
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Learn from sext and zext. The destination value falls within the range of the
source type.
Generalize properties regarding constant ints.
Get smarter about marking blocks as unreachable. If 1 >= 2 in order for this
block to execute, then it isn't reachable.
llvm-svn: 33889
|
| |
|
|
|
|
|
| |
Make the Module's dependent library use a std::vector instead of SetVector
adjust #includes in .cpp files because SetVector.h is no longer included.
llvm-svn: 33855
|
| |
|
|
| |
llvm-svn: 33845
|
| |
|
|
|
|
| |
speeds up the inliner 16%.
llvm-svn: 33801
|
| |
|
|
| |
llvm-svn: 33799
|
| |
|
|
| |
llvm-svn: 33796
|
| |
|
|
| |
llvm-svn: 33794
|
| |
|
|
|
|
| |
IPSCCP 3.3% on kimwitu.
llvm-svn: 33793
|
| |
|
|
|
|
| |
a release-assert build on kimwitu++.
llvm-svn: 33792
|
| |
|
|
| |
llvm-svn: 33785
|
| |
|
|
| |
llvm-svn: 33783
|
| |
|
|
| |
llvm-svn: 33779
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
pessimization where instcombine can sink a load (good for code size) that
prevents an alloca from being promoted by mem2reg (bad for everything).
llvm-svn: 33771
|
| |
|
|
| |
llvm-svn: 33715
|
| |
|
|
|
|
| |
InstCombine/vec_insert_to_shuffle.ll
llvm-svn: 33705
|
| |
|
|
| |
llvm-svn: 33693
|
| |
|
|
| |
llvm-svn: 33688
|
| |
|
|
|
|
| |
transformutils to libanalysis.
llvm-svn: 33680
|
| |
|
|
| |
llvm-svn: 33674
|
| |
|
|
| |
llvm-svn: 33672
|
| |
|
|
| |
llvm-svn: 33666
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This occurs in C++ code like:
#include <iostream>
#include <iterator>
int a[] = { 1, 2, 3, 4, 5 };
int main() {
using namespace std;
copy(a, a + sizeof(a)/sizeof(a[0]), ostream_iterator<int>(cout, "\n"));
return 0;
}
Before we would decide the loop trip count is:
sdiv (i32 sub (i32 ptrtoint (i32* getelementptr ([5 x i32]* @a, i32 0, i32 5) to i32), i32 ptrtoint ([5 x i32]* @a to i32)), i32 4)
Now we decide it is "5". Amazing.
This code will need to be refactored, but I'm doing that as a separate
commit.
llvm-svn: 33665
|
| |
|
|
|
|
| |
confusion with external linkage types.
llvm-svn: 33663
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Fix initializeConstant, now initializeInt. Fixes major performance
bottleneck.
X == Y || X->DominatedBy(Y) is redundant. Remove the X == Y part.
Fix crasher in makeEqual where getOrInsertNode would add a new constant,
producing an NE relationship between the two members we're trying to make
equal. This now allows us to mark more BBs as unreachable.
llvm-svn: 33612
|
| |
|
|
|
|
| |
Mozilla that Anton tracked down.
llvm-svn: 33591
|
| |
|
|
| |
llvm-svn: 33511
|
| |
|
|
|
|
|
|
| |
changes: (1) don't special case for i1 any more, (2) use the new
TargetData::getTypeSizeInBits method to ensure source and dest are the
same bit width.
llvm-svn: 33427
|
| |
|
|
|
|
|
| |
Clean up handling of isFloatingPoint() and dealing with PackedType.
Patch by Gordon Henriksen!
llvm-svn: 33415
|
| |
|
|
|
|
|
|
|
| |
We only want to do this if the src and destination types have the same
bit width. This patch uses TargetData::getTypeSizeInBits() instead of
making a special case for integer types and avoiding the transform if
they don't match.
llvm-svn: 33414
|