|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| | 
| 
| 
| 
| 
| | Patch by Jay Foad.
llvm-svn: 68120 | 
| | 
| 
| 
| 
| 
| | explicitly flush it.
llvm-svn: 67526 | 
| | 
| 
| 
| | llvm-svn: 67454 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | linkage: the value may be replaced with something
different at link time.  (Frontends that want to
allow values to be loaded out of weak constants can
give their constants weak_odr linkage).
llvm-svn: 67407 | 
| | 
| 
| 
| | llvm-svn: 67307 | 
| | 
| 
| 
| 
| 
| 
| | If the instruction has no users, it is also not only used by debug info 
and should not be deleted.
llvm-svn: 67194 | 
| | 
| 
| 
| 
| 
| | If I->use_empty(), this method should return false.
llvm-svn: 67180 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | mode).
Running /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/dg.exp ...
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/crash-narrowfunctiontest.ll
Failed with signal(SIGBUS) at line 1
while running: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/crash-narrowfunctiontest.ll -bugpoint-crashcalls -silence-passes > /dev/null
0   bugpoint          0x0035dd25 llvm::sys::SetInterruptFunction(void (*)()) + 85
1   bugpoint          0x0035e382 llvm::sys::RemoveFileOnSignal(llvm::sys::Path const&, std::string*) + 706
2   libSystem.B.dylib 0x92f112bb _sigtramp + 43
3   libSystem.B.dylib 0xffffffff _sigtramp + 1829694831
4   bugpoint          0x00021d1c main + 92
5   bugpoint          0x00002106 start + 54
6   bugpoint          0x00000004 start + 18446744073709543220
Stack dump:
0.    Program arguments: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/crash-narrowfunctiontest.ll -bugpoint-crashcalls -silence-passes 
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/misopt-basictest.ll
Failed with signal(SIGBUS) at line 1
while running: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/misopt-basictest.ll -dce -bugpoint-deletecalls -simplifycfg -silence-passes
0   bugpoint          0x0035dd25 llvm::sys::SetInterruptFunction(void (*)()) + 85
1   bugpoint          0x0035e382 llvm::sys::RemoveFileOnSignal(llvm::sys::Path const&, std::string*) + 706
2   libSystem.B.dylib 0x92f112bb _sigtramp + 43
3   libSystem.B.dylib 0xffffffff _sigtramp + 1829694831
4   bugpoint          0x00021d1c main + 92
5   bugpoint          0x00002106 start + 54
6   bugpoint          0x00000006 start + 18446744073709543222
Stack dump:
0.    Program arguments: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/misopt-basictest.ll -dce -bugpoint-deletecalls -simplifycfg -silence-passes 
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/remove_arguments_test.ll
Failed with signal(SIGBUS) at line 1
while running: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/remove_arguments_test.ll  -bugpoint-crashcalls -silence-passes
0   bugpoint          0x0035dd25 llvm::sys::SetInterruptFunction(void (*)()) + 85
1   bugpoint          0x0035e382 llvm::sys::RemoveFileOnSignal(llvm::sys::Path const&, std::string*) + 706
2   libSystem.B.dylib 0x92f112bb _sigtramp + 43
3   libSystem.B.dylib 0xffffffff _sigtramp + 1829694831
4   bugpoint          0x00021d1c main + 92
5   bugpoint          0x00002106 start + 54
Stack dump:
0.    Program arguments: bugpoint /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/BugPoint/remove_arguments_test.ll -bugpoint-crashcalls -silence-passes 
--- Reverse-merging (from foreign repository) r66920 into '.':
U    include/llvm/Support/CallSite.h
U    include/llvm/Instructions.h
U    lib/Analysis/IPA/GlobalsModRef.cpp
U    lib/Analysis/IPA/Andersens.cpp
U    lib/Bitcode/Writer/BitcodeWriter.cpp
U    lib/VMCore/Instructions.cpp
U    lib/VMCore/Verifier.cpp
U    lib/VMCore/AsmWriter.cpp
U    lib/Transforms/Utils/LowerInvoke.cpp
U    lib/Transforms/Scalar/SimplifyCFGPass.cpp
U    lib/Transforms/IPO/PruneEH.cpp
U    lib/Transforms/IPO/DeadArgumentElimination.cpp
llvm-svn: 66953 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | changes.
For InvokeInst now all arguments begin at op_begin().
The Callee, Cont and Fail are now faster to get by
access relative to op_end().
This patch introduces some temporary uglyness in CallSite.
Next I'll bring CallInst up to a similar scheme and then
the uglyness will magically vanish.
This patch also exposes all the reliance of the libraries
on InvokeInst's operand ordering. I am thinking of taking
care of that too.
llvm-svn: 66920 | 
| | 
| 
| 
| 
| 
| | codegen (speculative execution).
llvm-svn: 66859 | 
| | 
| 
| 
| 
| 
| 
| 
| | right; did the wrong thing when there are exactly 11
non-debug instructions, followed by debug info.
Remove a FIXME since it's apparently been fixed along the way.
llvm-svn: 66840 | 
| | 
| 
| 
| 
| 
| | sorting of ConstantInt's; unreinvent wheel.
llvm-svn: 66824 | 
| | 
| 
| 
| | llvm-svn: 66800 | 
| | 
| 
| 
| | llvm-svn: 66751 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | from a switch table.  Multiple table entries that
branch to the same place were being sorted by the
pointer value of the ConstantInt*; changed to sort
by the actual value of the ConstantInt.
llvm-svn: 66749 | 
| | 
| 
| 
| 
| 
| | whether a callee to be inlined is a leaf.
llvm-svn: 66588 | 
| | 
| 
| 
| | llvm-svn: 66554 | 
| | 
| 
| 
| 
| 
| | correctness). Do so even if the callee has dynamic alloca and the caller doesn't.
llvm-svn: 66539 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | and extern_weak_odr.  These are the same as the non-odr versions,
except that they indicate that the global will only be overridden
by an *equivalent* global.  In C, a function with weak linkage can
be overridden by a function which behaves completely differently.
This means that IP passes have to skip weak functions, since any
deductions made from the function definition might be wrong, since
the definition could be replaced by something completely different
at link time.   This is not allowed in C++, thanks to the ODR
(One-Definition-Rule): if a function is replaced by another at
link-time, then the new function must be the same as the original
function.  If a language knows that a function or other global can
only be overridden by an equivalent global, it can give it the
weak_odr linkage type, and the optimizers will understand that it
is alright to make deductions based on the function body.  The
code generators on the other hand map weak and weak_odr linkage
to the same thing.
llvm-svn: 66339 | 
| | 
| 
| 
| 
| 
| | an optimization.
llvm-svn: 66288 | 
| | 
| 
| 
| 
| 
| | intrinsics.
llvm-svn: 66255 | 
| | 
| 
| 
| 
| 
| | debug intrinsics correctly.
llvm-svn: 66225 | 
| | 
| 
| 
| | llvm-svn: 66223 | 
| | 
| 
| 
| | llvm-svn: 66001 | 
| | 
| 
| 
| | llvm-svn: 66000 | 
| | 
| 
| 
| 
| 
| | per Chris' suggestion.  Slightly faster.
llvm-svn: 65999 | 
| | 
| 
| 
| 
| 
| | caused them to be considered trivially dead.  Fix this.
llvm-svn: 65979 | 
| | 
| 
| 
| 
| 
| 
| | feed into llvm.dbg.declare nodes, as well as
the debug directives themselves.
llvm-svn: 65976 | 
| | 
| 
| 
| 
| 
| 
| 
| | use, check also for the case where it has two uses,
the other being a llvm.dbg.declare.  This is needed so
debug info doesn't affect codegen.
llvm-svn: 65970 | 
| | 
| 
| 
| | llvm-svn: 65961 | 
| | 
| 
| 
| | llvm-svn: 65960 | 
| | 
| 
| 
| 
| 
| | and put @file directives on their own comment line.
llvm-svn: 65920 | 
| | 
| 
| 
| 
| 
| 
| 
| | info with it.
Don't count debug info insns against the scan maximum
in FindAvailableLoadedValue (lest they affect codegen).
llvm-svn: 65910 | 
| | 
| 
| 
| | llvm-svn: 65620 | 
| | 
| 
| 
| 
| 
| | conditional branch predecessors.
llvm-svn: 65509 | 
| | 
| 
| 
| | llvm-svn: 65456 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | predecessor, instead of removing it. This fixes following tests from llvmgcc42 testsuite.
gcc.c-torture/execute/20000605-3.c
gcc.c-torture/execute/20020619-1.c
gcc.c-torture/execute/20030920-1.c
gcc.c-torture/execute/loop-ivopts-1.c
llvm-svn: 65353 | 
| | 
| 
| 
| 
| 
| | inline-threshold option is used by the inliner.
llvm-svn: 65309 | 
| | 
| 
| 
| | llvm-svn: 65228 | 
| | 
| 
| 
| 
| 
| | other passes, e.g. loop strength reduction.
llvm-svn: 65134 | 
| | 
| 
| 
| 
| 
| | Will re-think about this according to Chris's comments.
llvm-svn: 65126 | 
| | 
| 
| 
| 
| 
| 
| 
| | Currently this pass will delete the variable declaration info, 
and keep the line number info. But the kept line number info is not updated, 
and some is redundant or not correct, this patch just updates those info.
llvm-svn: 65123 | 
| | 
| 
| 
| | llvm-svn: 64626 | 
| | 
| 
| 
| 
| 
| 
| | calls with the tail marker when inlining them through an invoke.  Patch,
testcase, and perfect analysis by Jay Foad!
llvm-svn: 64364 | 
| | 
| 
| 
| 
| 
| | llvm.dbg.func.start also.
llvm-svn: 64278 | 
| | 
| 
| 
| | llvm-svn: 64242 | 
| | 
| 
| 
| 
| 
| | during inlining.
llvm-svn: 64209 | 
| | 
| 
| 
| | llvm-svn: 64207 | 
| | 
| 
| 
| | llvm-svn: 63888 | 
| | 
| 
| 
| | llvm-svn: 63876 |