-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Labels
backend:ARMcrashPrefer [crash-on-valid] or [crash-on-invalid]Prefer [crash-on-valid] or [crash-on-invalid]
Description
Minimal reproducer:
target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64"
target triple = "armv7-unknown-linux-android23"
@llvm.global_ctors = appending global [1 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 65535, ptr @upb_GeneratedRegistry_Constructor_dont_copy_me__upb_internal_use_only, ptr null }]
; Uncommenting this block will resolve the crash.
;define void @test() {
;ret void
;}
declare void @upb_GeneratedRegistry_Constructor_dont_copy_me__upb_internal_use_only()
Instructions to reproduce:
llc < reduced.ll
The crash occurs on Subtarget field of ARMAsmPrinter inside of ARMAsmPrinter::GetARMGVSymbol. This is only initialized when runOnMachineFunction is called. That is why simply adding a function definition is "fixing" the crash.
Metadata
Metadata
Assignees
Labels
backend:ARMcrashPrefer [crash-on-valid] or [crash-on-invalid]Prefer [crash-on-valid] or [crash-on-invalid]