Displaying 20 results from an estimated 200 matches similar to: "[LLVMdev] [PATCH][Review request] MachineBasicBlock::iterator bug fix"
2012 Oct 26
2
[LLVMdev] instr_iterator
Is it safe or legal to call isInsideBundle even when I == E?
MachineBasicBlock::iterator MachineBasicBlock::getFirstNonPHI() {
instr_iterator I = instr_begin(), E = instr_end();
while (I != E && I->isPHI())
++I;
assert(!I->isInsideBundle() && "First non-phi MI cannot be inside a
bundle!");
return I;
}
I am seeing an assert when I run llc.
The code is
2012 Oct 26
1
[LLVMdev] instr_iterator
Please see the attached patch.
There was one more line which was calling isInsideBundle without any check.
On Thu, Oct 25, 2012 at 7:08 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk>wrote:
>
> On Oct 25, 2012, at 7:01 PM, Akira Hatanaka <ahatanak at gmail.com> wrote:
>
> Is it safe or legal to call isInsideBundle even when I == E?
>
>
> No, neither.
>
2010 Jun 04
0
[LLVMdev] Heads up: Local register allocator going away
On Thu, 2010-06-03 at 02:53 +0200, Jakob Stoklund Olesen wrote:
> If you are using the local register allocator, please try switching to the fast allocator and report any bugs you find.
>
Tried it, and it seems to break quite a big chunk of our tests on SPU :)
Before r103488 ("Mostly rewrite RegAllocFast") there was no problem.
But with r103488, I get a:
2014 Oct 14
2
[LLVMdev] Problem of stack slot coloring
Hal's advice helps me a lot to understand the implementation much better.
Thanks so much!
So, now I am able to state my problem more clearly:
1) There are two kinds of locals, i.e., the local variables originated from
the source code (like C/C++), and the compilation generated temporaries.
After instruction selection phase, the former is seen as frame indexes,
while the latter is seen as
2010 Jun 04
2
[LLVMdev] Heads up: Local register allocator going away
On Jun 4, 2010, at 1:57 AM, <Kalle.Raiskila at nokia.com> <Kalle.Raiskila at nokia.com> wrote:
> On Thu, 2010-06-03 at 02:53 +0200, Jakob Stoklund Olesen wrote:
>> If you are using the local register allocator, please try switching to the fast allocator and report any bugs you find.
>>
> Tried it, and it seems to break quite a big chunk of our tests on SPU :)
2010 Jun 04
1
[LLVMdev] Heads up: Local register allocator going away
On Jun 4, 2010, at 3:05 AM, Sylvere Teissier wrote:
>
> In my target the CALL instruction change the link Register %LR
> In the target InstrInfo.td I have "Defs=[LR]" on the CALL instruction
> definition to handle that.
So your CALL instructions are clobbering your callee-saved registers, eh? ;-)
> It works well with others registers allocators: when there is a call
2012 Oct 26
0
[LLVMdev] instr_iterator
On Oct 25, 2012, at 7:01 PM, Akira Hatanaka <ahatanak at gmail.com> wrote:
> Is it safe or legal to call isInsideBundle even when I == E?
No, neither.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121025/cb0bdec9/attachment.html>
2010 Aug 05
1
[LLVMdev] RegAllocFast assertion in trunk...
Any ideas?
Instruction uses an alias of an allocated register
UNREACHABLE executed at RegAllocFast.cpp:358!
0 clang 0x0000000101309bc2 PrintStackTrace(void*) + 34
1 clang 0x000000010130a863 SignalHandler(int) + 707
2 libSystem.B.dylib 0x00007fff8056935a _sigtramp + 26
3 libSystem.B.dylib 000000000000000000 _sigtramp + 2141809856
4 clang 0x00000001012dd96d
2011 Jul 11
0
[LLVMdev] RegAllocFast uses too much stack
On Jul 11, 2011, at 1:48 PM, Nick Lewycky wrote:
> I discovered recently that RegAllocFast spills all the registers before every function call. This is the root cause of one of our recursive functions that takes about 150 bytes of stack when built with gcc (same at -O0 and -O2, or 120 bytes at llc -O2) taking 960 bytes of stack when built by llc -O0. That's pretty bad for situations where
2011 Jul 11
3
[LLVMdev] RegAllocFast uses too much stack
On Mon, Jul 11, 2011 at 2:44 PM, Eric Christopher <echristo at apple.com> wrote:
>
> On Jul 11, 2011, at 1:48 PM, Nick Lewycky wrote:
>
>> I discovered recently that RegAllocFast spills all the registers before every function call. This is the root cause of one of our recursive functions that takes about 150 bytes of stack when built with gcc (same at -O0 and -O2, or 120 bytes
2013 Nov 09
0
[LLVMdev] Error "Cannot emit physreg copy instruction"
I've reduced the example down to a minimum. The error is quite
perplexing since the IR appears fine. It is a nonsensical infinite loop
now, but that shouldn't be a problem.
declare i64 @leaf_exception_personality(i64, i32, i64, i8*, i8*)
declare i8* @count_malloc(i64)
define internal i8 @junk___init_module_get_args_3() #0 {
entry:
%_exception = alloca { i8*, i64 }
%ignore0 = invoke
2015 Jan 02
3
[LLVMdev] "ran out of registers during register allocation"
I'm getting this error in RegAllocFast.cpp in compiling one source file
in test-suite as the result of a new Mips fast-isel patch
I was testing.
It apparently just generates bad code and continues?
// Nothing we can do. Report an error and keep going with a bad
allocation.
if (MI->isInlineAsm())
MI->emitError("inline assembly requires more registers than
2011 Jul 11
4
[LLVMdev] RegAllocFast uses too much stack
I discovered recently that RegAllocFast spills all the registers before
every function call. This is the root cause of one of our recursive
functions that takes about 150 bytes of stack when built with gcc (same at
-O0 and -O2, or 120 bytes at llc -O2) taking 960 bytes of stack when built
by llc -O0. That's pretty bad for situations where you have small stacks,
which is not uncommon for
2010 Oct 28
0
[LLVMdev] [LLVMDev] Register Allocation
On Oct 28, 2010, at 9:40 AM, Jeff Kunkel wrote:
> I have noticed quite a few changes regarding register allocation. I am
> wondering will there be support for radically different data
> structures other than the LiveIntervals, Virtual Register Map, etc?
Not any more than we already have.
If anything, these data structures are going to be simplified. For instance, VirtRegMap's
2013 Apr 30
1
[LLVMdev] New Register allocation algorithm
Hi,
I wanted to write a new register allocation algorithm. I wrote it the
same way RegAllocFast has been written and registered it. I added it to
ForceCodegenLinking struct as well. But after build, it is not listed in
llc --help. I tried to change the registered name of greedy algorithm to
something else and that doesnt seem to be reflecting in llc help either.
Am i supposed to build llvm
2013 Nov 09
0
[LLVMdev] Error "Cannot emit physreg copy instruction"
Hey edA-qa mort-ora-y,
On Sat, Nov 9, 2013 at 6:47 AM, edA-qa mort-ora-y <eda-qa at disemia.com> wrote:
> I'm getting an error that I don't know how to fix. I've isolated the
> input as much as I easily can. I've attached the file that produces the
> problem. Just calling "llc err.ll -o err.s" generates the error.
>
> I'm going to try and isolate
2012 Mar 30
1
[LLVMdev] VLIWPacketizerList: failing to schedule terminators
On Thu, Mar 29, 2012 at 03:51:10PM -0700, Andrew Trick wrote:
>
> On Mar 29, 2012, at 1:18 PM, Tom Stellard <thomas.stellard at amd.com> wrote:
>
> > On Thu, Mar 29, 2012 at 02:57:27PM -0500, Sergei Larin wrote:
> >> Tom,
> >>
> >> I do not have your call stack, but packetizer calls
> >> ScheduleDAGInstrs::buildSchedGraph to create
2012 Jun 03
0
[LLVMdev] [PATCH] Remove instruction within a bundle
Hi,
I've raised an assertion when I tried to remove an instruction within a
bundle by calling eraseFromParent(). It seems that in order to erase the
MI, a bundle iterator is created but it's forbidden if the MI is not the
bundle's header. The attached patch fix it.
As a test case, call eraseFromParent() on a machine instruction with its
isInsideBundle flag activated.
Ivan
2013 Nov 09
4
[LLVMdev] Error "Cannot emit physreg copy instruction"
I'm getting an error that I don't know how to fix. I've isolated the
input as much as I easily can. I've attached the file that produces the
problem. Just calling "llc err.ll -o err.s" generates the error.
I'm going to try and isolate even further, but as I'm not sure what I'm
looking for I don't know if I'll be successful. Does anybody know what
this
2015 Jan 03
2
[LLVMdev] "ran out of registers during register allocation"
It seems like it might be a legitimate complaint from the register
allocator.
It's trying to get an accumulator (not a general purpose register) and
the accumulator is 64 bit.
It's using a part of the Mips backend that I have not worked in so I
have to research this a bit.
The multiply instruction is a pseudo multiply in the mips backend and it
needs the accumulator which a special