similar to: [LLVMdev] Analysis Pass

Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Analysis Pass"

2011 Jan 12
1
[LLVMdev] About adding a pass into llvm
I have seen INITIALIZE_PASS(LiveVariables, "livevars", "Live Variable Analysis", false, false); in the llvm/lib/codegen/LiveVariables.cpp, where LiveVariables is a subclass of MachineFunctionPass, and #define INITIALIZE_PASS(passName, arg, name, cfg, analysis) \ static RegisterPass<passName> passName ## _info(arg, name, cfg, analysis) in PassSupport.h Is this code used
2005 Sep 05
2
[LLVMdev] Pass is not automatically registered
I am not sure if my problem is similar to: http://lists.cs.uiuc.edu/pipermail/llvmdev/2003-December/000715.html It seems that the constructor of the static global pass object isn't called: lib/CodeGen/DependenceAnalyzer.cpp: static RegisterAnalysis<DependenceAnalyzer> X("depana", "Dependence Analysis"); I traced into struct RegisterAnalysis ctor, but my pass
2014 Sep 29
2
[LLVMdev] questions about getAnalysisUsage
Hi, I notice that there are several different methods called inside getAnalysisUsage(). The parameters of addRequiredID and addPreservedID are passID. What is the difference between Required and Preserved? There are also function named addRequired<PassName>() called. What is the difference between addRequired<PassName>() and addRequiredID(PassID)? Thanks a lot! Best,
2009 Oct 05
0
[LLVMdev] [Fwd: Re: problem with multiple LLVM passes]
Rakesh Komuravelli wrote: > Hi John, > > I am having the exact same problem. Let me answer the four questions > that you have asked.. > > 1) Are both passes included in the same dynamic library? If not, are > you loading their respective libraries with multiple -load options? > > Yes. I load both the libraries with two -load options. I see both the > passes listed
2005 Sep 07
3
[LLVMdev] LiveIntervals invalidates LiveVariables?
I though LiveVariables may be invalidated by LiveIntervals, but it's declared not: void LiveIntervals::getAnalysisUsage(AnalysisUsage &AU) const { AU.addPreserved<LiveVariables>(); AU.addRequired<LiveVariables>(); ... LiveInterval may coalesce virtual registers and remove identity moves instructions: bool LiveIntervals::runOnMachineFunction(MachineFunction &fn) {
2009 May 30
4
[LLVMdev] Value liveout (uses)
Thank you. Is it possible to determine the liveout of the operands (see example bellow) ? %5 = add i32 %4, %3 For '%5': i can simply use " i->isUsedOutsideOfBlock() " For '%3' and '%4' : this is the question ... >From your answer, is it possible to determine *which* value is liveout ( in binary instruction)? On Sat, May 30, 2009 at 2:57 AM,
2016 Mar 22
1
Passing llvm option -mem2reg to clang
Unless mem2reg does something other than my understanding of it, I can't see why any pass would "require" that... It is not guaranteed to do anything to any particular piece of code, so relying on it seems very unreliable, I would think. -- Mats On 22 March 2016 at 04:32, Kevin Hu via llvm-dev <llvm-dev at lists.llvm.org> wrote: > Hi, > > > Is there any way that
2018 Sep 26
2
Liveness Analysis
So what is the status about LiveVariables. Is there a plan to remove it? After searching in old lvm-dev-mails it is mentioned that LiveVariable still exists due to one pass needing it. And a comment in TargetPassConfig.cpp indicates that the pass in question is TwoAddressInstruction: // FIXME: Once TwoAddressInstruction pass no longer uses kill flags, // LiveVariables can be removed
2015 Nov 17
2
LiveVariables clears the MO::IsDead bit from non-RA, physical regs, but never restores it. Bug?
I am observing poor instruction scheduling in my out-of-tree target. The problem is an over-constrained scheduling DAG. In particular, the DAG includes spurious output dependencies on physical, non-register-allocatable registers. MISched already includes code to avoid this problem. However that code relies on information clobbered by the earlier pass LiveVariables. I wonder whether this is a
2013 Feb 08
2
[LLVMdev] Deleting LiveVariables
I just enabled a new algorithm for computing live intervals that doesn't depend on LiveVariables. The goal is to get rid of the LiveVariables analysis completely, but unfortunately PHI elimination and the two-address pass still use LiveVariables for some optimizations. They don't require it, they work just fine without it at -O0. They use it to generate better code in some cases. The
2005 May 17
2
[LLVMdev] Register Allocation problem
Ok, i'm having a problem with understanding the allocating of registers. I've written in the "addPassesToEmitAssembly()" the passes to create the assembly code, as in the PowerPC example. I'ved tried filling up as much of the code in <Target>RegisterInfo.cpp (Register/Frame code) to handle writing and reading from stack. The allocation method I used was
2012 Mar 02
2
[LLVMdev] Interactions between module and loop passes
Hi all, I have a code with three passes (one loop pass and two module passes) and my own pass manager. If I schedule the loop pass between the others, my code segfaults. Is there any explanation why loop passes cannot be scheduled between two module passes? Perhaps I misunderstood the behaviour of pass managers. I paste here my "usage" information: int main(...){ Module m = ...
2004 Sep 01
1
[LLVMdev] Register allocator segfault
Hello, this is another "allocator crashes hard when I pass wrong data to it" issue. Due to a bug, my machine code looked like this: # Machine code for list_sequence(): <fi #-2> is 4 bytes fixed at location [SP-24] <fi #-1> is 4 bytes fixed at location [SP-20] entry (0x8060970, LLVM BB @0x805da88): %reg1024 = load <fi#-1> %reg1025 = load
2009 May 30
0
[LLVMdev] Value liveout (uses)
I believe Dan has added a pass to compute livein / liveout values. Evan Sent from my iPhone On May 30, 2009, at 5:03 AM, Rotem Varon <varonrotem at gmail.com> wrote: > Thank you. > > Is it possible to determine the liveout of the operands (see example > bellow) ? > > %5 = add i32 %4, %3 > > For '%5': i can simply use "
2009 May 10
2
[LLVMdev] llvm to x86 IR conversion
Hi, I am running a basic block pass (and iterating through each instruction). Is it possible to convert the basic block instruction form llvm IR to x86 IRWITHIN the path ? Thanks. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090510/9c636a9a/attachment.html>
2009 May 18
3
[LLVMdev] IDE for llvm
Hi, I am new in the "Linux business" and i need to add an optimization to the LLVM compiler. I would like to know what is the bast way to debug (IDE) the LLVM compiler ? To be more precise, what is the equivalent to Microsoft visual studio on Linux platform? is it eclipse? I want features like: syntax highlight, go to def, etc. Thanks. -------------- next part -------------- An HTML
2016 Aug 23
2
Help in understanding physreg LiveVariables
<div class="socmaildefaultfont" dir="ltr" style="font-family:Arial;font-size:10.5pt" ><div class="socmaildefaultfont" dir="ltr" style="font-family:Arial;font-size:10.5pt" ><div dir="ltr" > </div> <div dir="ltr" >Hi all,</div> <div dir="ltr" > </div> <div
2012 Apr 27
1
[LLVMdev] PreRASched
Hi, I wonder when the preRASched pass is planned to be available? I wonder how one would best try to implement a pass in between RegCoalescer and RA. After RegCoalescer, the LiveVariables information seems broken (there are no Kills anywhere), and LiveVariables can't be rerun after SSA form is left. So, how could one rebuild LiveIntevals? For register allocation purposes - what would be the
2009 May 10
1
[LLVMdev] LLVM related question
Thank you you answer. On Sun, May 10, 2009 at 12:48 AM, Eli Friedman <eli.friedman at gmail.com>wrote: > On Sat, May 9, 2009 at 8:37 AM, Rotem Varon <varonrotem at gmail.com> wrote: > > Its not x86 IR nor x86 assembly. I have x86 IR "like" instructions ( add > > R1, R2, R3 and so...) > >> > >> If it's really > >> x86
2009 May 31
1
[LLVMdev] Value liveout (uses)
The pass you're referring to is in include/llvm/Analysis/LiveValues.h and lib/Analysis/LiveValues.cpp. It computes conservative approximations for specific liveness queries, rather than full livein/liveout information. It's intended to be used as a heuristic. Dan On May 30, 2009, at 3:51 PM, Evan Cheng wrote: > I believe Dan has added a pass to compute livein / liveout values. >