<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Bad machine code: No live subrange at use after Greedy Register Allocator"
   href="https://bugs.llvm.org/show_bug.cgi?id=47492">47492</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Bad machine code: No live subrange at use after Greedy Register Allocator
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Register Allocator
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>jay.foad@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org, quentin.colombet@gmail.com
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=23947" name="attach_23947" title="test case">attachment 23947</a> <a href="attachment.cgi?id=23947&action=edit" title="test case">[details]</a></span>
test case

With the attached test case I get:

$ ~/llvm-debug/bin/llc -march=amdgcn -verify-machineinstrs ge.mir
-start-before=greedy
[...]
*** Bad machine code: No live subrange at use ***
- function:    zextload_global_v64i16_to_v64i64
- basic block: %bb.0  (0x946b398) [0B;2848B)
- instruction: 844B     undef %433.sub0:vreg_128 = COPY %432.sub0:vreg_128
- operand 1:   %432.sub0:vreg_128
- interval:    %432 [256r,844r:0)  0@256r L0000000000000030 [256r,844r:0) 
0@256r weight:3.066802e-03
- at:          844B

*** Bad machine code: No live subrange at use ***
- function:    zextload_global_v64i16_to_v64i64
- basic block: %bb.0  (0x946b398) [0B;2848B)
- instruction: 908B     undef %449.sub0:vreg_128 = COPY %448.sub0:vreg_128
- operand 1:   %448.sub0:vreg_128
- interval:    %448 [320r,908r:0)  0@320r L0000000000000030 [320r,908r:0) 
0@320r weight:3.066802e-03
- at:          908B

*** Bad machine code: No live subrange at use ***
- function:    zextload_global_v64i16_to_v64i64
- basic block: %bb.0  (0x946b398) [0B;2848B)
- instruction: 920B     undef %453.sub0:vreg_128 = COPY %452.sub0:vreg_128
- operand 1:   %452.sub0:vreg_128
- interval:    %452 [336r,920r:0)  0@336r L0000000000000030 [336r,920r:0) 
0@336r weight:3.079268e-03
- at:          920B

*** Bad machine code: No live subrange at use ***
- function:    zextload_global_v64i16_to_v64i64
- basic block: %bb.0  (0x946b398) [0B;2848B)
- instruction: 972B     undef %465.sub0:vreg_128 = COPY %464.sub0:vreg_128
- operand 1:   %464.sub0:vreg_128
- interval:    %464 [384r,972r:0)  0@384r L0000000000000030 [384r,972r:0) 
0@384r weight:3.066802e-03
- at:          972B

*** Bad machine code: No live subrange at use ***
- function:    zextload_global_v64i16_to_v64i64
- basic block: %bb.0  (0x946b398) [0B;2848B)
- instruction: 984B     undef %469.sub0:vreg_128 = COPY %468.sub0:vreg_128
- operand 1:   %468.sub0:vreg_128
- interval:    %468 [400r,984r:0)  0@400r L0000000000000030 [400r,984r:0) 
0@400r weight:3.079268e-03
- at:          984B

*** Bad machine code: No live subrange at use ***
- function:    zextload_global_v64i16_to_v64i64
- basic block: %bb.0  (0x946b398) [0B;2848B)
- instruction: 1036B    undef %481.sub0:vreg_128 = COPY %480.sub0:vreg_128
- operand 1:   %480.sub0:vreg_128
- interval:    %480 [464r,1036r:0)  0@464r L0000000000000030 [464r,1036r:0) 
0@464r weight:3.117284e-03
- at:          1036B

*** Bad machine code: No live subrange at use ***
- function:    zextload_global_v64i16_to_v64i64
- basic block: %bb.0  (0x946b398) [0B;2848B)
- instruction: 1048B    undef %485.sub0:vreg_128 = COPY %484.sub0:vreg_128
- operand 1:   %484.sub0:vreg_128
- interval:    %484 [480r,1048r:0)  0@480r L0000000000000030 [480r,1048r:0) 
0@480r weight:3.130165e-03
- at:          1048B

*** Bad machine code: No live subrange at use ***
- function:    zextload_global_v64i16_to_v64i64
- basic block: %bb.0  (0x946b398) [0B;2848B)
- instruction: 1100B    undef %497.sub0:vreg_128 = COPY %496.sub0:vreg_128
- operand 1:   %496.sub0:vreg_128
- interval:    %496 [544r,1100r:0)  0@544r L0000000000000030 [544r,1100r:0) 
0@544r weight:3.169456e-03
- at:          1100B
LLVM ERROR: Found 8 machine code errors.
PLEASE submit a bug report to <a href="https://bugs.llvm.org/">https://bugs.llvm.org/</a> and include the crash
backtrace.


The test case comes from test/CodeGen/AMDGPU/global-extload-i16.ll compiled
with D87502 applied.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>