| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
not folded in the constant folder because the constant folder doesn't
simplify ConstantExpr operands.
llvm-svn: 81864
|
|
|
|
|
|
| |
This fixes PR4905
llvm-svn: 81174
|
|
|
|
| |
llvm-svn: 81173
|
|
|
|
|
|
| |
r80406, and readd a -print-dbginfo test.
llvm-svn: 80778
|
|
|
|
| |
llvm-svn: 80262
|
|
|
|
|
|
|
| |
by hand, and fix a few places that were using hasInitializer() that
appear to depend on the initializer value.
llvm-svn: 79441
|
|
|
|
|
|
| |
before performing optimizations based on constant string values.
llvm-svn: 79384
|
|
|
|
| |
llvm-svn: 78948
|
|
|
|
|
|
| |
alignment. Only the minimum alignment guaranteed by the ABI may be assumed.
llvm-svn: 78668
|
|
|
|
| |
llvm-svn: 78363
|
|
|
|
|
|
|
|
| |
change back are
metadata related, which I'm waiting on to avoid conflicting with Devang.
llvm-svn: 77721
|
|
|
|
| |
llvm-svn: 77635
|
|
|
|
| |
llvm-svn: 77148
|
|
|
|
| |
llvm-svn: 76702
|
|
|
|
|
|
|
|
|
| |
in a convenient manner, factoring out some common code from
InstructionCombining and ValueTracking. Move the contents of
BinaryOperators.h into Operator.h and use Operator to generalize them
to support ConstantExprs as well as Instructions.
llvm-svn: 76232
|
|
|
|
| |
llvm-svn: 74878
|
|
|
|
|
|
| |
through the ValueTracking API.
llvm-svn: 74873
|
|
|
|
|
|
|
|
|
| |
While
we could do this, doing so requires adjusting the demanded mask and the code isn't
doing that yet. This fixes PR4495
llvm-svn: 74699
|
|
|
|
|
|
| |
conservatively correctly, instead of aborting.
llvm-svn: 73908
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
failures.
To support this, add some utility functions to Type to help support
vector/scalar-independent code. Change ConstantInt::get and
ConstantFP::get to support vector types, and add an overload to
ConstantInt::get that uses a static IntegerType type, for
convenience.
Introduce a new getConstant method for ScalarEvolution, to simplify
common use cases.
llvm-svn: 73431
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
integer and floating-point opcodes, introducing
FAdd, FSub, and FMul.
For now, the AsmParser, BitcodeReader, and IRBuilder all preserve
backwards compatability, and the Core LLVM APIs preserve backwards
compatibility for IR producers. Most front-ends won't need to change
immediately.
This implements the first step of the plan outlined here:
http://nondot.org/sabre/LLVMNotes/IntegerOverflow.txt
llvm-svn: 72897
|
|
|
|
|
|
| |
of low bits of the other operand are preserved in the output.
llvm-svn: 72365
|
|
|
|
|
|
|
|
| |
Instcombine to be more aggressive about using SimplifyDemandedBits
on shift nodes. This allows a shift to be simplified to zero in the
included test case.
llvm-svn: 72204
|
|
|
|
|
|
|
| |
will make it more obvious what it represents, and stop
it being confused with the StoreSize.
llvm-svn: 71349
|
|
|
|
| |
llvm-svn: 66867
|
|
|
|
| |
llvm-svn: 66866
|
|
|
|
|
|
|
| |
ashr instcombine to help expose this code. And apply the fix to
SelectionDAG's copy of this code too.
llvm-svn: 65364
|
|
|
|
| |
llvm-svn: 62590
|
|
|
|
|
|
| |
suggested by Chris.
llvm-svn: 62099
|
|
|
|
|
|
|
|
| |
will get its preferred alignment. It has to be careful and cautiously assume
it will just get the ABI alignment. This prevents instcombine from rounding
up the alignment of a load/store without adjusting the alignment of the alloca.
llvm-svn: 61934
|
|
|
|
| |
llvm-svn: 58296
|
|
|
|
|
|
| |
infinite loop.
llvm-svn: 55149
|
|
|
|
|
|
| |
minimum of the known zeros.
llvm-svn: 55137
|
|
|
|
|
|
|
| |
can have a non-negative result; for example, -16%16 is 0. Also,
clarify the related comments. This fixes PR2670.
llvm-svn: 54767
|
|
|
|
|
|
|
|
| |
also use *idx_begin in the same expression, giving unpredictable results.
This fixes this bug: http://lists.cs.uiuc.edu/pipermail/llvmdev/2008-July/015877.html
llvm-svn: 53670
|
|
|
|
|
|
|
|
| |
empty string for ConstantAggregateZero case which surprises selectiondag.
- Correctly handle memcpy from constant string which is zero-initialized.
llvm-svn: 52891
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move GetConstantStringInfo to lib/Analysis. Remove
string output routine from Constant. Update all
callers. Change debug intrinsic api slightly to
accomodate move of routine, these now return values
instead of strings.
This unbreaks llvm-gcc bootstrap.
llvm-svn: 52884
|
|
|
|
|
|
|
| |
GetConstantStringInfo. This will hopefully restore llvm-gcc to
happy bootstrap land.
llvm-svn: 52851
|
|
|
|
| |
llvm-svn: 52850
|
|
|
|
|
|
|
| |
tolerate a non-nul-terminated string, and handling a direct global
reference.
llvm-svn: 52813
|
|
|
|
| |
llvm-svn: 52763
|
|
|
|
|
|
|
|
|
| |
string output routine from Constant. Update all
callers. Change debug intrinsic api slightly to
accomodate move of routine, these now return values
instead of strings.
llvm-svn: 52748
|
|
|
|
|
|
| |
this still compiles on windows - I can't test!
llvm-svn: 52488
|
|
|
|
|
|
| |
properly.
llvm-svn: 52390
|
|
|
|
|
|
|
|
| |
inserting extractvalues. In particular, this prevents the insertion of
extractvalues that can't be folded away later. Also add an example of when this
stuff is needed.
llvm-svn: 52328
|
|
|
|
|
|
| |
find an inserted value without modifying the code.
llvm-svn: 52319
|
|
|
|
|
|
| |
friends.
llvm-svn: 52318
|
|
|
|
| |
llvm-svn: 52316
|
|
|
|
|
|
|
|
|
|
| |
I'm at it, rename it to FindInsertedValue.
The only functional change is that newly created instructions are no longer
added to instcombine's worklist, but that is not really necessary anyway (and
I'll commit some improvements next that will completely remove the need).
llvm-svn: 52315
|
|
|
|
|
|
| |
for reporting this.
llvm-svn: 51926
|