| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
into TargetInfo, just derive this based on the underlying type.
This prevents them from getting out of synch, patch by Ken Dyck!
llvm-svn: 86976
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
running IPSCCP early, and we run functionattrs interlaced with the inliner,
we often (particularly for small or noop functions) completely propagate
all of the information about a call to its call site in IPSSCP (making a call
dead) and functionattrs is smart enough to realize that the function is
readonly (because it is interlaced with inliner).
To improve compile time and make the inliner threshold more accurate, realize
that we don't have to inline dead readonly function calls. Instead, just
delete the call. This happens all the time for C++ codes, here are some
counters from opt/llvm-ld counting the number of times calls were deleted vs
inlined on various apps:
Tramp3d opt:
5033 inline - Number of call sites deleted, not inlined
24596 inline - Number of functions inlined
llvm-ld:
667 inline - Number of functions deleted because all callers found
699 inline - Number of functions inlined
483.xalancbmk opt:
8096 inline - Number of call sites deleted, not inlined
62528 inline - Number of functions inlined
llvm-ld:
217 inline - Number of allocas merged together
2158 inline - Number of functions inlined
471.omnetpp:
331 inline - Number of call sites deleted, not inlined
8981 inline - Number of functions inlined
llvm-ld:
171 inline - Number of functions deleted because all callers found
629 inline - Number of functions inlined
Deleting a call is much faster than inlining it, and is insensitive to the
size of the callee. :)
llvm-svn: 86975
|
|
|
|
| |
llvm-svn: 86972
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cannot be folded into target cmp instruction.
- Avoid a phase ordering issue where early cmp optimization would prevent the
later count-to-zero optimization.
- Add missing checks which could cause LSR to reuse stride that does not have
users.
- Fix a bug in count-to-zero optimization code which failed to find the pre-inc
iv's phi node.
- Remove, tighten, loosen some incorrect checks disable valid transformations.
- Quite a bit of code clean up.
llvm-svn: 86969
|
|
|
|
| |
llvm-svn: 86968
|
|
|
|
| |
llvm-svn: 86967
|
|
|
|
| |
llvm-svn: 86966
|
|
|
|
| |
llvm-svn: 86965
|
|
|
|
| |
llvm-svn: 86964
|
|
|
|
| |
llvm-svn: 86963
|
|
|
|
|
|
| |
-fsyntax-only is probably untested.
llvm-svn: 86962
|
|
|
|
| |
llvm-svn: 86961
|
|
|
|
|
|
| |
other build system about the new C_INCLUDE_DIRS configure option.
llvm-svn: 86960
|
|
|
|
|
|
| |
logic should be done in PostVisitCallExpr()
llvm-svn: 86959
|
|
|
|
|
|
| |
pthread_mutex_unlock() checker. We need to add a visitor method to Checker for handling dead symbols in order to detect locks that are not unlocked.
llvm-svn: 86958
|
|
|
|
| |
llvm-svn: 86957
|
|
|
|
| |
llvm-svn: 86956
|
|
|
|
|
|
| |
The clang patch is next.
llvm-svn: 86955
|
|
|
|
|
|
|
|
| |
functions like floorf, ceilf, ... Add test for detecting nearbyintf.
This change was prompted by test/Transforms/SimplifyLibCalls/floor.ll
llvm-svn: 86954
|
|
|
|
|
|
|
| |
which implements GCC PR18046. This also gets us 360 more
jump threads on 176.gcc.
llvm-svn: 86953
|
|
|
|
| |
llvm-svn: 86952
|
|
|
|
|
|
|
|
| |
making the new LVI stuff smart enough to subsume some special
cases in the old code. Disable them when LVI is around, the
testcase still passes.
llvm-svn: 86951
|
|
|
|
|
|
|
| |
constant constraints. Improve the LVI lattice to include inequality
constraints.
llvm-svn: 86950
|
|
|
|
|
|
| |
CallExprs. No clients (yet).
llvm-svn: 86949
|
|
|
|
|
|
| |
and was easily inlined.
llvm-svn: 86948
|
|
|
|
|
|
| |
MachineBasicBlock so other passes can utilize it.
llvm-svn: 86947
|
|
|
|
|
|
| |
way to do it forthcoming anyway.
llvm-svn: 86945
|
|
|
|
|
|
| |
a using declaration.
llvm-svn: 86942
|
|
|
|
|
|
|
|
| |
otherwise create a stub.
Add a test to make sure we don't create extraneous stubs.
llvm-svn: 86941
|
|
|
|
| |
llvm-svn: 86940
|
|
|
|
|
|
| |
Also, always give errors on a token-cache PTH failure.
llvm-svn: 86939
|
|
|
|
| |
llvm-svn: 86938
|
|
|
|
|
|
|
| |
when we are running an AST consumer and when we are just running the
preprocessor or parser alone.
llvm-svn: 86937
|
|
|
|
| |
llvm-svn: 86936
|
|
|
|
| |
llvm-svn: 86935
|
|
|
|
| |
llvm-svn: 86934
|
|
|
|
| |
llvm-svn: 86933
|
|
|
|
| |
llvm-svn: 86932
|
|
|
|
| |
llvm-svn: 86931
|
|
|
|
|
|
| |
CreateNSWSub functions.
llvm-svn: 86930
|
|
|
|
| |
llvm-svn: 86929
|
|
|
|
| |
llvm-svn: 86928
|
|
|
|
| |
llvm-svn: 86927
|
|
|
|
| |
llvm-svn: 86926
|
|
|
|
|
|
| |
allows us to handle the test10 testcase.
llvm-svn: 86924
|
|
|
|
| |
llvm-svn: 86923
|
|
|
|
|
|
| |
the massive amount of redundancy we have introduced through blind copy-and-paste.
llvm-svn: 86922
|
|
|
|
|
|
| |
PCH, which I broke.
llvm-svn: 86921
|
|
|
|
| |
llvm-svn: 86920
|
|
|
|
|
|
| |
miscompilations casued by PreAllocSplitting.
llvm-svn: 86919
|