summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: b428511)
raw | patch | inline | side by side (parent: b428511)
author | Jim Grosbach <grosbach@apple.com> | |
Mon, 21 May 2012 23:34:42 +0000 (23:34 +0000) | ||
committer | Jim Grosbach <grosbach@apple.com> | |
Mon, 21 May 2012 23:34:42 +0000 (23:34 +0000) |
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
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
lib/Target/ARM/ARMAsmPrinter.cpp | patch | blob | history |
index e781498f1dfd31bb96b3959a78b1aca69ea9974d..2a70a376f33114c415144738fbbadec7fc38a802 100644 (file)
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,