GetAddrOfGlobalTemporary previously tried to emit the initializer of
a global temporary before updating the global temporary map. Emitting the
initializer could recurse back into GetAddrOfGlobalTemporary for the same
temporary, resulting in an infinite recursion.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
@rjmccall We could alternatively address this by creating and registering the global first, and only then building and adding its initializer, but either way we're going to need some special-case code to detect and handle this situation (because we might need to change the type of the global to match the emitted constant). Happy to switch to that approach if you prefer.