| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
malloc, not the resulting type).
In getMallocArraySize(), fix bug in the case that array size is the product of 2 constants.
Extend isArrayMalloc() and getMallocArraySize() to handle case where malloc is used as char array.
Ensure that ArraySize in LowerAllocations::runOnBasicBlock() is correct type.
Extend Instruction::isSafeToSpeculativelyExecute() to handle malloc calls.
Add verification for malloc calls.
Reviewed by Dan Gohman.
llvm-svn: 82257
|
|
|
|
| |
llvm-svn: 82206
|
|
|
|
|
|
|
|
| |
where the induction variable has a non-unit stride, such as {0,+,2}, and
there are expressions such as {1,+,2} inside the loop formed with
or or add nsw operators.
llvm-svn: 82151
|
|
|
|
| |
llvm-svn: 82064
|
|
|
|
|
|
|
| |
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090907/086737.html and
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090907/086746.html)
llvm-svn: 82039
|
|
|
|
| |
llvm-svn: 81961
|
|
|
|
|
|
|
| |
not folded in the constant folder because the constant folder doesn't
simplify ConstantExpr operands.
llvm-svn: 81864
|
|
|
|
|
|
|
|
| |
argpromote to avoid invalidating an iterator. This fixes PR4977.
All clang tests now pass with expensive checking (on my system
at least).
llvm-svn: 81843
|
|
|
|
|
|
| |
are in the SCC for each execution of a CGSCC pass.
llvm-svn: 81838
|
|
|
|
| |
llvm-svn: 81517
|
|
|
|
| |
llvm-svn: 81516
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
how to fold notionally-out-of-bounds array getelementptr indices instead
of just doing these in lib/Analysis/ConstantFolding.cpp, because it can
be done in a fairly general way without TargetData, and because not all
constants are visited by lib/Analysis/ConstantFolding.cpp. This enables
more constant folding.
Also, set the "inbounds" flag when the getelementptr indices are
one-past-the-end.
llvm-svn: 81483
|
|
|
|
| |
llvm-svn: 81473
|
|
|
|
| |
llvm-svn: 81463
|
|
|
|
| |
llvm-svn: 81459
|
|
|
|
| |
llvm-svn: 81450
|
|
|
|
| |
llvm-svn: 81443
|
|
|
|
| |
llvm-svn: 81438
|
|
|
|
| |
llvm-svn: 81426
|
|
|
|
| |
llvm-svn: 81364
|
|
|
|
| |
llvm-svn: 81362
|
|
|
|
| |
llvm-svn: 81359
|
|
|
|
| |
llvm-svn: 81358
|
|
|
|
| |
llvm-svn: 81347
|
|
|
|
|
|
|
|
|
|
| |
Fixed non working -profile-verifier-noassert option.
Fixed missing newline in debugEntry().
Cleaned up assert messages. (assert(0 && Message) is still shown, but the message is printed before.)
When verifiying loaded profiles the ProfileVerifier got confused when block was a setjmp target, this is checked now.
When verifiying loaded profiles the ProfileVerifier got confused when block eventually reaching an exit(), this is checked now.
llvm-svn: 81338
|
|
|
|
| |
llvm-svn: 81335
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that get created during loop unswitching, and fix SplitBlockPredecessors'
LCSSA updating code to create new PHIs instead of trying to just move
existing ones.
Also, optimize Loop::verifyLoop, since it gets called a lot. Use
searches on a sorted list of blocks instead of calling the "contains"
function, as is done in other places in the Loop class, since "contains"
does a linear search. Also, don't call verifyLoop from LoopSimplify or
LCSSA, as the PassManager is already calling verifyLoop as part of
LoopInfo's verifyAnalysis.
llvm-svn: 81221
|
|
|
|
|
|
| |
This fixes PR4905
llvm-svn: 81174
|
|
|
|
| |
llvm-svn: 81173
|
|
|
|
|
|
|
| |
when the new method gives the same result as the original
(as far as I can see). This will hopefully pacify icc.
llvm-svn: 81131
|
|
|
|
|
|
| |
Patch by Erick Tryzelaar.
llvm-svn: 81116
|
|
|
|
|
|
| |
tests significantly.
llvm-svn: 81101
|
|
|
|
| |
llvm-svn: 81044
|
|
|
|
|
|
| |
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090831/086219.html)
llvm-svn: 81007
|
|
|
|
| |
llvm-svn: 80970
|
|
|
|
|
|
| |
introduced regressions in the Ocaml bindings tests.
llvm-svn: 80969
|
|
|
|
|
|
|
|
|
|
|
| |
D test/Analysis/Profiling
--- Reverse-merging r80907 into '.':
U lib/Analysis/ProfileInfoLoaderPass.cpp
Attempt to remove failure in the self-hosting build bot.
llvm-svn: 80966
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and exact flags. Because ConstantExprs are uniqued, creating an
expression with this flag causes all expressions with the same operands
to have the same flag, which may not be safe. Add, sub, mul, and sdiv
ConstantExprs are usually folded anyway, so the main interesting flag
here is inbounds, and the constant folder already knows how to set the
inbounds flag automatically in most cases, so there isn't an urgent need
for the API support.
This can be reconsidered in the future, but for now just removing these
API bits eliminates a source of potential trouble with little downside.
llvm-svn: 80959
|
|
|
|
| |
llvm-svn: 80942
|
|
|
|
|
|
|
|
|
| |
that these passes are properly preserved.
Fix several transformation passes that claimed to preserve LoopSimplify
form but weren't.
llvm-svn: 80926
|
|
|
|
|
|
|
| |
LoopSimplify form, which is currently only available on Loops (and
not MachineLoops). Also, move the code out of the header file.
llvm-svn: 80923
|
|
|
|
| |
llvm-svn: 80919
|
|
|
|
| |
llvm-svn: 80918
|
|
|
|
| |
llvm-svn: 80912
|
|
|
|
|
|
| |
(See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090831/086139.html)
llvm-svn: 80909
|
|
|
|
| |
llvm-svn: 80907
|
|
|
|
|
|
| |
buildbot's stage 2 configure
llvm-svn: 80871
|
|
|
|
|
|
| |
this time. I'll back out if needed...
llvm-svn: 80858
|
|
|
|
|
|
| |
r80406, and readd a -print-dbginfo test.
llvm-svn: 80778
|
|
|
|
|
|
|
| |
and we get the original pointer type. This doesn't mean that we're
at the first pointer being indexed. Correct the predicate.
llvm-svn: 80762
|