[PATCH] D52221: [AMDGPU] lower-switch in preISel as a workaround for legacy DA

Michel Dänzer via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 21 08:50:32 PDT 2018


michel.daenzer added a comment.

This broke glamor with the radeonsi driver, hits unreachable():

Pass ID not registered
UNREACHABLE executed at ../lib/CodeGen/TargetPassConfig.cpp:536!

Thread 1 "X" received signal SIGABRT, Aborted.
__GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x00007ffff67a12f1 in __GI_abort () at abort.c:79
#2  0x00007ffff0c9d3c3 in llvm::llvm_unreachable_internal (msg=<optimized out>, file=<optimized out>, line=<optimized out>) at ../lib/Support/ErrorHandling.cpp:222
#3  0x00007ffff11cbfce in llvm::TargetPassConfig::addPass (this=0x555555856560, PassID=<optimized out>, verifyAfter=true, printAfter=true) at ../lib/CodeGen/TargetPassConfig.cpp:536
#4  0x00007ffff2075582 in (anonymous namespace)::AMDGPUPassConfig::addPreISel (this=0x555555856560) at ../lib/Target/AMDGPU/AMDGPUTargetMachine.cpp:682
#5  (anonymous namespace)::GCNPassConfig::addPreISel (this=0x555555856560) at ../lib/Target/AMDGPU/AMDGPUTargetMachine.cpp:750
#6  0x00007ffff11cc4bb in llvm::TargetPassConfig::addISelPrepare (this=0x555555856560) at ../lib/CodeGen/TargetPassConfig.cpp:693
#7  0x00007ffff11cc8bf in llvm::TargetPassConfig::addISelPasses (this=0x555555856560) at ../lib/CodeGen/TargetPassConfig.cpp:773
#8  0x00007ffff0fcaa65 in addPassesToGenerateCode (TM=0x55555584a320, PM=..., DisableVerify=<optimized out>, WillCompleteCodeGenPipeline=@0x7fffffffda47: true, Out=..., MMI=0x5555558608c0) at ../lib/CodeGen/LLVMTargetMachine.cpp:113
#9  0x00007ffff0fca968 in llvm::LLVMTargetMachine::addPassesToEmitFile (this=<optimized out>, PM=..., Out=..., DwoOut=<optimized out>, FileType=llvm::TargetMachine::CGFT_ObjectFile, DisableVerify=false, MMI=0x0) at ../lib/CodeGen/LLVMTargetMachine.cpp:205
#10 0x00007ffff4501dbc in ac_create_llvm_passes () at ../../../src/amd/common/ac_llvm_helper.cpp:134
#11 0x00007ffff43f9669 in si_init_compiler (sscreen=sscreen at entry=0x5555558400a0, compiler=compiler at entry=0x5555558407b0) at ../../../../../src/gallium/drivers/radeonsi/si_pipe.c:128
#12 0x00007ffff43fb792 in radeonsi_screen_create (ws=<optimized out>, config=<optimized out>) at ../../../../../src/gallium/drivers/radeonsi/si_pipe.c:1079
#13 0x00007ffff44cdbbb in amdgpu_winsys_create (fd=fd at entry=16, config=config at entry=0x7fffffffdc18, screen_create=screen_create at entry=0x7ffff43fb200 <radeonsi_screen_create>) at ../../../../../../src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c:351
#14 0x00007ffff3cb0cb2 in pipe_radeonsi_create_screen (fd=16, config=0x7fffffffdc18) at ../../../../../src/gallium/auxiliary/target-helpers/drm_helper.h:171
#15 0x00007ffff42f764d in pipe_loader_create_screen (dev=0x55555583be00) at ../../../../../src/gallium/auxiliary/pipe-loader/pipe_loader.c:137
#16 0x00007ffff4133bfe in dri2_init_screen (sPriv=0x55555583a1c0) at ../../../../../src/gallium/state_trackers/dri/dri2.c:2112
#17 0x00007ffff412e011 in driCreateNewScreen2 (scrn=0, fd=13, extensions=<optimized out>, driver_extensions=<optimized out>, driver_configs=0x5555557f8c58, data=0x5555557f8a90) at ../../../../../../src/mesa/drivers/dri/common/dri_util.c:153
#18 0x00007ffff57a556e in dri_screen_create_dri2 (dri=dri at entry=0x5555557f8a90, driver_name=<optimized out>) at ../../../src/gbm/backends/dri/gbm_dri.c:451
#19 0x00007ffff57a5922 in dri_screen_create (dri=0x5555557f8a90) at ../../../src/gbm/backends/dri/gbm_dri.c:526
#20 dri_device_create (fd=13) at ../../../src/gbm/backends/dri/gbm_dri.c:1433
#21 0x00007ffff57a31a9 in gbm_create_device (fd=13) at ../../../src/gbm/main/gbm.c:137
#22 0x00007ffff57c0b22 in AMDGPUPreInitAccel_KMS (pScrn=0x5555557f62a0) at ../../src/amdgpu_kms.c:1167
#23 AMDGPUPreInit_KMS (pScrn=0x5555557f62a0, flags=<optimized out>) at ../../src/amdgpu_kms.c:1394
#24 0x00005555555ef898 in InitOutput (pScreenInfo=pScreenInfo at entry=0x5555557b5fa0 <screenInfo>, argc=argc at entry=4, argv=argv at entry=0x7fffffffeb18) at ../../../../hw/xfree86/common/xf86Init.c:483
#25 0x00005555555b0a88 in dix_main (argc=4, argv=0x7fffffffeb18, envp=<optimized out>) at ../../dix/main.c:191
#26 0x00007ffff678cb17 in __libc_start_main (main=0x55555559a1c0 <main>, argc=4, argv=0x7fffffffeb18, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffeb08) at ../csu/libc-start.c:310
#27 0x000055555559a1fa in _start ()


Repository:
  rL LLVM

https://reviews.llvm.org/D52221





More information about the llvm-commits mailing list