- Notifications
You must be signed in to change notification settings - Fork 15.2k
Closed
Milestone
Description
target datalayout = "e-m:e-Fn32-i64:64-n32:64-S128-v256:256:256-v512:512:512" target triple = "ppc64le-redhat-linux-gnu" @id = private unnamed_addr constant [4 x i8] c"@id\00", align 1 ; Higher-aligned dummy to make sure it is first in the string pool. @dummy = private unnamed_addr constant [1 x i32] [i32 42], align 4 define ptr @test() personality ptr @__gnu_objc_personality_v0 { invoke void @foo(ptr @dummy) to label %cont unwind label %unwind cont: unreachable unwind: %lp = landingpad { ptr, i32 } catch ptr @id %id = tail call i32 @llvm.eh.typeid.for(ptr @id) resume { ptr, i32 } %lp } declare i32 @__gnu_objc_personality_v0(...) declare i32 @llvm.eh.typeid.for(ptr) declare void @foo()
PPC string pool merging replaces the @id
uses with string pool references. Both of these (in catch and in llvm.eh.typeid.for) are illegal as they are required to be constants.
Metadata
Metadata
Assignees
Type
Projects
Status
Done