Displaying 7 results from an estimated 7 matches for "shortcirc_next".
2004 Jun 22
3
[LLVMdev] Linearscan allocator bug?
...lock is jump on line
90. The problem is that gr6 is not initialized in the interval from the
function entry till the jump.
I also attach the debug dumps from my backend.
The basic block in question is shortcirc_done.1 (line 198 in the log). It
starts with:
%reg1060 = phi %reg1032, mbb<shortcirc_next.0.selectcont.selectcont,
The predecessor is at line 155 and the register 1032 is assigned a value on
line 140 (in shortcirc_next.0.selectcont):
%reg1032 = move %reg103
After register allocation the code in shortcirc_done.1 is (line 334):
%gr2 = move %gr6
the predecessor in at line 28...
2004 Jun 22
0
[LLVMdev] Linearscan allocator bug?
...is jump on line
> 90. The problem is that gr6 is not initialized in the interval from the
> function entry till the jump.
Okay, I see the problem. You need to tell the compiler that the
conditional branches are terminators. You're getting code that looks like
this:
<LBB7> // // shortcirc_next.0.selectcont.selectcont
gr1 = gr1;
gr1 = gr1;
gr5 = 0;
gr2 - gr5;
if <>0 goto LBB11;
* gr2 = gr4;
* gr5 = gr1;
* gr6 = gr4;
* gr1 = gr1;
goto LBB8;
I'm guessing that those copies are inserted by the register allocato...
2005 Jun 20
2
[LLVMdev] 'make check' failed with: ... PHI node entries do not match predecessors! ...
...CC) 3.4-llvm 20030924 (experimental).
Especially I noticed this one:
--------------------
FAIL:
/home/hb/projects/src/llvm-1/llvm/test/Regression/CFrontend/2005-06-15-ExpandGotoInternalProblem.c:
PHI node entries do not match predecessors!
%shortcirc_val = phi bool [ true, %no_exit ], [ %tmp.7, %shortcirc_next
] ; <bool> [#uses=1]
label %no_exit
label <badref>
Broken module found, compilation aborted!
gccas((anonymous namespace)::PrintStackTrace()+0x1f)[0x82b8c3f]
/lib/tls/libc.so.6(abort+0x1d2)[0x363302]
gccas((anonymous namespace)::Verifier::abortIfBroken()+0x196)[0x8235fb6]
gccas(llvm::P...
2005 Jun 20
0
[LLVMdev] 'make check' failed with: ... PHI node entries do not match predecessors! ...
...).
>
> Especially I noticed this one:
> --------------------
> FAIL:
> /home/hb/projects/src/llvm-1/llvm/test/Regression/CFrontend/2005-06-15-ExpandGotoInternalProblem.c:
> PHI node entries do not match predecessors!
> %shortcirc_val = phi bool [ true, %no_exit ], [ %tmp.7, %shortcirc_next
> ] ; <bool> [#uses=1]
> label %no_exit
> label <badref>
> Broken module found, compilation aborted!
> gccas((anonymous namespace)::PrintStackTrace()+0x1f)[0x82b8c3f]
> /lib/tls/libc.so.6(abort+0x1d2)[0x363302]
> gccas((anonymous namespace)::Verifier::abortIfBroke...
2005 Jun 20
1
[LLVMdev] 'make check' failed with: ... PHI node entries donot match predece
...ticed this one:
> > --------------------
> > FAIL:
> >
>/home/hb/projects/src/llvm-1/llvm/test/Regression/CFrontend/2005-06-15-ExpandGotoInternalProblem.c:
> > PHI node entries do not match predecessors!
> > %shortcirc_val = phi bool [ true, %no_exit ], [ %tmp.7, %shortcirc_next
> > ] ; <bool> [#uses=1]
> > label %no_exit
> > label <badref>
> > Broken module found, compilation aborted!
> > gccas((anonymous namespace)::PrintStackTrace()+0x1f)[0x82b8c3f]
> > /lib/tls/libc.so.6(abort+0x1d2)[0x363302]
> > gccas((anonymous...
2003 Nov 01
0
[LLVMdev] Cute profiling toy for LLVM
...4.56% 390/8545 check_percent() - entry
7. 4.53% 387/8545 make_neighbors() - endif.3
8. 4.49% 384/8545 fill_from_fields() - no_exit.1
9. 4.49% 384/8545 fill_from_fields() - endif.0
10. 4.49% 384/8545 make_neighbors() - loopexit.2
11. 4.49% 384/8545 make_neighbors() - shortcirc_next
12. 4.49% 384/8545 make_neighbors() - endif.4
13. 3.37% 288/8545 check_percent() - then
14. 3.07% 262/8545 make_neighbors() - no_exit.2.preheader
15. 1.84% 157/8545 compute_nodes() - endif.1
16. 1.84% 157/8545 compute_nodes() - no_exit.1
17. 1.84% 157/8545 compute_node...
2004 Jun 23
3
[LLVMdev] Linearscan allocator bug?
...blem is that gr6 is not initialized in
> > the interval from the function entry till the jump.
>
> Okay, I see the problem. You need to tell the compiler that the
> conditional branches are terminators. You're getting code that looks like
> this:
>
> <LBB7> // // shortcirc_next.0.selectcont.selectcont
> gr1 = gr1;
> gr1 = gr1;
> gr5 = 0;
> gr2 - gr5;
> if <>0 goto LBB11;
> * gr2 = gr4;
> * gr5 = gr1;
> * gr6 = gr4;
> * gr1 = gr1;
> goto LBB8;
>
> I'm guess...