[llvm-bugs] [Bug 33071] New: Assertion in register allocation on ARM
via llvm-bugs
llvm-bugs at lists.llvm.org
Wed May 17 08:03:30 PDT 2017
https://bugs.llvm.org/show_bug.cgi?id=33071
Bug ID: 33071
Summary: Assertion in register allocation on ARM
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: enhancement
Priority: P
Component: Backend: ARM
Assignee: unassignedbugs at nondot.org
Reporter: yyc1992 at gmail.com
CC: llvm-bugs at lists.llvm.org
Created attachment 18454
--> https://bugs.llvm.org/attachment.cgi?id=18454&action=edit
Test case
The IR attached causes an assertion in LLC on at least 3.9 and 4.0.
The failure is
```
llc:
/home/yuyichao/projects/julia/tests/master/deps/srccache/llvm-4.0.0/lib/CodeGen/VirtRegMap.cpp:443:
void {anonymous}::VirtRegRewriter::rewrite(): Assertion `PhysReg && "Invalid
SubReg for physical register"' failed.
```
Which is triggered on `%D16<def> = COPY %vreg29:ssub_0<kill>; DPR:%vreg29`.
Enclosing BB
```
400B BB#1: derived from LLVM BB %if
Live Ins: %R4 %R5 %R8 %R9 %S16
Predecessors according to CFG: BB#0
416B %D16<def> = FCONSTD 128, pred:14, pred:%noreg;
dbg:/home/yuyichao/projects/julia/tests/master/script.jl:2
432B %D17<def> = VCVTDS %S16<kill>, pred:14, pred:%noreg;
dbg:/home/yuyichao/projects/julia/tests/master/script.jl:2
448B %D16<def> = VADDD %D17<kill>, %D16<kill>, pred:14, pred:%noreg;
dbg:/home/yuyichao/projects/julia/tests/master/script.jl:2
464B %R10<def>, %R7<def> = VMOVRRD %D16, pred:14, pred:%noreg;
dbg:/home/yuyichao/projects/julia/tests/master/script.jl:2
480B %R0<def> = MOVi 1, pred:14, pred:%noreg, opt:%noreg
512B %D16<def> = COPY %vreg29:ssub_0<kill>; DPR:%vreg29
560B B <BB#4>;
dbg:/home/yuyichao/projects/julia/tests/master/script.jl:2
Successors according to CFG: BB#4(?%)
```
Enclosing BB before `rewrite`
```
BB#1: derived from LLVM BB %if
Live Ins: %R4 %R5 %R8 %R9 %S16
Predecessors according to CFG: BB#0
%vreg27<def> = FCONSTD 128, pred:14, pred:%noreg; DPR:%vreg27
dbg:/home/yuyichao/projects/julia/tests/master/script.jl:2
%vreg28<def> = VCVTDS %vreg17<kill>, pred:14, pred:%noreg; DPR:%vreg28
SPR:%vreg17 dbg:/home/yuyichao/projects/julia/tests/master/script.jl:2
%vreg29<def> = VADDD %vreg28<kill>, %vreg27<kill>, pred:14,
pred:%noreg; DPR:%vreg29,%vreg28,%vreg27
dbg:/home/yuyichao/projects/julia/tests/master/script.jl:2
%vreg6<def>, %vreg5<def> = VMOVRRD %vreg29, pred:14, pred:%noreg;
GPR:%vreg6,%vreg5 DPR:%vreg29
dbg:/home/yuyichao/projects/julia/tests/master/script.jl:2
%vreg72<def> = MOVi 1, pred:14, pred:%noreg, opt:%noreg; GPR:%vreg72
%vreg67<def> = COPY %vreg29:ssub_0<kill>; DPR:%vreg67,%vreg29
B <BB#4>; dbg:/home/yuyichao/projects/julia/tests/master/script.jl:2
Successors according to CFG: BB#4(?%)
```
Ref https://github.com/JuliaLang/julia/issues/21926
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170517/b736c775/attachment-0001.html>
More information about the llvm-bugs
mailing list