- Mar 10, 2010
-
-
Dan Gohman authored
compute a set of reachable blocks for itself each time it is called, which is fairly frequently. llvm-svn: 98179
-
Dan Gohman authored
llvm-svn: 98122
-
Jakob Stoklund Olesen authored
The Caller cost info would be reset everytime a callee was inlined. If the caller has lots of calls and there is some mutual recursion going on, the caller cost info could be calculated many times. This patch reduces inliner runtime from 240s to 0.5s for a function with 20000 small function calls. This is a more conservative version of r98089 that doesn't break the clang test CodeGenCXX/temp-order.cpp. That test relies on rather extreme inlining for constant folding. llvm-svn: 98099
-
- Mar 09, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 98094
-
Jakob Stoklund Olesen authored
The Caller cost info would be reset everytime a callee was inlined. If the caller has lots of calls and there is some mutual recursion going on, the caller cost info could be calculated many times. This patch reduces inliner runtime from 240s to 0.5s for a function with 20000 small function calls. llvm-svn: 98089
-
Jakob Stoklund Olesen authored
llvm-svn: 98024
-
- Mar 08, 2010
-
-
Evan Cheng authored
llvm-svn: 98000
-
Devang Patel authored
This is a first step towards eliminating checks in Descriptor constructors. llvm-svn: 97975
-
Devang Patel authored
llvm-svn: 97963
-
Devang Patel authored
This is a first step towards eliminating unncessary constructor checks in light weight DIDescriptor wrappers. llvm-svn: 97947
-
- Mar 06, 2010
-
-
Eric Christopher authored
before we try to optimize. llvm-svn: 97876
-
Eric Christopher authored
out the remainder of the calls that we should lower in some way and move the tests to the new correct directory. Fix up tests that are now optimized more than they were before by -instcombine. llvm-svn: 97875
-
Eric Christopher authored
Log: Transform @llvm.objectsize to integer if the argument is a result of malloc of known size. Modified: llvm/trunk/lib/Transforms/InstCombine/InstCombineCalls.cpp llvm/trunk/test/Transforms/InstCombine/objsize.ll It appears to be causing swb and nightly test failures. llvm-svn: 97866
-
Evan Cheng authored
llvm-svn: 97860
-
- Mar 05, 2010
-
-
Ted Kremenek authored
llvm-svn: 97846
-
Eric Christopher authored
can be used in more places. Add an argument for the TargetData that most of them need. Update for the getInt8PtrTy() change. Should be no functionality change. llvm-svn: 97844
-
Evan Cheng authored
Safely turn memset_chk etc. to non-chk variant if the known object size is >= memset / memcpy / memmove size. llvm-svn: 97828
-
Evan Cheng authored
llvm-svn: 97827
-
Chris Lattner authored
from different addr spaces. llvm-svn: 97813
-
Chris Lattner authored
parts of the cmp|cmp and cmp&cmp folding logic wasn't prepared for vectors (unrelated to the bug but noticed while in the code) and the code was *definitely* not safe to use by the (cast icmp)|(cast icmp) handling logic that I added in r95855. Fix all this up by changing the various routines to more consistently use IRBuilder and not pass in the I which had the wrong type. llvm-svn: 97801
-
Chris Lattner authored
compares, noticed by inspection. llvm-svn: 97795
-
Chris Lattner authored
in a very specific use pattern embodied in the carefully reduced testcase. llvm-svn: 97794
-
Eric Christopher authored
No functionality change. llvm-svn: 97793
-
Evan Cheng authored
Add missing break for Intrinsic::objectsize case. It was falling through to the following Intrinsic::bswap code. I have no idea why it wasn't breaking stuff. llvm-svn: 97774
-
- Mar 03, 2010
-
-
Dan Gohman authored
of loops. llvm-svn: 97642
-
Bill Wendling authored
long test(long x) { return (x & 123124) | 3; } Currently compiles to: _test: orl $3, %edi movq %rdi, %rax andq $123127, %rax ret This is because instruction and DAG combiners canonicalize (or (and x, C), D) -> (and (or, D), (C | D)) However, this is only profitable if (C & D) != 0. It gets in the way of the 3-addressification because the input bits are known to be zero. llvm-svn: 97616
-
- Mar 02, 2010
-
-
Dan Gohman authored
emitted after the increment. Make sure the insert position reflects this. This fixes PR6453. llvm-svn: 97537
-
Dan Gohman authored
respectively. llvm-svn: 97531
-
Bob Wilson authored
a loop and is itself the only dependency). llvm-svn: 97526
-
Bob Wilson authored
predecessors before returning. Otherwise, if multiple predecessor edges need splitting, we only get one of them per iteration. This makes a small but measurable compile time improvement with -enable-full-load-pre. llvm-svn: 97521
-
- Mar 01, 2010
-
-
Evan Cheng authored
llvm-svn: 97512
-
Dan Gohman authored
llvm-svn: 97458
-
Dan Gohman authored
llvm-svn: 97453
-
Dan Gohman authored
llvm-svn: 97448
-
- Feb 28, 2010
-
-
Bob Wilson authored
llvm-svn: 97366
-
- Feb 27, 2010
-
-
Chris Lattner authored
llvm-svn: 97313
-
Chris Lattner authored
of a subtle interation in a loop operating in densemap order. llvm-svn: 97288
-
rdar://7694996Chris Lattner authored
confusing the old MAT variable with the new GlobalType one. This caused us to promote the @disp global pointer into: @disp.body = internal global double*** undef instead of: @disp.body = internal global [3 x double**] undef llvm-svn: 97285
-
Chris Lattner authored
llvm-svn: 97283
-
- Feb 26, 2010
-
-
Bob Wilson authored
argument of createGVNPass and set it automatically for -O3. llvm-svn: 97245
-