| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 100160
|
| |
|
|
|
|
| |
This is more efficient than adding them to the worklist and then ignoring them.
llvm-svn: 100158
|
| |
|
|
| |
llvm-svn: 100148
|
| |
|
|
| |
llvm-svn: 100147
|
| |
|
|
| |
llvm-svn: 100131
|
| |
|
|
|
|
| |
one place. This removes the template function added in svn 94690.
llvm-svn: 100130
|
| |
|
|
|
|
| |
blow out the stack for really big functions. Start by fixing an easy case.
llvm-svn: 100126
|
| |
|
|
|
|
|
|
|
| |
is necessary. Inherits from new templated baseclass CallSiteBase<>
which is highly customizable. Base CallSite on it too, in a configuration
that allows full mutation.
Adapt some call sites in analyses to employ ImmutableCallSite.
llvm-svn: 100100
|
| |
|
|
|
|
| |
patch back in r94322.
llvm-svn: 100097
|
| |
|
|
|
|
|
|
| |
PHIs. The previous algorithm was unable to reliably detect when existing
PHIs in a cycle can be reused. I'm still working on reducing a testcase.
Radar 7711900.
llvm-svn: 100047
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
generate wrong code pretty much anywhere AFAICT.
A case that hits the bug reproducibly is impossible,
but the situation was like this:
Addr = ...
Store -> Addr
Addr2 = GEP , 0, 0
Store -> Addr2
Handling the first store, the code changed replaced Addr
with a sunkaddr and deleted Addr, but not its table
entry. Code in OptimizedBlock replaced Addr2 with a
bitcast; if that happened to reuse the memory of Addr,
the old table entry was erroneously found when handling
the second store.
llvm-svn: 100044
|
| |
|
|
| |
llvm-svn: 99948
|
| |
|
|
|
|
|
|
|
| |
memmove, and memset,
e.g., llvm.memcpy.i32(i8*, i8*, i32, i32) -> llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i32, i1)
A update of langref will occur in a subsequent checkin.
llvm-svn: 99928
|
| |
|
|
| |
llvm-svn: 99917
|
| |
|
|
|
|
|
|
| |
the InvokeInst
spotted by baldrick -- thanks\!
llvm-svn: 99914
|
| |
|
|
|
|
|
| |
pointer. There was also a SmallPtrSet whose settiness wasn't being used, so I
changed it to a SmallVector.
llvm-svn: 99713
|
| |
|
|
| |
llvm-svn: 99711
|
| |
|
|
|
|
| |
MemoizedResultChart.
llvm-svn: 99710
|
| |
|
|
|
|
|
| |
of the previous load - it's usually important. For example, we don't want
to blindly turn an unaligned load into an aligned one.
llvm-svn: 99699
|
| |
|
|
| |
llvm-svn: 99580
|
| |
|
|
| |
llvm-svn: 99567
|
| |
|
|
| |
llvm-svn: 99564
|
| |
|
|
| |
llvm-svn: 99488
|
| |
|
|
| |
llvm-svn: 99451
|
| |
|
|
| |
llvm-svn: 99418
|
| |
|
|
|
|
|
|
|
|
|
|
| |
I have audited all getOperandNo calls now, fixing
hidden assumptions. CallSite related uglyness will
be eliminated successively.
Note this patch has a long and griveous history,
for all the back-and-forths have a look at
CallSite.h's log.
llvm-svn: 99399
|
| |
|
|
| |
llvm-svn: 99398
|
| |
|
|
| |
llvm-svn: 99395
|
| |
|
|
|
|
| |
this way
llvm-svn: 99394
|
| |
|
|
|
|
|
|
| |
for the noinline attribute, and make the inliner refuse to
inline a call site when the call site is marked noinline even
if the callee isn't. This fixes PR6682.
llvm-svn: 99341
|
| |
|
|
| |
llvm-svn: 99324
|
| |
|
|
|
|
| |
optimizations down stream.
llvm-svn: 99282
|
| |
|
|
|
|
|
|
| |
if Function::hasAddressTaken works as advertised
also included some cosmetic cleanups
llvm-svn: 99276
|
| |
|
|
|
|
| |
transformations.
llvm-svn: 99263
|
| |
|
|
| |
llvm-svn: 99224
|
| |
|
|
| |
llvm-svn: 99171
|
| |
|
|
|
|
| |
we can reapply the InvokeInst operand reordering patch. (see r98957).
llvm-svn: 99170
|
| |
|
|
|
|
|
| |
and use this (as well as getCalledValue) to access the callee,
instead of {g|s}etOperand(0).
llvm-svn: 99084
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
so that the SCEVExpander doesn't retain a dangling pointer as its
insert position. The dangling pointer in this case wasn't ever used
to insert new instructions, but it was causing trouble with
SCEVExpander's code for automatically advancing its insert position
past debug intrinsics.
This fixes use-after-free errors that valgrind noticed in
test/Transforms/IndVarSimplify/2007-06-06-DeleteDanglesPtr.ll and
test/Transforms/IndVarSimplify/exit_value_tests.ll.
llvm-svn: 99036
|
| |
|
|
|
|
| |
http://smooshlab.apple.com:8010/builders/clang-x86_64-darwin10-fnt/builds/703 in the nightly test suite
llvm-svn: 98958
|
| |
|
|
|
|
|
|
|
|
|
| |
This time I did a self-hosted bootstrap on Linux x86-64,
with no problems. Let's see how darwin 64-bit self-hosting
goes. At the first sign of failure I'll back this out.
Maybe the valgrind bots give me a hint of what may be wrong
(it at all).
llvm-svn: 98957
|
| |
|
|
|
|
| |
Thanks to Duncan for spotting my mistake.
llvm-svn: 98671
|
| |
|
|
| |
llvm-svn: 98663
|
| |
|
|
| |
llvm-svn: 98584
|
| |
|
|
| |
llvm-svn: 98581
|
| |
|
|
|
|
| |
value intrinsics are present in this bb. Use terminator to find return instructions.
llvm-svn: 98565
|
| |
|
|
| |
llvm-svn: 98491
|
| |
|
|
| |
llvm-svn: 98490
|
| |
|
|
| |
llvm-svn: 98376
|
| |
|
|
|
|
| |
to unify the almost identical code in CodeGenPrepare and InstCombineCalls.
llvm-svn: 98338
|