search for: strongphielimination

Displaying 20 results from an estimated 22 matches for "strongphielimination".

2009 Aug 20
0
[LLVMdev] A question about StrongPhiElimination
Hello, I've encountered a problem similar to 'lost-copy' when using the StrongPhiElimination and wonder whether it is a incompatibility issue between the two different algorithms used in StrongPhiElimination.cpp. The StrongPhiElimination is mostly based on the algorithm in Zoran Budimilic et al's "Fast Copy Coalescing and Live-Range Identification" ([1]), while the 'Copy...
2012 Jun 08
1
[LLVMdev] StrongPHIElimination
Hi, I have a question regarding StrongPHIElimination. With (weak) PHIElimination, register classes seems to take care of themselves, but with the Strong version, I get illegal virtual register for instruction. In this testcase, I define the PHI operands into a bigger (super) RC, than what the using MI can handle. Weak PHI elim handled this by copyi...
2009 Sep 10
1
[LLVMdev] Build problem with gcc-4.3.2
Hi, on http://llvm.org/docs/GettingStarted.html#requirements you say you want to know about problems compiling llvm with gcc. I just tried compiling llvm and clang, using ./configure; make, and I got the following error, llvm[2]: Compiling StrongPHIElimination.cpp for Debug build StrongPHIElimination.cpp:1051: internal compiler error: in value_format, at dwarf2out.c:7218 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. /bin/rm: cannot remove `/home/nisse/hack/ll...
2009 Oct 20
3
[LLVMdev] self-hosting failure
...This is on Ubuntu Jaunty on x86. Known problem? If not, does anyone have an easy recipe for getting the build system to tell me the command line that's being used and to leave a preprocessed file sitting around? Thanks, John llvm[2]: Compiling UnreachableBlockElim.cpp for Release build StrongPHIElimination.cpp: In member function '(anonymous namespace)::StrongPHIElimination::InsertCopies(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 16u>&)': StrongPHIElimination.cpp:1051:1: internal compiler error: in rewrite_stmt, at tree-into...
2010 Sep 14
0
[LLVMdev] StrongPhiElimination pass
What's the purpose of StrongPhiElimination pass? The PhiElimination pass creates a lot of copies, but the standard register allocator cleans them up fairly well. Is it for use with alternative register allocators or would it actually help the standard register allocator if it were finished? Cameron
2009 Oct 20
0
[LLVMdev] self-hosting failure
... If not, does > anyone have an easy recipe for getting the build system to tell me the > command line that's being used and to leave a preprocessed file sitting > around? > > Thanks, > > John > > > llvm[2]: Compiling UnreachableBlockElim.cpp for Release build > StrongPHIElimination.cpp: In member function '(anonymous > namespace)::StrongPHIElimination::InsertCopies(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, > llvm::SmallPtrSet<llvm::MachineBasicBlock*, 16u>&)': > StrongPHIElimination.cpp:1051:1: internal compiler error: in > rewrite_s...
2010 Apr 27
3
[LLVMdev] Status of Strong PHI Elimination?
Hello, I am implementing a code transformation that would heavily benefit from the CodeGen/StrongPHIElimination pass, but on the two bytecode files I've tested it on so far llc segfaults on both. I see there have been no substantive changes to this code since the middle of last year. Could someone please tell me what the status of this pass is? Thank you. Marc -------------- next part --------------...
2013 Feb 09
3
[LLVMdev] Deleting LiveVariables
On Feb 8, 2013, at 4:03 PM, Cameron Zwarich <zwarich at apple.com> wrote: > How much of the work is done here? I'd be happy to do the phi elimination part, since I basically did that for StrongPhiElimination (RIP). Any help would be appreciated. I did a bit of the easy stuff in 2-addr, it has a LIS = getAnalysisIfAvailable<LiveIntervals>() member that it sometimes updates. It has a lot of weird transformations, though. I haven't touched phi-elim yet because of the 'bubble-up' appro...
2013 Feb 09
0
[LLVMdev] Deleting LiveVariables
On Feb 8, 2013, at 4:20 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote: > On Feb 8, 2013, at 4:03 PM, Cameron Zwarich <zwarich at apple.com> wrote: > >> How much of the work is done here? I'd be happy to do the phi elimination part, since I basically did that for StrongPhiElimination (RIP). > > Any help would be appreciated. > > I did a bit of the easy stuff in 2-addr, it has a LIS = getAnalysisIfAvailable<LiveIntervals>() member that it sometimes updates. It has a lot of weird transformations, though. > > I haven't touched phi-elim yet because of...
2012 Jun 20
1
[LLVMdev] Strong PHI elimination asserts in RegisterCoalescer.C:1388
...ons rather than more. At the time I stopped working on it, it worked fine on x86 but caused problems with armv7 NEON code. If you file a PR with a test case, I am happy to take a quick look and try to fix it. There have been some changes to the backend that might not have been updated correctly in StrongPHIElimination. Cameron On Jun 20, 2012, at 3:47 PM, Andrew Clinton wrote: > I've started using the strong PHI elimination pass, and it seems to work beautifully (producing much better placement of copy instructions) - though I'm seeing that it triggers an assert in debug+assert builds. The asserti...
2012 Jun 20
0
[LLVMdev] Strong PHI elimination asserts in RegisterCoalescer.C:1388
...r than more. At the time I stopped working on it, it worked fine on x86 but caused problems with armv7 NEON code. > > If you file a PR with a test case, I am happy to take a quick look and try to fix it. There have been some changes to the backend that might not have been updated correctly in StrongPHIElimination. > > Cameron > > On Jun 20, 2012, at 3:47 PM, Andrew Clinton wrote: > >> I've started using the strong PHI elimination pass, and it seems to work beautifully (producing much better placement of copy instructions) - though I'm seeing that it triggers an assert in debug+a...
2013 Feb 09
0
[LLVMdev] Deleting LiveVariables
How much of the work is done here? I'd be happy to do the phi elimination part, since I basically did that for StrongPhiElimination (RIP). IIRC you run into a lot of problems with NEON subregister defs, which might be fixed by your new direct LiveIntervals implementation. Cameron On Feb 8, 2013, at 3:41 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote: > I just enabled a new algorithm for computing live interval...
2012 Aug 27
1
[LLVMdev] info on coming out of SSA form
Hi RamShankar, On top of Rafael mentioned ,Please check with lib/CodeGen/StrongPHIElimination.cpp and the papers like Budimlic, et al. Fast copy coalescing and live-range identification. // In Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language // Design and Implementation (Berlin, Germany, June 17 - 19, 2002). // PLDI '02. ACM, New York, NY, 25-32. Boissin...
2012 Jun 20
2
[LLVMdev] Strong PHI elimination asserts in RegisterCoalescer.C:1388
I've started using the strong PHI elimination pass, and it seems to work beautifully (producing much better placement of copy instructions) - though I'm seeing that it triggers an assert in debug+assert builds. The assertion is on line 1388 of RegisterCoalescer.C. Attached is the -debug output from the machine optimization part of the optimizer, for the simplest test case I could
2013 Feb 09
2
[LLVMdev] Deleting LiveVariables
...t 4:20 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote: > >> On Feb 8, 2013, at 4:03 PM, Cameron Zwarich <zwarich at apple.com> wrote: >> >>> How much of the work is done here? I'd be happy to do the phi elimination part, since I basically did that for StrongPhiElimination (RIP). >> >> Any help would be appreciated. >> >> I did a bit of the easy stuff in 2-addr, it has a LIS = getAnalysisIfAvailable<LiveIntervals>() member that it sometimes updates. It has a lot of weird transformations, though. >> >> I haven't touched...
2008 Apr 14
0
[LLVMdev] LiveVariables/LiveInterval on huge functions
...hink there was talk of folding much of its computation into LiveIntervalAnalysis. It's not clear whether that would make a difference without careful analysis. It's not clear to me what to do about LiveInterval. It does keep a lot of information but it's all essential. I suspect StrongPHIElimination may help the situation somewhat but again I can't guess its impact. > > > 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 basic-blocks?) we > could split it...
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
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
2008 Apr 14
3
[LLVMdev] LiveVariables/LiveInterval on huge functions
...ch of its > computation into LiveIntervalAnalysis. It's not clear whether that > would make a difference without careful analysis. > > It's not clear to me what to do about LiveInterval. It does keep a lot > of information but it's all essential. > > I suspect StrongPHIElimination may help the situation somewhat but > again I can't guess its impact. > > Another question to ask, is why that function became so large in the first place [X86DAGToDAGISel::SelectCode(llvm::SDOperand)] We have inline limits, don't we? >> I don't see any easy soluti...
2012 Aug 24
2
[LLVMdev] info on coming out of SSA form
Hi, I am a newbie to llvm. I am wondering what approach is used when coming out of SSA form. I also appreciate pointers on where to look in the source code for this phase. Best regards, Ram Ramshankar -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120824/87feb1d3/attachment.html>