search for: tryoptimizecall

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