| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
Luis Felipe Strano Moraes!
llvm-svn: 129558
|
| |
|
|
|
|
|
| |
Based on PR9429, but no testcase because I can't figure out how to trigger it
anymore given other changes to the relevant code.
llvm-svn: 128781
|
| |
|
|
| |
llvm-svn: 128028
|
| |
|
|
| |
llvm-svn: 127548
|
| |
|
|
|
|
|
|
| |
overflow semantics as add.
Should fix the selfhost failures that started with r127463.
llvm-svn: 127465
|
| |
|
|
|
|
|
| |
do with nuw here, but sub and mul should be given similar treatment.
Fixes PR9343 #15!
llvm-svn: 127463
|
| |
|
|
| |
llvm-svn: 127243
|
| |
|
|
|
|
|
| |
then the result could go either way. If it's provably positive then so is the
srem. Fixes PR9343 #7!
llvm-svn: 127146
|
| |
|
|
| |
llvm-svn: 126645
|
| |
|
|
|
|
|
| |
also have a zero when numerator = denominator. Reverts parts of r126635 and
r126637.
llvm-svn: 126644
|
| |
|
|
| |
llvm-svn: 126642
|
| |
|
|
|
|
| |
srem instruction.
llvm-svn: 126637
|
| |
|
|
|
|
| |
them as splat values.
llvm-svn: 126041
|
| |
|
|
|
|
| |
passes. Fixes PR9112. Patch by Jakub Staszak!
llvm-svn: 125319
|
| |
|
|
| |
llvm-svn: 124656
|
| |
|
|
| |
llvm-svn: 124533
|
| |
|
|
|
|
| |
which is more efficient than countPopulation - use it.
llvm-svn: 124283
|
| |
|
|
| |
llvm-svn: 124188
|
| |
|
|
| |
llvm-svn: 124184
|
| |
|
|
|
|
|
|
|
|
|
| |
optimized code are:
(non-negative number)+(power-of-two) != 0 -> true
and
(x | 1) != 0 -> true
Instcombine knows about the second one of course, but only does it if X|1
has only one use. These fire thousands of times in the testsuite.
llvm-svn: 124183
|
| |
|
|
|
|
|
|
|
|
|
| |
with BasicAA's DecomposeGEPExpression, which recently began
using a TargetData. This fixes PR8968, though the testcase
is awkward to reduce.
Also, update several off GetUnderlyingObject's users
which happen to have a TargetData handy to pass it in.
llvm-svn: 124134
|
| |
|
|
|
|
| |
ashr's with huge shift amounts, PR8896
llvm-svn: 122814
|
| |
|
|
| |
llvm-svn: 122565
|
| |
|
|
|
|
| |
matching psign & pblend operations to the IR produced by clang/gcc for their C idioms.
llvm-svn: 122105
|
| |
|
|
|
|
| |
it in sync.
llvm-svn: 121895
|
| |
|
|
|
|
| |
in sync.
llvm-svn: 121892
|
| |
|
|
|
|
|
|
|
|
| |
While LLVM's main design is that analysis code shouldn't
go out of its way to understand code which hasn't been
InstCombined, analysis utility routines like this can
find themselves being called in the middle of transform
passes when instcombine hasn't had a chance to run.
llvm-svn: 121886
|
| |
|
|
|
|
|
| |
function so that it can live in Analysis instead of
VMCore.
llvm-svn: 121885
|
| |
|
|
|
|
|
|
| |
zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method
trunc(), to be const and to return a new value instead of modifying the
object in place.
llvm-svn: 121120
|
| |
|
|
|
|
| |
setAllBits(), setBit(unsigned), etc.
llvm-svn: 120564
|
| |
|
|
| |
llvm-svn: 120476
|
| |
|
|
| |
llvm-svn: 120413
|
| |
|
|
| |
llvm-svn: 113109
|
| |
|
|
|
|
|
|
|
| |
decomposition that it is doing is very basicaa specific and is only used
by basicaa.
Now with less tree breakingness.
llvm-svn: 111433
|
| |
|
|
|
|
| |
form of", it doesn't pass tests.
llvm-svn: 111385
|
| |
|
|
|
|
|
| |
decomposition that it is doing is very basicaa specific and is only used
by basicaa.
llvm-svn: 111375
|
| |
|
|
|
|
|
|
|
| |
gep P, (zext x) != gep P, (sext x)
DecomposeGEPExpression was getting this wrong, confusing
basicaa.
llvm-svn: 111352
|
| |
|
|
| |
llvm-svn: 106697
|
| |
|
|
|
|
|
| |
Probably the best way to know that all getOperand() calls have been handled
is to replace that API instead of updating.
llvm-svn: 101579
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
with a fix for self-hosting
rotate CallInst operands, i.e. move callee to the back
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
llvm-svn: 101465
|
| |
|
|
| |
llvm-svn: 101434
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
with a fix
rotate CallInst operands, i.e. move callee to the back
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
llvm-svn: 101397
|
| |
|
|
| |
llvm-svn: 101368
|
| |
|
|
|
|
|
|
|
|
| |
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
llvm-svn: 101364
|
| |
|
|
| |
llvm-svn: 101298
|
| |
|
|
|
|
| |
shift instructions.
llvm-svn: 98416
|
| |
|
|
|
|
| |
No functionality change.
llvm-svn: 97793
|
| |
|
|
|
|
|
| |
and T->isPointerTy(). Convert most instances of the first form to the second form.
Requested by Chris.
llvm-svn: 96344
|
| |
|
|
|
|
| |
isInteger, we now have isFloatTy and isIntegerTy. Requested by Chris!
llvm-svn: 96223
|
| |
|
|
|
|
| |
(fix for PR6165) are needed here too.
llvm-svn: 94801
|