mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-24 18:38:50 +00:00
Fix PR1178
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33924 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
688b0490e2
commit
b6a24bfa95
@ -839,9 +839,19 @@ void AsmPrinter::PrintSpecial(const MachineInstr *MI, const char *Code) {
|
|||||||
} else if (!strcmp(Code, "uid")) {
|
} else if (!strcmp(Code, "uid")) {
|
||||||
// Assign a unique ID to this machine instruction.
|
// Assign a unique ID to this machine instruction.
|
||||||
static const MachineInstr *LastMI = 0;
|
static const MachineInstr *LastMI = 0;
|
||||||
|
static const Function *F = 0;
|
||||||
static unsigned Counter = 0U-1;
|
static unsigned Counter = 0U-1;
|
||||||
|
|
||||||
|
// Comparing the address of MI isn't sufficient, because machineinstrs may
|
||||||
|
// be allocated to the same address across functions.
|
||||||
|
const Function *ThisF = MI->getParent()->getParent()->getFunction();
|
||||||
|
|
||||||
// If this is a new machine instruction, bump the counter.
|
// If this is a new machine instruction, bump the counter.
|
||||||
if (LastMI != MI) { ++Counter; LastMI = MI; }
|
if (LastMI != MI || F != ThisF) {
|
||||||
|
++Counter;
|
||||||
|
LastMI = MI;
|
||||||
|
ThisF = F;
|
||||||
|
}
|
||||||
O << Counter;
|
O << Counter;
|
||||||
} else {
|
} else {
|
||||||
cerr << "Unknown special formatter '" << Code
|
cerr << "Unknown special formatter '" << Code
|
||||||
|
Loading…
x
Reference in New Issue
Block a user