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);
> }
>...