Displaying 7 results from an estimated 7 matches for "tryoptimizecall".
2012 Aug 02
2
[LLVMdev] Proposal to merge SimplifyLibCalls into InstCombiner
...added.
Create new `LibCallSimplifier` class
------------------------------------
A new self-contained `LibCallSimplifier` class will be created. An instance
of the class will be instantiated when running the `InstCombiner` pass. It's
folding functionality will be invoked from `InstCombiner::tryOptimizeCall` and
the implementation will be table-driven like `SimplifyLibCalls`. All of the
existing fortified library call simplifiers will be migrated to this new class
at this step.
Migrate `SimplifyLibCalls` to `LibCallSimplifier`
-------------------------------------------------
All of the individual o...
2012 Aug 02
0
[LLVMdev] Proposal to merge SimplifyLibCalls into InstCombiner
...llSimplifier` class
> ------------------------------------
>
> A new self-contained `LibCallSimplifier` class will be created. An instance
> of the class will be instantiated when running the `InstCombiner` pass. It's
> folding functionality will be invoked from `InstCombiner::tryOptimizeCall` and
> the implementation will be table-driven like `SimplifyLibCalls`. All of the
> existing fortified library call simplifiers will be migrated to this new class
> at this step.
Ok, the idea is that other general parts of the compiler can use the LibCallSimplifier interface as well? T...
2012 Aug 03
2
[LLVMdev] Proposal to merge SimplifyLibCalls into InstCombiner
On 08/02/2012 11:11 AM, Chris Lattner wrote:
>> A new self-contained `LibCallSimplifier` class will be created. An instance
>> of the class will be instantiated when running the `InstCombiner` pass. It's
>> folding functionality will be invoked from `InstCombiner::tryOptimizeCall` and
>> the implementation will be table-driven like `SimplifyLibCalls`. All of the
>> existing fortified library call simplifiers will be migrated to this new class
>> at this step.
>
> Ok, the idea is that other general parts of the compiler can use the LibCallSimplifier...
2011 Aug 25
0
[LLVMdev] [RFC] Splitting init.trampoline into init.trampoline and adjust.trampoline
...ult.first, CallResult.second };
> -
> - return DAG.getMergeValues(Ops, 2, dl);
> + return CallResult.second;
> }
> --- a/lib/Transforms/InstCombine/InstCombineCalls.cpp
> +++ b/lib/Transforms/InstCombine/InstCombineCalls.cpp
> @@ -821,6 +821,42 @@ Instruction *InstCombiner::tryOptimizeCall(CallInst *CI, const TargetData *TD) {
> return Simplifier.NewInstruction;
> }
>
> +// Given a call to llvm.adjust.trampoline, find the corresponding call to
> +// llvm.init.trampoline, conservatively.
> +static IntrinsicInst *FindInitTrampoline(Value *Callee) {
> + BitCast...
2011 Aug 23
2
[LLVMdev] [RFC] Splitting init.trampoline into init.trampoline and adjust.trampoline
Hi!
Attached set of patches splits llvm.init.trampoline into an "init"
phase and an "adjust" phase, as discussed on the "Go on dragonegg"
thread.
Thanks!
--
Sanjoy Das
http://playingwithpointers.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Split-intrinsics-and-DAG-nodes.patch
Type: text/x-diff
Size: 8808 bytes
Desc:
2011 Aug 31
0
[LLVMdev] [PATCH] Split init.trampoline into init.trampoline & adjust.trampoline
...; #include "InstCombine.h"
> -#include "llvm/IntrinsicInst.h"
> #include "llvm/Support/CallSite.h"
> #include "llvm/Target/TargetData.h"
> #include "llvm/Analysis/MemoryBuiltins.h"
> @@ -821,6 +820,93 @@ Instruction *InstCombiner::tryOptimizeCall(CallInst *CI, const TargetData *TD) {
> return Simplifier.NewInstruction;
> }
>
> +// Given a call to llvm.adjust.trampoline, find the corresponding call to
> +// llvm.init.trampoline.
I think you should also say that it only returns a non-null value if the
transform is safe to...
2011 Aug 29
3
[LLVMdev] [PATCH] Split init.trampoline into init.trampoline & adjust.trampoline
Hi!
Attached patches split init.trampoline into adjust.trampoline and
init.trampoline, like in gcc.
As mentioned in the previous mail, I've not made a documentation
patch, since I'm not sure about what the documented semantics of
llvm.adjust.trampoline should be.
Thanks!
--
Sanjoy Das
http://playingwithpointers.com
-------------- next part --------------
A non-text attachment was