search for: numsimplified

Displaying 7 results from an estimated 7 matches for "numsimplified".

2012 Aug 03
2
[LLVMdev] Proposal to merge SimplifyLibCalls into InstCombiner
...allSimplifier > interface as well? That makes sense to me. Yup, that's it. >> An option for enabling/disabling library call simplification in `InstCombiner` >> will be available. For backwards compatibility perhaps it should remain >> '-simplify-libcalls'. The `NumSimplified` and `NumAnnotated` statistics shall >> be added to `InstCombiner`. > > There is no need to preserver the -simplify-libcalls flag. It's an internal > implementation detail of the compiler, one that is better left in the past :) Do you think we still need some way to disable ju...
2012 Aug 03
0
[LLVMdev] Proposal to merge SimplifyLibCalls into InstCombiner
...012, at 12:56 PM, Meador Inge <meadori at codesourcery.com> wrote: >>> An option for enabling/disabling library call simplification in `InstCombiner` >>> will be available. For backwards compatibility perhaps it should remain >>> '-simplify-libcalls'. The `NumSimplified` and `NumAnnotated` statistics shall >>> be added to `InstCombiner`. >> >> There is no need to preserver the -simplify-libcalls flag. It's an internal >> implementation detail of the compiler, one that is better left in the past :) > > Do you think we still n...
2012 Jun 18
0
[LLVMdev] Which pass converts call printf to puts?
...call. Value *Result = LCO->OptimizeCall(CI, TD, TLI, Builder); if (Result == 0) continue; DEBUG(dbgs() << "SimplifyLibCalls simplified: " << *CI; dbgs() << " into: " << *Result << "\n"); // Something changed! Changed = true; ++NumSimplified; // Inspect the instruction after the call (which was potentially just // added) next. I = CI; ++I; if (CI != Result && !CI->use_empty()) { CI->replaceAllUsesWith(Result); if (!Result->hasName()) Result->takeName(CI); } CI->eraseFromParent(); Best regards, Christop...
2012 Aug 02
2
[LLVMdev] Proposal to merge SimplifyLibCalls into InstCombiner
...fier` infrastructure. This will done incrementally one optimization at a time to make things easier to review. An option for enabling/disabling library call simplification in `InstCombiner` will be available. For backwards compatibility perhaps it should remain '-simplify-libcalls'. The `NumSimplified` and `NumAnnotated` statistics shall be added to `InstCombiner`. As a result of this migration 'Transforms/Scalar/SimplifyLibCalls.cpp' will go away. Proof of Concept ================ A very rough proof of concept patch has been attached to this proposal showing how the table-driven meth...
2012 Aug 02
0
[LLVMdev] Proposal to merge SimplifyLibCalls into InstCombiner
...ch, later libcalls can be moved in larger chunks (e.g. by family) instead of each individually. > An option for enabling/disabling library call simplification in `InstCombiner` > will be available. For backwards compatibility perhaps it should remain > '-simplify-libcalls'. The `NumSimplified` and `NumAnnotated` statistics shall > be added to `InstCombiner`. There is no need to preserver the -simplify-libcalls flag. It's an internal implementation detail of the compiler, one that is better left in the past :) > As a result of this migration 'Transforms/Scalar/SimplifyLi...
2012 Jun 17
5
[LLVMdev] Which pass converts call printf to puts?
I found that LLVM optimized the IR by replacing printf with puts. I wondered which pass did this optimization? And is it common that puts is faster (and some other metric) than printf? -- Thanks Thomson -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120617/08aa6c45/attachment.html>
2012 Jun 18
2
[LLVMdev] Which pass converts call printf to puts?
...zeCall(CI, TD, TLI, Builder); > if (Result == 0) continue; > > DEBUG(dbgs() << "SimplifyLibCalls simplified: " << *CI; > dbgs() << " into: " << *Result << "\n"); > > // Something changed! > Changed = true; > ++NumSimplified; > > // Inspect the instruction after the call (which was potentially just > // added) next. > I = CI; ++I; > > if (CI != Result && !CI->use_empty()) { > CI->replaceAllUsesWith(Result); > if (!Result->hasName()) > Result->takeName(CI); > } >...