| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
more accurate change loses more than it gains on
benchmarks.
llvm-svn: 62938
|
| |
|
|
|
|
| |
Little practical effect.
llvm-svn: 62908
|
| |
|
|
| |
llvm-svn: 62279
|
| |
|
|
|
|
|
| |
back to 200; 400 seems to be too high, loses more than
it gains.
llvm-svn: 62107
|
| |
|
|
| |
llvm-svn: 61969
|
| |
|
|
|
|
|
|
|
|
|
| |
functions that don't already have a (dynamic) alloca.
Dynamic allocas cause inefficient codegen and we shouldn't
propagate this (behavior follows gcc). Two existing tests
assumed such inlining would be done; they are hacked by
adding an alloca in the caller, preserving the point of
the tests.
llvm-svn: 61946
|
| |
|
|
| |
llvm-svn: 58742
|
| |
|
|
|
|
|
|
|
| |
function.
- This explicitly models the costs for functions which should
"always" or "never" be inlined. This fixes bugs where such costs
were not previously respected.
llvm-svn: 58450
|
| |
|
|
|
|
|
| |
instead of hasWeakLinkage in a bunch of optimization
passes.
llvm-svn: 56782
|
| |
|
|
| |
llvm-svn: 56716
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
s/ParamAttr/Attribute/g
s/PAList/AttrList/g
s/FnAttributeWithIndex/AttributeWithIndex/g
s/FnAttr/Attribute/g
This sets the stage
- to implement function notes as function attributes and
- to distinguish between function attributes and return value attributes.
This requires corresponding changes in llvm-gcc and clang.
llvm-svn: 56622
|
| |
|
|
| |
llvm-svn: 56527
|
| |
|
|
|
|
| |
Do not check isDeclaration() in hasNote(). It is clients' responsibility.
llvm-svn: 56524
|
| |
|
|
|
|
| |
Function Notes also. Function notes are stored at index ~0.
llvm-svn: 56511
|
| |
|
|
| |
llvm-svn: 56477
|
| |
|
|
| |
llvm-svn: 55712
|
| |
|
|
| |
llvm-svn: 53712
|
| |
|
|
| |
llvm-svn: 53557
|
| |
|
|
| |
llvm-svn: 53549
|
| |
|
|
|
|
|
| |
a hack around the fact that we don't represent the CFG correctly for sj/lj.
It fixes PR2486.
llvm-svn: 53540
|
| |
|
|
| |
llvm-svn: 53538
|
| |
|
|
| |
llvm-svn: 50222
|
| |
|
|
|
|
|
| |
2. Do not use # of basic blocks as part of the cost computation since it doesn't really figure into function size.
3. More aggressively inline function with vector code.
llvm-svn: 49061
|
| |
|
|
|
|
|
|
| |
each BB costs 20 and each instruction costs 5, 200 means a 4 BB function + 24 instructions (actually less because caller's size also contributes to it).
Furthermore, double the limit when more than 10% of the callee instructions are vector instructions. Multimedia kernels tend to love inlining.
llvm-svn: 48725
|
| |
|
|
| |
llvm-svn: 48573
|
| |
|
|
| |
llvm-svn: 45418
|
| |
|
|
| |
llvm-svn: 42048
|
| |
|
|
| |
llvm-svn: 40560
|
|
|
This interface allows clients to inline bunch of functions with module
level call graph information.:wq
llvm-svn: 40486
|