search for: liveintervalanalysi

Displaying 20 results from an estimated 183 matches for "liveintervalanalysi".

Did you mean: liveintervalanalysis
2006 Nov 03
3
[LLVMdev] Build failure due to -pedantic?
The build is failing with; LiveIntervalAnalysis.cpp:218: error: floating constant exceeds range of 'double' LiveIntervalAnalysis.cpp:253: error: floating constant exceeds range of 'double' LiveIntervalAnalysis.cpp:328: error: floating constant exceeds range of 'double' LiveIntervalAnalysis.cpp:1350: error: floating...
2008 Feb 08
2
[LLVMdev] Some questions about live intervals
Hi Evan, Here is a patch for the LiveIntervalAnalysis that we discussed. --- Evan Cheng <evan.cheng at apple.com> schrieb: > > 1) What is the easiest way to understand which MBB a given > instruction index belongs to? All the required information is > available in the > > MBB2IdxMap of the LiveIntervalAnalysis class. Would i...
2008 Feb 11
0
[LLVMdev] Some questions about live intervals
Thanks. One question though. Should getMBBFromIndex() assert if given an index out of the range or simply returns a NULL pointer? I would think the later makes it a bit more friendly. Evan On Feb 8, 2008, at 8:59 AM, Roman Levenstein wrote: > Hi Evan, > > Here is a patch for the LiveIntervalAnalysis that we discussed. > > --- Evan Cheng <evan.cheng at apple.com> schrieb: >>> 1) What is the easiest way to understand which MBB a given >> instruction index belongs to? All the required information is >> available in the >>> MBB2IdxMap of the LiveIntervalA...
2008 Feb 11
2
[LLVMdev] Some questions about live intervals
...nter? I would > think the later makes it a bit more friendly. Yes. It would be more friendly, probably. I can submit such a patch, if you think it suits better. On the other hand I want to mention the following pros: - assert-based approach follows the style of all other getNNN functions in LiveIntervalAnalysis.h. They all assert in out-of-range cases. - What does it mean, if you have a situation where you ask for the MBB of an instruction index, which is out of range for any MBB? How can this happen? If you know the index, then instruction should have been already registered before, it's number is...
2008 Jan 09
1
[LLVMdev] icing on LiveIntervalAnalysis
On darwin x86, I'm seeing: $ make ENABLE_OPTIMIZED=1 llvm[2]: Compiling LiveIntervalAnalysis.cpp for Release build Assertion failed: (MVT::isInteger(LVT)), function MeetsMaxMemopRequirement, file /Volumes/mrs5/net/llvm/llvm/lib/CodeGen/ SelectionDAG/SelectionDAGISel.cpp, line 4230. /Volumes/mrs5/net/llvm/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1466: internal compiler error: Abort t...
2008 Apr 16
3
[LLVMdev] Possible bug in LiveIntervalAnalysis?
Hi, In the LiveIntervalAnalysis::runOnMachineFunction, there is a code to compute the MBB2IdxMap, by remembering for each MBB its start and end instruction numbers: unsigned MIIndex = 0; for (MachineFunction::iterator MBB = mf_->begin(), E = mf_->end(); MBB != E; ++MBB) { unsigned StartIdx = MIIndex; f...
2006 Nov 03
0
[LLVMdev] Build failure due to -pedantic?
Chris said something about Xcode fixing this ? It doesn't happen with the GCC 3.4.6 compiler on Linux so that's why I missed it, but I thought Chris had fixed it. Reid. On Fri, 2006-11-03 at 08:48 -0400, Jim Laskey wrote: > The build is failing with; > > LiveIntervalAnalysis.cpp:218: error: floating constant exceeds range > of 'double' > LiveIntervalAnalysis.cpp:253: error: floating constant exceeds range > of 'double' > LiveIntervalAnalysis.cpp:328: error: floating constant exceeds range > of 'double' > LiveIntervalAnal...
2008 Feb 12
0
[LLVMdev] Some questions about live intervals
...kes it a bit more friendly. > > Yes. It would be more friendly, probably. I can submit such a patch, > if > you think it suits better. > > On the other hand I want to mention the following pros: > - assert-based approach follows the style of all other getNNN > functions in LiveIntervalAnalysis.h. They all assert in out-of-range > cases. > - What does it mean, if you have a situation where you ask for the MBB > of an instruction index, which is out of range for any MBB? How can > this happen? If you know the index, then instruction should have been > already registered bef...
2008 Apr 16
0
[LLVMdev] Possible bug in LiveIntervalAnalysis?
...plementation). Idx2MBBMap has two elements in it, both of which have a .first of 0. (I believe because of an empty MBB in the function below, so StartIndex doesn't advance). scott On Wed, Apr 16, 2008 at 2:52 AM, Roman Levenstein <romixlev at yahoo.com> wrote: > Hi, > > In the LiveIntervalAnalysis::runOnMachineFunction, there is a code to > compute the MBB2IdxMap, by remembering for each MBB its start and end > instruction numbers: > > unsigned MIIndex = 0; > for (MachineFunction::iterator MBB = mf_->begin(), E = mf_->end(); > MBB != E; ++MBB) { >...
2008 Apr 18
1
[LLVMdev] Possible bug in LiveIntervalAnalysis?
...it, both > of which have a .first of 0. (I believe because of an empty MBB in the > function below, so StartIndex doesn't advance). > > scott > > On Wed, Apr 16, 2008 at 2:52 AM, Roman Levenstein > <romixlev at yahoo.com> wrote: >> Hi, >> >> In the LiveIntervalAnalysis::runOnMachineFunction, there is a code to >> compute the MBB2IdxMap, by remembering for each MBB its start and end >> instruction numbers: >> >> unsigned MIIndex = 0; >> for (MachineFunction::iterator MBB = mf_->begin(), E = mf_->end(); >> MBB != E...
2012 May 18
1
[LLVMdev] LiveIntervalAnalysis
I'm debugging a problem with a custom pass and I was surprised to discover that LiveIntervalAnalysis depends on PHIElimination. Why is that so? Intervals could be useful for all sorts of things beyond register allocation. Just curious. Is there something about the design of LiveIntervals that it needs the out-of-SSA conversion? -Dave
2007 Jun 22
0
[LLVMdev] df_ext_iterator in LiveIntervalAnalysis
On Thu, 21 Jun 2007, Fernando Magno Quintao Pereira wrote: > I would like to make a suggestion. In the LiveIntervalAnalysis class, > instead of numbering the instructions in the order in which basic blocks > are stored in the machine function, use the df_ext_iterator. It will order > the instruction according to the dominance tree (or it seems to be doing > so). There are many advantages in doing this. One...
2007 Jun 22
4
[LLVMdev] df_ext_iterator in LiveIntervalAnalysis
I would like to make a suggestion. In the LiveIntervalAnalysis class, instead of numbering the instructions in the order in which basic blocks are stored in the machine function, use the df_ext_iterator. It will order the instruction according to the dominance tree (or it seems to be doing so). There are many advantages in doing this. One of them is that,...
2007 Jun 22
0
[LLVMdev] df_ext_iterator in LiveIntervalAnalysis
...ly hurt compile time in case of large basic block numbers. Is there a way to dynamically adjust "SmallSize" based on number of basic blocks in the function? Evan On Jun 21, 2007, at 10:20 PM, Fernando Magno Quintao Pereira wrote: > > I would like to make a suggestion. In the LiveIntervalAnalysis class, > instead of numbering the instructions in the order in which basic > blocks > are stored in the machine function, use the df_ext_iterator. It > will order > the instruction according to the dominance tree (or it seems to be > doing > so). There are many advantage...
2009 May 15
3
[LLVMdev] SSI in LLVM
...s u(v2) or vice-versa. I would like to discuss my approach with you guys, so that you can redirect me if I am going through a bad path, so I am listing some points below: 1) I want to implement a very modular design. In this way, I will have an analysis that receives the intervals produced by LiveIntervalAnalysis, plus a list of variables, and creates a new set of intervals, so that each interval designates a new virtual variable, that is visible only inside my analysis. These variables have the SSI property. In this way, it is possible to map constraints such as (a > 10) to an interval. 2) Each cl...
2004 Aug 27
2
[LLVMdev] Register allocator assert
Hello, I'm getting an assertion in register allocator, specifically in LiveIntervalAnalysis.h, method LiveIntervals::getInstructionIndex: unsigned getInstructionIndex(MachineInstr* instr) const { Mi2IndexMap::const_iterator it = mi2iMap_.find(instr); assert(it != mi2iMap_.end() && "Invalid instruction!"); return it->second; } The crash happen...
2005 Sep 20
2
[LLVMdev] Requiring LiveIntervals
One of my pass requires LiveIntervals to build the interference graph, because LiveVariables do not provide an interface to iterate through all viritual registers. But LiveIntervalAnalysis.h is not in "include/llvm/CodeGen", so I have to either include it by: #include "../../llvm/lib/CodeGen/LiveIntervalAnalysis.h" or point my project include path to "llvm/lib/CodeGen" (I use Visual Studio). Why LiveIntervalAnalysis.h is not in "include/llvm/C...
2007 Jun 22
2
[LLVMdev] df_ext_iterator in LiveIntervalAnalysis
...ased on the loop nesting levels, etc. There was no clear winner though. But let's see the numbers anyway. May be it really brings some improvements. -Roman Chris Lattner wrote: > On Thu, 21 Jun 2007, Fernando Magno Quintao Pereira wrote: >> I would like to make a suggestion. In the LiveIntervalAnalysis class, >> instead of numbering the instructions in the order in which basic blocks >> are stored in the machine function, use the df_ext_iterator. It will order >> the instruction according to the dominance tree (or it seems to be doing >> so). There are many advantages in...
2008 Jan 31
7
[LLVMdev] Some questions about live intervals
...so much faster (15x to 68x). I already started work on the implementation of this algorithm and have a few hopefully rather simple questions: 1) What is the easiest way to understand which MBB a given instruction index belongs to? All the required information is available in the MBB2IdxMap of the LiveIntervalAnalysis class. Would it be useful to add a small function getMBBFromIndex() to this class? 2) Is there any simple way to iterate over all instructions, where a given live interval is live? This functionality is required by many register allocation algorithms. I think having some special iterator function...
2012 Aug 17
0
[LLVMdev] Assert in LiveInterval update
...eFrom (this=0x46e99a0, LR=..., From=0x46ee4b0) at lib/CodeGen/LiveInterval.cpp:266 #4 in llvm::LiveInterval::addRange (this=0x46e99a0, LR=...) at include/llvm/CodeGen/LiveInterval.h:384 #5 in llvm::LiveIntervals::HMEditor::moveInternalFrom (this=0x7fffffff8010, OldIdx=..., P=...) at lib/CodeGen/LiveIntervalAnalysis.cpp:1220 #6 in llvm::LiveIntervals::HMEditor::moveAllInternalFrom (this=0x7fffffff8010, OldIdx=..., Internal=...) at lib/CodeGen/LiveIntervalAnalysis.cpp:1226 #7 in llvm::LiveIntervals::HMEditor::moveAllRangesFrom (this=0x7fffffff8010, MI=0x462ab80, OldIdx=...) at lib/CodeGen/LiveIntervalAnaly...