mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
ARM: .end_data_region mismatch in Thumb2.
32-bit offset jump tables just use real branch instructions and so aren't marked as data regions. We were still emitting the .end_data_region marker though, which assert()ed. rdar://11499158 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157221 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b428511989
commit
b3a119a257
@ -1036,8 +1036,11 @@ void ARMAsmPrinter::EmitJump2Table(const MachineInstr *MI) {
|
||||
OutContext);
|
||||
OutStreamer.EmitValue(Expr, OffsetWidth);
|
||||
}
|
||||
// Mark the end of jump table data-in-code region.
|
||||
OutStreamer.EmitDataRegion(MCDR_DataRegionEnd);
|
||||
// Mark the end of jump table data-in-code region. 32-bit offsets use
|
||||
// actual branch instructions here, so we don't mark those as a data-region
|
||||
// at all.
|
||||
if (OffsetWidth != 4)
|
||||
OutStreamer.EmitDataRegion(MCDR_DataRegionEnd);
|
||||
}
|
||||
|
||||
void ARMAsmPrinter::PrintDebugValueComment(const MachineInstr *MI,
|
||||
|
Loading…
Reference in New Issue
Block a user