]> granicus.if.org Git - llvm/commit
[MC] Suppress .Lcfi labels when emitting textual assembly
authorReid Kleckner <rnk@google.com>
Tue, 10 Oct 2017 00:57:36 +0000 (00:57 +0000)
committerReid Kleckner <rnk@google.com>
Tue, 10 Oct 2017 00:57:36 +0000 (00:57 +0000)
commit726d93c06ce9c05a0601a8c0dc6ed49d2150c1e6
treeb6a599221877810c55c4811f64063f4d0317d568
parent520952c51d50ff6bd8aaa0955f06011986ea3ebd
[MC] Suppress .Lcfi labels when emitting textual assembly

Summary:
This suppresses the generation of .Lcfi labels in our textual assembler.
It was annoying that this generated cascading .Lcfi labels:
  llc foo.ll -o - | llvm-mc | llvm-mc

After three trips through MCAsmStreamer, we'd have three labels in the
output when none are necessary. We should only bother creating the
labels and frame data when making a real object file.

This supercedes D38605, which moved the entire .seh_ implementation into
MCObjectStreamer.

This has the advantage that we do more checking when emitting textual
assembly, as a minor efficiency cost. Outputting textual assembly is not
performance critical, so this shouldn't matter.

Reviewers: majnemer, MatzeB

Subscribers: qcolombet, nemanjai, javed.absar, eraman, hiraditya, JDevlieghere, llvm-commits

Differential Revision: https://reviews.llvm.org/D38638

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315259 91177308-0d34-0410-b5e6-96231b3b80d8
95 files changed:
include/llvm/MC/MCObjectStreamer.h
include/llvm/MC/MCStreamer.h
lib/MC/MCObjectStreamer.cpp
lib/MC/MCStreamer.cpp
test/CodeGen/AArch64/arm64-patchpoint-webkit_jscc.ll
test/CodeGen/PowerPC/empty-functions.ll
test/CodeGen/PowerPC/memCmpUsedInZeroEqualityComparison.ll
test/CodeGen/X86/2011-10-19-widen_vselect.ll
test/CodeGen/X86/GlobalISel/add-scalar.ll
test/CodeGen/X86/GlobalISel/brcond.ll
test/CodeGen/X86/GlobalISel/callingconv.ll
test/CodeGen/X86/GlobalISel/frameIndex.ll
test/CodeGen/X86/TruncAssertZext.ll
test/CodeGen/X86/atomic128.ll
test/CodeGen/X86/avx2-vbroadcast.ll
test/CodeGen/X86/avx512-calling-conv.ll
test/CodeGen/X86/avx512-fsel.ll
test/CodeGen/X86/avx512-insert-extract.ll
test/CodeGen/X86/avx512-insert-extract_i1.ll
test/CodeGen/X86/avx512-mask-op.ll
test/CodeGen/X86/avx512-mask-spills.ll
test/CodeGen/X86/avx512-mask-zext-bugfix.ll
test/CodeGen/X86/avx512-schedule.ll
test/CodeGen/X86/avx512-select.ll
test/CodeGen/X86/avx512-vbroadcast.ll
test/CodeGen/X86/avx512bw-intrinsics-fast-isel.ll
test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll
test/CodeGen/X86/avx512bw-intrinsics.ll
test/CodeGen/X86/avx512vl-intrinsics-fast-isel.ll
test/CodeGen/X86/avx512vl-vbroadcast.ll
test/CodeGen/X86/avx512vl-vec-masked-cmp.ll
test/CodeGen/X86/bitcast-and-setcc-512.ll
test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
test/CodeGen/X86/bitcast-setcc-512.ll
test/CodeGen/X86/bool-vector.ll
test/CodeGen/X86/cmp.ll
test/CodeGen/X86/deopt-intrinsic-cconv.ll
test/CodeGen/X86/deopt-intrinsic.ll
test/CodeGen/X86/empty-functions.ll
test/CodeGen/X86/fast-isel-store.ll
test/CodeGen/X86/haddsub-2.ll
test/CodeGen/X86/illegal-bitfield-loadstore.ll
test/CodeGen/X86/imul.ll
test/CodeGen/X86/inline-asm-fpstack.ll
test/CodeGen/X86/lea-opt-cse1.ll
test/CodeGen/X86/lea-opt-cse2.ll
test/CodeGen/X86/lea-opt-cse3.ll
test/CodeGen/X86/lea-opt-cse4.ll
test/CodeGen/X86/legalize-shift-64.ll
test/CodeGen/X86/live-out-reg-info.ll
test/CodeGen/X86/load-combine.ll
test/CodeGen/X86/masked_gather_scatter.ll
test/CodeGen/X86/memset-nonzero.ll
test/CodeGen/X86/merge-consecutive-loads-128.ll
test/CodeGen/X86/movpc32-check.ll
test/CodeGen/X86/mul-constant-result.ll
test/CodeGen/X86/mul-i256.ll
test/CodeGen/X86/patchpoint-webkit_jscc.ll
test/CodeGen/X86/pr21792.ll
test/CodeGen/X86/pr2656.ll
test/CodeGen/X86/pr29061.ll
test/CodeGen/X86/pr29112.ll
test/CodeGen/X86/pr30430.ll
test/CodeGen/X86/pr32241.ll
test/CodeGen/X86/pr32256.ll
test/CodeGen/X86/pr32282.ll
test/CodeGen/X86/pr32329.ll
test/CodeGen/X86/pr32345.ll
test/CodeGen/X86/pr32451.ll
test/CodeGen/X86/pr34080.ll
test/CodeGen/X86/pr34088.ll
test/CodeGen/X86/pr9743.ll
test/CodeGen/X86/push-cfi.ll
test/CodeGen/X86/recip-pic.ll
test/CodeGen/X86/rtm.ll
test/CodeGen/X86/select-mmx.ll
test/CodeGen/X86/setcc-lowering.ll
test/CodeGen/X86/sincos.ll
test/CodeGen/X86/statepoint-live-in.ll
test/CodeGen/X86/tls-pie.ll
test/CodeGen/X86/tls-shrink-wrapping.ll
test/CodeGen/X86/vector-sext.ll
test/CodeGen/X86/vector-shuffle-avx512.ll
test/CodeGen/X86/vector-shuffle-mmx.ll
test/CodeGen/X86/vector-shuffle-v1.ll
test/CodeGen/X86/wide-fma-contraction.ll
test/CodeGen/X86/wide-integer-cmp.ll
test/CodeGen/X86/win32-pic-jumptable.ll
test/CodeGen/X86/x86-interleaved-access.ll
test/CodeGen/X86/x86-no_caller_saved_registers-preserve.ll
test/CodeGen/XCore/epilogue_prologue.ll
test/MC/AsmParser/seh-unfinished-frame.s [new file with mode: 0644]
test/tools/llvm-dwarfdump/X86/brief.s
test/tools/llvm-dwarfdump/X86/verify_debug_info.s
test/tools/llvm-dwarfdump/X86/verify_die_ranges.s