search for: inlinefunctioninfo

Displaying 5 results from an estimated 5 matches for "inlinefunctioninfo".

2013 Aug 30
1
[LLVMdev] Are instr_iterators invalidated when function inlining is performed?
...nst_begin(f), ie = inst_end(f); i != ie; ++i) { if ( CallInst* ci = dyn_cast<CallInst>(&*i) ) { if ( ci->getCalledFunction() == klee_check_divF) { std::cout << "Trying to inline klee_div_zero_check" << std::endl; InlineFunctionInfo IFI(0,0); if (InlineFunction(ci,IFI)) { std::cout << "Did inline" << std::endl; std::cout.flush(); } else std::cout << "Failed to inline" << std::endl; } } }...
2013 Aug 30
1
[LLVMdev] Help with LLVM Bitcode function inlining and duplicating debug information on instructions
...__attribute__((always_inline)) klee_div_zero_check(long long z) but that only added the keyword "alwaysinline" to the klee_div_zero_check() function in the LLVM bitcode module, it didn't do any actual inlining. I see the LLVM API has the function llvm::InlineFunction(CallInst *CI, InlineFunctionInfo &IFI, bool InsertLifetime) Should I be using this to inline all calls in a module to a particular function or is there a better way? If so what is IFI supposed to be set to? 2. I want to duplicated the debug (filename and line number information) on the division instruction (e.g. SDiv) onto e...
2013 Sep 15
0
[LLVMdev] Are instr_iterators invalidated when function inlining is performed?
...t; if ( CallInst* ci = dyn_cast<CallInst>(&*i) ) >> { >> if ( ci->getCalledFunction() == klee_check_divF) >> { >> std::cout << "Trying to inline klee_div_zero_check" << std::endl; >> InlineFunctionInfo IFI(0,0); >> if (InlineFunction(ci,IFI)) >> { >> std::cout << "Did inline" << std::endl; std::cout.flush(); >> } >> else >> std::cout << "Failed to inline...
2014 Jan 26
2
[LLVMdev] MCJIT versus getLazyBitcodeModule?
...if(original) { > /* if you use lazybitcode..., don't forget to materialize > the original here with */ > original->Materialize(); > > At this step, you can directly inline your code if you want to > systematically inline code: > llvm::InlineFunctionInfo ifi(0); > bool isInlined = llvm::InlineFunction(call, ifi, false); > Changed |= isInlined; > > Or, if you don't want to always inline the code, you can guard the > inlining after having used the inline analysis pass: > llvm::InlineCostAnalysis costAna...
2014 Jan 21
4
[LLVMdev] MCJIT versus getLazyBitcodeModule?
Thanks for the pointers. Am I correct in assuming that putting the precompiled bitcode into a second module and linking (or using the object caches) would result in ordinary function calls, but would not be able to inline the functions? -- lg On Jan 21, 2014, at 11:55 AM, Kaylor, Andrew <andrew.kaylor at intel.com> wrote: > I would say that the incompatibility is by design. Not