| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
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: 55717
|
| |
|
|
| |
llvm-svn: 55711
|
| |
|
|
| |
llvm-svn: 55708
|
| |
|
|
|
|
|
| |
several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
the inliner pass. Patch by Robert Zeh.
llvm-svn: 45903
|
| |
|
|
| |
llvm-svn: 45418
|
| |
|
|
|
|
| |
reduction)
llvm-svn: 44281
|
| |
|
|
| |
llvm-svn: 40560
|
| |
|
|
|
|
|
| |
This interface allows clients to inline bunch of functions with module
level call graph information.:wq
llvm-svn: 40486
|
| |
|
|
|
|
| |
with weak linkage.
llvm-svn: 37723
|
| |
|
|
| |
llvm-svn: 37665
|
| |
|
|
| |
llvm-svn: 37491
|
| |
|
|
| |
llvm-svn: 37481
|
| |
|
|
| |
llvm-svn: 36894
|
| |
|
|
| |
llvm-svn: 36873
|
| |
|
|
| |
llvm-svn: 36662
|
| |
|
|
|
|
|
| |
Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.
llvm-svn: 36652
|
| |
|
|
| |
llvm-svn: 36632
|
| |
|
|
|
|
|
| |
the Transforms library. This reduces debug library size by 132 KB, debug
binary size by 376 KB, and reduces link time for llvm tools slightly.
llvm-svn: 33939
|
| |
|
|
| |
llvm-svn: 33514
|
| |
|
|
|
|
|
|
|
|
| |
The long awaited CAST patch. This introduces 12 new instructions into LLVM
to replace the cast instruction. Corresponding changes throughout LLVM are
provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the
exception of 175.vpr which fails only on a slight floating point output
difference.
llvm-svn: 31931
|
| |
|
|
|
|
|
|
|
|
| |
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.
llvm-svn: 31380
|
| |
|
|
| |
llvm-svn: 30231
|
| |
|
|
| |
llvm-svn: 29925
|
| |
|
|
|
|
|
| |
InlineFunction handles this case safely. This implements
Transforms/Inline/dynamic_alloca_test.ll.
llvm-svn: 25288
|
| |
|
|
| |
llvm-svn: 22113
|
| |
|
|
| |
llvm-svn: 21427
|
| |
|
|
|
|
|
|
| |
using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*.
This patch is contributed by Gabor Greif, thanks!
llvm-svn: 20597
|
| |
|
|
| |
llvm-svn: 18109
|
| |
|
|
|
|
| |
nightly testers
llvm-svn: 17646
|
| |
|
|
|
|
|
| |
exciting to inline. Only inline medium or small sized functions with a
single call site.
llvm-svn: 17588
|
| |
|
|
|
|
|
| |
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
llvm-svn: 16436
|
| |
|
|
|
|
|
|
|
|
| |
instructions in the body of the function (not the entry block). This fixes
test/Programs/SingleSource/Regression/C/2004-08-12-InlinerAndAllocas.c
and test/Programs/External/SPEC/CINT2000/176.gcc on zion.
This should obviously be pulled into 1.3.
llvm-svn: 15684
|
| |
|
|
|
|
| |
- Minimize redundant isa<GlobalValue> usage
llvm-svn: 14948
|
| |
|
|
|
|
|
|
| |
Now we collect all of the call sites we are interested in inlining, then inline
them. This entirely avoids issues with trying to inline a call site we got by
inlining another call site. This also eliminates iterator invalidation issues.
llvm-svn: 12770
|
| |
|
|
|
|
| |
horrible hack.
llvm-svn: 12423
|
| |
|
|
|
|
|
|
|
|
| |
* Be a lot more accurate about what the effects will be when inlining a call
to a function when an argument is an alloca.
* Dramatically reduce the penalty for inlining a call in a large function.
This heuristic made it almost impossible to inline a function into a large
function, no matter how small the callee is.
llvm-svn: 12363
|
| |
|
|
|
|
| |
would have caught this. *sigh*
llvm-svn: 10142
|
| |
|
|
|
|
|
|
| |
* Make the cost metric for passing constants in as arguments to functions MUCH
more accurate, by actually estimating the amount of code that will be constant
propagated away.
llvm-svn: 10136
|
| |
|
|
| |
llvm-svn: 9903
|
| |
|
|
|
|
| |
Header files will be on the way.
llvm-svn: 9298
|
| |
|
|
| |
llvm-svn: 9285
|
| |
|
|
| |
llvm-svn: 9135
|