You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Linking the following module into an empty module (llvm-link empty.ll bug.ll) leads to an assertion:
Assertion failed: (AlreadyScheduled.insert(&GV).second && "Should not reschedule"), function scheduleMapGlobalInitializer, file lib/Transforms/Utils/ValueMapper.cpp, line 1009.
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.9"
@A = internal constant i8 1
@B = alias i8, i8* @A
@C = global [2 x i8*] [i8* @A, i8* @B]
It seems that the two maps (ValueMap and AliasValueMap) are not playing well with each other. We first visit @C, then materialize its initializer, which lead us to @A, which we schedule to be materialized later, and then move to B which also scheduled.
At this point we moved with the worklist and process B first. Since it is an alias it will be materialized using the AliasValueMap, and we pull the aliasee @A and schedules it: this is where we hit the assertions because A was already scheduled.
The text was updated successfully, but these errors were encountered:
Extended Description
Linking the following module into an empty module (llvm-link empty.ll bug.ll) leads to an assertion:
Assertion failed: (AlreadyScheduled.insert(&GV).second && "Should not reschedule"), function scheduleMapGlobalInitializer, file lib/Transforms/Utils/ValueMapper.cpp, line 1009.
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.9"
@A = internal constant i8 1
@B = alias i8, i8* @A
@C = global [2 x i8*] [i8* @A, i8* @B]
It seems that the two maps (ValueMap and AliasValueMap) are not playing well with each other. We first visit @C, then materialize its initializer, which lead us to @A, which we schedule to be materialized later, and then move to B which also scheduled.
At this point we moved with the worklist and process B first. Since it is an alias it will be materialized using the AliasValueMap, and we pull the aliasee @A and schedules it: this is where we hit the assertions because A was already scheduled.
The text was updated successfully, but these errors were encountered: