Displaying 20 results from an estimated 6000 matches similar to: "[LLVMdev] Unable to build PBQP/Graph.h with libc++"
2012 Oct 20
0
[LLVMdev] Unable to build PBQP/Graph.h with libc++
On 20.10.2012, at 22:47, Jordan Rose <jordan_rose at apple.com> wrote:
> Hi, everyone. Today I was trying to build LLVM with libc++ and C++11 enabled, and I ran into this:
>
> http://stackoverflow.com/questions/10065384/instantiation-of-a-list-with-an-incomplete-type-in-a-typedef
>
> Basically, PBQP/Graph.h forward-declares classes, then tries to get iterators for
2012 Oct 20
2
[LLVMdev] Unable to build PBQP/Graph.h with libc++
This is a known issue with the current PBQP data structures. I'm working on
an overhaul of the PBQP allocator at the moment which should address this.
- Lang.
On Sat, Oct 20, 2012 at 2:08 PM, Benjamin Kramer <benny.kra at gmail.com>wrote:
>
> On 20.10.2012, at 22:47, Jordan Rose <jordan_rose at apple.com> wrote:
>
> > Hi, everyone. Today I was trying to build LLVM
2012 Oct 23
0
[LLVMdev] Unable to build PBQP/Graph.h with libc++
I think I've fixed this issue with r166484. Let me know if you run into
further problems building PBQP with libc++ and C++11.
- Lang.
On Sat, Oct 20, 2012 at 2:59 PM, Lang Hames <lhames at gmail.com> wrote:
> This is a known issue with the current PBQP data structures. I'm working
> on an overhaul of the PBQP allocator at the moment which should address
> this.
>
>
2012 Mar 21
2
[LLVMdev] PBQP & CalcSpillWeights
Hi All,
I finally had a chance to get back to my pbqp trials, now using the 3.0
release. I still hit the same assert : "Attempting to spill already spilled
value."
This is triggered because in RegAllocPBQP::mapPBQPToRegAlloc, a vreg node is
either :
- a physical register (problem.isPRegOption(vreg, alloc)),
- or a spill (problem.isSpillOption(vreg, alloc))
The problem is that pass
2012 Mar 26
2
[LLVMdev] PBQP & CalcSpillWeights
Hi Lang,
> From memory your target is not public, so I won't be able to reproduce
> the crash myself. Is that correct?
Correct.
> If that's the case, I could add functionality to dump the PBQP graphs
> during allocation. I think they should give me enough information to
> debug the issue. Would you be able to share the PBQP graphs?
I can share the pbqp graph if you send
2012 Mar 27
0
[LLVMdev] PBQP & CalcSpillWeights
Hi Arnaud,
Thanks for attaching those files. I'll take a look at them.
Commit r153483 adds an option to the PBQP allocator,
"-pbqp-dump-graphs", to dump the PBQP graph for each round of each
function in a compilation unit. The generated files are named "<module
id>.<function>.<round>.pbqpgraph", and contain a simple text
representation of the PBQP graph.
2010 Sep 20
2
[LLVMdev] Supporting Complex Register Allocation Constraints (PBQP Allocator Status Update)
Hi Jakob,
> Out of curiosity, how are you dealing with live range splitting and
> coalescing in PBQP? I know you added the LoopSplitter pass.
>
> For linear scan in LLVM we are going in the direction of aggressive
> coalescing before allocation, and on-demand splitting during allocation.
>
> I know that other allocators use no early coalescing, and coalesce during
>
2010 Sep 20
0
[LLVMdev] Supporting Complex Register Allocation Constraints (PBQP Allocator Status Update)
On Sep 20, 2010, at 7:53 AM, Lang Hames wrote:
> I've just committed some changes to the PBQP allocator which are designed to make it easier to implement custom register allocation constraints. This is a quick summary of those changes, and of the status of the PBQP allocator in general.
Thanks, Lang!
Out of curiosity, how are you dealing with live range splitting and coalescing in PBQP?
2009 Nov 12
2
[LLVMdev] Crash in PBQP register allocator
Hi,
Please see the two ".ll' files attached.
Command line used
llc -march=pic16 -pre-RA-sched=list-burr -regalloc=pbqp new.obc
The above test case crashes only when I use the combination of list-burr
scheduler and pbqp register allocator. If any of them (scheduler or
register allocator) is replaced with some alternate then I don't see the
crash.
I could not figure
2015 Mar 04
2
[LLVMdev] PBQP spilling
Hi,
I would like to ask about PBQPs use of InlineSpiller. The code output when using PBQP gets a lot bigger compared to when using RegAllocGreedy. PBQP does not split the live intervals, and a lot more (often redundant) reload instructions are emitted as a result, it seems. I wonder why this is, and if there are any plans to improve on this point?
/Jonas Paulsson
-------------- next part
2017 Oct 05
2
Status of PBQP register allocator?
Hi all,
I was wondering about whether the PBQP register allocator is likely to be
maintained in the future. It's proving to be a nice way to encode some
instruction encoding constraints for an out-of-tree backend we have, but
there's concern about it being abandoned or bitrotting in the future.
Also, if PBQP is likely to lapse out of regular maintenance in the future,
is there a simple
2009 Nov 13
0
[LLVMdev] Crash in PBQP register allocator
This looks like a bug in the PBQP solver. I'm currently investigating.
Cheers,
Lang.
On Thu, Nov 12, 2009 at 12:46 AM, <Sachin.Punyani at microchip.com> wrote:
> Hi,
>
>
>
> Please see the two “.ll’ files attached.
>
>
>
> Command line used
>
> llc –march=pic16 –pre-RA-sched=list-burr –regalloc=pbqp new.obc
>
>
>
> The above test case
2011 Jun 06
2
[LLVMdev] PBQP & register pairing
Hi All,
My target has some instructions requiring register pairs. I decided to give a try to the PBQP allocator : it is working fine in 99% of the cases, but I am stumbling on the following issue.
Instruction 'MPQD' takes 3 register operands inputs, with the constraint that operands 0 and 2 must be consecutive registers. Operand 1 has no particular constraint. It has no output register.
2009 Nov 15
2
[LLVMdev] Crash in PBQP register allocator
Hi Sachin,
Confirmed: This is being caused by a subtle issue in the heuristic
PBQP solver. Specifically: R1/R2 reductions as currently implemented
can, on rare occasions, lead to the heuristic solver failing to find a
finite cost solution, even though one exists. The infinite cost
solution will always be in violation of some rule of register
allocation (failing to handle an interference, or
2013 Aug 11
2
[LLVMdev] pbqp register allocator-need help
Hello Sir,
Im trying to test run pbqp register allocator for small C programs.
by
llc -regalloc=pbqp -debug <bitcode of the file>
It is giving me segmentation fault for even very simple programs having
loops or if statements.
Please tell me where I'm going wrong.
--
Regards,
Smriti Jaiswal
MTech
Dept of Computer Science and Engg,
IIT Kanpur
-------------- next part --------------
2010 May 11
2
[LLVMdev] Need help for my PBQP regAlloc proj in llvm....
Hello,
we are currently working on my project that aims at improving the register
allocation scheme by identifying if the interference graphs are chordal or
not.
we are working on the llvm compiler .we are forcing the compiler to use
PBQP register allocation scheme by an option of ' ' regalloc=pbqp ' during
the execution of prgm. we have been succesfull in accessing the interference
2015 Mar 06
2
[LLVMdev] PBQP spilling
Hi,
I have worked a little on the PBQP register allocator, and it is quite clear (at least to me) that it is not even a serious alternative to RegAllocGreedy at the moment, due to the poor handling of spilling. As Arnaud wrote below, it is not optimizing spilling at all, but rather just spills anything that does not get an assignment. The result is a lot more spill/reload instructions than
2009 Nov 17
0
[LLVMdev] Crash in PBQP register allocator
Thanks Lang!
I think we can use linear scan as work around for short term.
Thanks for your help.
Regards
Sachin
> -----Original Message-----
> From: Lang Hames [mailto:lhames at gmail.com]
> Sent: Sunday, November 15, 2009 10:08 AM
> To: Sachin Punyani - I00202
> Cc: llvmdev at cs.uiuc.edu
> Subject: Re: [LLVMdev] Crash in PBQP register allocator
>
> Hi Sachin,
>
2011 Jun 06
0
[LLVMdev] PBQP & register pairing
On Jun 6, 2011, at 7:07 AM, Arnaud Allard de Grandmaison wrote:
> Hi All,
>
> My target has some instructions requiring register pairs. I decided to give a try to the PBQP allocator : it is working fine in 99% of the cases, but I am stumbling on the following issue.
>
> Instruction ‘MPQD’ takes 3 register operands inputs, with the constraint that operands 0 and 2 must be
2011 Jun 07
2
[LLVMdev] PBQP & register pairing
I also considered this approach, but did not want to dive in the constraint handling for now.
The PBQP path seemed easier at first sight --- and was easy to setup. And I always wanted to give a try to the pbqp :)
I will add the hook to the pbqp and propose a patch if this looks clean enough.
Thanks,
--
Arnaud de Grandmaison
-----Original Message-----
From: Jakob Stoklund Olesen