https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67272

            Bug ID: 67272
           Summary: [HSA] register allocator expects that every register
                    must be assigned
           Product: gcc
           Version: hsa
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
  Target Milestone: ---

Created attachment 36213
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36213&action=edit
Test case

Hi Michael.

Current HSA RA produces SEGFAULT in case of we have a register that is never
assigned.

ICE:
/tmp/test2.c:3:1: internal compiler error: Segmentation fault
 bar ()
 ^
0xed3dd4 crash_signal
        ../../gcc/toplev.c:353
0xc5fc9d cmp_begin
        ../../gcc/hsa-regalloc.c:448
0xc613e3 vec<hsa_op_reg*, va_heap, vl_embed>::qsort(int (*)(void const*, void
const*))
        ../../gcc/vec.h:938
0xc610a5 vec<hsa_op_reg*, va_heap, vl_ptr>::qsort(int (*)(void const*, void
const*))
        ../../gcc/vec.h:1666
0xc6087b linear_scan_regalloc
        ../../gcc/hsa-regalloc.c:682
0xc60e4e regalloc
        ../../gcc/hsa-regalloc.c:786
0xc60f07 hsa_regalloc()
        ../../gcc/hsa-regalloc.c:806
0xc5a63a generate_hsa
        ../../gcc/hsa-gen.c:3240
0xc5b254 execute
        ../../gcc/hsa-gen.c:3485


Thanks,
Martin

Reply via email to