https://llvm.org/bugs/show_bug.cgi?id=26057

            Bug ID: 26057
           Summary: [Statepoint] Lowering integer larger than 64 bits as
                    deopt argument crashes
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Common Code Generator Code
          Assignee: unassignedb...@nondot.org
          Reporter: listm...@philipreames.com
                CC: llvm-bugs@lists.llvm.org
    Classification: Unclassified

The following test case crashes:
define void @test5(i28 %arg) gc "statepoint-example" {
  %safepoint_token = call token (i64, i32, void ()*, i32, i32, ...)
@llvm.experimental.gc.statepoint.p0f_isVoidf(i64 0, i32 0, void ()*
@do_safepoint, i32 0, i32 0, i32 0, i32 2, i128 %arg, i128 0)
  ret void
}

This is exercising two different cases of trying to encode a 128 bit integer
into the stackmap.  The argument appears to cause a legalization bug.  The i128
bit constant works, but only because the actual constant is encodable in 64
bits.  A 10..62..0 constant would not be.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to