Displaying 1 result from an estimated 1 matches for "recordstackmapopers".
2014 Oct 31
3
[LLVMdev] Large constants in patchpoints
...ntal.stackmap(i64, i32, ...)
define void @foo() {
tail call void (i64, i32, ...)* @llvm.experimental.stackmap(i64 0,
i32 0, i64 9223372036854775807)
ret void
}
The issue is that 9223372036854775807 (decimal for 0x7fffffffffffffff)
is the "empty key" for an int64_t, and in
StackMaps::recordStackMapOpers we crash when we try to insert this as
a key into ConstPool. The this happens if we change the constant to
be the tombstone.
Two potential fixes I can think of:
1. have some special logic to remember the offsets for the tombstone
and empty i64 constants. This can easily be tracked using tw...