search for: virtreginfos

Displaying 14 results from an estimated 14 matches for "virtreginfos".

Did you mean: virtreginfo
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) {
2005 Sep 07
0
[LLVMdev] LiveIntervals invalidates LiveVariables?
...ons and compute spill > // weights, coalesce virtual registers and remove identity moves > > but the data structure LiveVariables::VirtRegInfo is _not_ updated. > That is, VarInfo::DefInstr may point to an invalid (being coalesced) > instruction. We could potentially remove those VirtRegInfos for the registers we coalesce. But since after coalescing there are no instructions refering to those coalesced registers, it is logical that noone will ever query the liveness of those registers (unless there is a bug somewhere in the code). But strictly speaking we should remove the VirtRegInfo...
2005 Sep 20
0
[LLVMdev] Requiring LiveIntervals
On Tue, 20 Sep 2005, Tzu-Chien Chiu wrote: > One of my pass requires LiveIntervals to build the interference graph, Ok. > because LiveVariables do not provide an interface to iterate through > all viritual registers. Ok, you could add a method to LiveVariables that returns VirtRegInfo.size(). The virtual registers are defined by the range: [MRegisterInfo::FirstVirtualRegister,
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
2005 Sep 20
2
[LLVMdev] Requiring LiveIntervals
On 20/09/05, Chris Lattner <sabre at nondot.org> wrote: > > because LiveVariables do not provide an interface to iterate through > > all viritual registers. > > Ok, you could add a method to LiveVariables that returns > VirtRegInfo.size(). The virtual registers are defined by the range: > [MRegisterInfo::FirstVirtualRegister, >
2005 Sep 07
1
[LLVMdev] LiveIntervals invalidates LiveVariables?
On 08/09/05, Alkis Evlogimenos <evlogimenos at gmail.com> wrote: > to those coalesced registers, it is logical that noone will ever query > the liveness of those registers (unless there is a bug somewhere in the Indeed the coalesced registers may logically not be queried since they do not appear in any operand list of the machine code, but the VarInfo::DefInst in VirtRegInfo of the
2005 Sep 21
0
[LLVMdev] Requiring LiveIntervals
On Tue, 20 Sep 2005, Tzu-Chien Chiu wrote: > On 20/09/05, Chris Lattner <sabre at nondot.org> wrote: >>> because LiveVariables do not provide an interface to iterate through >>> all viritual registers. >> >> Ok, you could add a method to LiveVariables that returns >> VirtRegInfo.size(). The virtual registers are defined by the range: >>
2008 Apr 13
2
[LLVMdev] LiveVariables/LiveInterval on huge functions
Hi, In PR2193 LiveVariables runs out of memory on a 512M limit, after processing 11557 basicblocks. VirtRegInfo has ~180000 entries with ~700 bytes each. If I give it more memory (1.5G) it runs out of memory in LiveInterval. I don't see any easy solution to reduce memory usage, but should we optimize such a huge function at once? If the function is over some reasonable limit (5k
2011 Aug 15
0
[LLVMdev] LLVM 2.9 64bits on Visual Studio 9
FYI, I have confirmed it works on VS10SP1 with x64|Release. E:\llvm\build\cmake-x64-vs10>bin\Release\Fibonacci.exe 24 verifying... OK We just constructed this LLVM module: --------- ; ModuleID = 'test' (snip) --------- starting fibonacci(24) with JIT... Result: 46368 ...Takumi 2011/8/11 <gleizesd at gmail.com>: > Hello everybody, > > I have sucessfully compiled LLVM
2011 Aug 11
2
[LLVMdev] LLVM 2.9 64bits on Visual Studio 9
Hello everybody, I have sucessfully compiled LLVM with CMAKE generator "Visual Studio 9 2008 Win64" (OS Windows 7). -But when I run the Fibonacci example program in "release" mode, I get a crash with this visual studio popup message : Microsoft Visual Studio C Runtime Library has detected a fatal error in Fibonacci.exe. -Here is the visual studio output:
2008 Apr 14
0
[LLVMdev] LiveVariables/LiveInterval on huge functions
On Apr 13, 2008, at 1:28 PM, Török Edwin wrote: > Hi, > > In PR2193 LiveVariables runs out of memory on a 512M limit, after > processing 11557 basicblocks. > VirtRegInfo has ~180000 entries with ~700 bytes each. > If I give it more memory (1.5G) it runs out of memory in LiveInterval. Some of the information kept by LiveVariables are somewhat redundant and can be removed. I
2008 Apr 14
3
[LLVMdev] LiveVariables/LiveInterval on huge functions
Evan Cheng wrote: > On Apr 13, 2008, at 1:28 PM, Török Edwin wrote: > > >> Hi, >> >> In PR2193 LiveVariables runs out of memory on a 512M limit, after >> processing 11557 basicblocks. >> VirtRegInfo has ~180000 entries with ~700 bytes each. >> If I give it more memory (1.5G) it runs out of memory in LiveInterval. >> > > Some of the
2008 Apr 14
0
[LLVMdev] LiveVariables/LiveInterval on huge functions
Török Edwin wrote: > Evan Cheng wrote: > >> On Apr 13, 2008, at 1:28 PM, Török Edwin wrote: >> >> >> >>> Hi, >>> >>> In PR2193 LiveVariables runs out of memory on a 512M limit, after >>> processing 11557 basicblocks. >>> VirtRegInfo has ~180000 entries with ~700 bytes each. >>> If I give it more memory
2014 Aug 22
2
[LLVMdev] Help with definition of subregisters; spill, rematerialization and implicit uses
Hi Quentin, On 08/19/14 18:58, Quentin Colombet wrote: [...] > It seems that you will have to debug further the *** Bad machine code: Instruction loads from dead spill slot *** before we can be of any help. Yes, I've done some more digging. Sorry for the long mail... I get: Inline spilling aN40_0_7:%vreg1954 [5000r,5056r:0)[5056r,5348r:1) 0 at 5000r 1 at 5056r At this point I have