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;
}
}
}...
[LLVMdev] Help with LLVM Bitcode function inlining and duplicating debug information on instructions
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