mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-25 16:31:33 +00:00
Add a comment explaining why this code is more complex than it
initially seems it should require. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111913 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
55aebef654
commit
41d6ab4b88
@ -80,6 +80,14 @@ namespace llvm {
|
||||
|
||||
// Instruction metadata resolution. Each instruction can have a list of
|
||||
// MDRef info associated with them.
|
||||
//
|
||||
// The simpler approach of just creating temporary MDNodes and then calling
|
||||
// RAUW on them when the definition is processed doesn't work because some
|
||||
// instruction metadata kinds, such as dbg, get stored in the IR in an
|
||||
// "optimized" format which doesn't participate in the normal value use
|
||||
// lists. This means that RAUW doesn't work, even on temporary MDNodes
|
||||
// which otherwise support RAUW. Instead, we defer resolving MDNode
|
||||
// references until the definitions have been processed.
|
||||
struct MDRef {
|
||||
SMLoc Loc;
|
||||
unsigned MDKind, MDSlot;
|
||||
|
Loading…
x
Reference in New Issue
Block a user