similar to: CloneFunction during LTO leads to seg fault?

Displaying 20 results from an estimated 900 matches similar to: "CloneFunction during LTO leads to seg fault?"

2016 Feb 09
2
CloneFunction during LTO leads to seg fault?
Hi Medhi, Thanks for you reply. Here is the full output of -print-after-all [1] and just the module itself after my pass[2]. I've looked over the IR, but I can't see anything obviously wrong. I'm not sure what you meant by: > You may want to try to add it at the end of the pipeline My pass is the last one added inside populateLTOPassManager. Should I add it to the
2016 Feb 11
2
CloneFunction during LTO leads to seg fault?
y > On Feb 11, 2016, at 8:00 AM, Scott A. Carr <carr27 at purdue.edu> wrote: > > Hello again, > > I've narrowed down my issue to a small test case. The core of the issue is that CloneFunction (with ModuleLevelChanges=true) on a function that has had other functions inlined into it generates orphan debug info metadata nodes. Then when this module is emitted, DwarfDebug
2016 Feb 12
3
CloneFunction during LTO leads to seg fault?
In general I use DebugInfoFinder and clear out Metadata if GV in null or GV->isDeclaration(). If there is any interest, I can post that patch... Sergei --- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation > -----Original Message----- > From: Tobias Edler von Koch [mailto:tobias at codeaurora.org] > Sent: Friday, February 12, 2016
2011 Oct 14
1
[LLVMdev] CloneFunction
Hi, I want to duplicate a function and transfer it from one module to another. I found "CloneFunction()" but it needs an "vMap". I found that "vMap" is used to map the original values to the new values. So, hypothetically, if the original function uses a global variable from the previous module and I want that use in the new function to be mapped to a global variable
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
I'm confused by your code. StaticInitializer seems to exist so you can create InitializeEverything, which doesn't get used. Do I need to do something along the lines of: static void registerPollyPasses(const llvm::PassManagerBuilder &Builder, llvm::PassManagerBase &PM) { PM.add(llvm::createPromoteMemoryToRegisterPass());
2011 Nov 08
0
[LLVMdev] loadable passes with dependencies?
On 11/08/2011 03:40 PM, ret val wrote: > I'm confused by your code. StaticInitializer seems to exist so you can > create InitializeEverything, which doesn't get used. > > Do I need to do something along the lines of: > static void registerPollyPasses(const llvm::PassManagerBuilder&Builder, >
2016 Jul 14
2
clone function
Hi, I am trying to use the CloneFunction from llvm/Transforms/Utils/Cloning.h and I don't understand how the ValueToValueMapTy argument should be initialized. For instance, let say I want to clone this function (to add an argument): define void @function(i32 %i) #0 { entry: %i.addr = alloca i32, align 4 store i32 %i, i32* %i.addr, align 4 ret void } to another function which should,
2016 Jul 15
2
clone function
On 14 July 2016 at 20:07, Mehdi Amini <mehdi.amini at apple.com> wrote: > > On Jul 14, 2016, at 7:58 AM, Pierre Gagelin via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > > Hi, > > I am trying to use the CloneFunction from llvm/Transforms/Utils/Cloning.h > and I don't understand how the ValueToValueMapTy argument should be > initialized. For instance,
2012 Apr 29
0
[LLVMdev] Bug in Cloning.h?
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi all, unless I overlook something, the second version of CloneFunction() (from http://llvm.org/doxygen/Cloning_8h_source.html): 00114 Function *CloneFunction(const Function *F, 00115 ValueToValueMapTy &VMap, 00116 bool ModuleLevelChanges, 00117 ClonedCodeInfo *CodeInfo =
2013 Jul 18
3
[LLVMdev] IR Passes and TargetTransformInfo: Straw Man
Andy and I briefly discussed this the other day, we have not yet got chance to list a detailed pass order for the pre- and post- IPO scalar optimizations. This is wish-list in our mind: pre-IPO: based on the ordering he propose, get rid of the inlining (or just inline tiny func), get rid of all loop xforms... post-IPO: get rid of inlining, or maybe we still need it, only
2013 Jul 29
5
[LLVMdev] IR Passes and TargetTransformInfo: Straw Man
On Jul 27, 2013, at 5:47 PM, Shuxin Yang <shuxin.llvm at gmail.com> wrote: > Hi, Sean: > > I'm sorry I lie. I didn't mean to lie. I did try to avoid making a *BIG* change > to the IPO pass-ordering for now. However, when I make a minor change to > populateLTOPassManager() by separating module-pass and non-module-passes, I > saw quite a few performance
2011 Nov 08
0
[LLVMdev] loadable passes with dependencies?
On 11/08/2011 03:20 AM, ret val wrote: > I'm writing a Pass that I would like to remain loadable by opt. The > pass also requires DominatorTree(for PromoteMemToReg). > > Looking for examples the only way I found to require a dependecny is > by doing something like this: > char Hello::ID = 0; > namespace llvm { void
2011 Nov 08
2
[LLVMdev] loadable passes with dependencies?
I'm writing a Pass that I would like to remain loadable by opt. The pass also requires DominatorTree(for PromoteMemToReg). Looking for examples the only way I found to require a dependecny is by doing something like this: char Hello::ID = 0; namespace llvm { void initializeHelloPass(llvm::PassRegistry&); } INITIALIZE_PASS_BEGIN(Hello, "hello", "Hello
2008 Mar 03
1
[LLVMdev] Cloning a function
Hi, we have two modules, one that we basically use as a library in which we store a lot of simple function calls, the other is small program generated at run-time. Whenever a function call for to one of the builtin functions is being called we use CloneFunction to clone the instruction from the library module and insert it in the generated module. The problem is for example when we have
2014 Dec 18
1
[LLVMdev] Metadata/Value split has landed
> On 2014-Dec-18, at 01:43, Keno Fischer <kfischer at college.harvard.edu> wrote: > > Hi Duncan, > > I'm in the following situation for which this change caused an assertion failure: > > Three modules, let's say A B C > Two function, F in A, G in B > > Now I CloneFunction F into B (call the new function F') and inline F' into G. > Now,
2017 Jun 20
2
CloneFunctionInto produces invalid debug info
I was just going to say: With well-formed debug info it should create a deep copy up until the DISubprogram, but no further. But because the DISubprogram linked to the Function is missing the special handling of the DISubprogram (that would prohibit cloning the DICompileUnit is side-stepped). But then I remembered the discussion we had in
2008 Jul 09
2
[LLVMdev] Cloning Functions
I seem to recall havbing asked this before but I can't find it by searching. What's the right way to clone a Function? I need to save off the text at a certain point and spit it out later, after other optimizations have run. But I need to spit out the original text, not the optimized version. What would be the most effective way to do this?
2008 Jul 09
0
[LLVMdev] Cloning Functions
On Wed, Jul 9, 2008 at 9:56 AM, David Greene <dag at cray.com> wrote: > I seem to recall havbing asked this before but I can't find it by searching. > > What's the right way to clone a Function? I need to save off the text at a > certain point and spit it out later, after other optimizations have run. But > I need to spit out the original text, not the optimized
2017 May 03
3
Should it be legal for two functions to have the same !dbg attachment?
I just wrote an IR Verifier check that catches the following situation: ; RUN: not llvm-as %s -disable-output 2>&1 | FileCheck %s define void @f1() !dbg !4 { unreachable } ; CHECK: DISubprogram attached to more than one function define void @f2() !dbg !4 { unreachable } !llvm.dbg.cu = !{!1} !1 = distinct !DICompileUnit(language: DW_LANG_C99, file: !2) !2
2010 May 17
2
[LLVMdev] How to copy a Function
Hi, I wanted to backup a Function before it is optimized. The Function class disallows assignment operations as it comments: Function(const Function&); // DO NOT IMPLEMENT void operator=(const Function&); // DO NOT IMPLEMENT Is there a way to construct a copy from an existing Function? Thanks. -- Jianzhou