llvm-6502/test/MC/X86
Derek Schuff cdb105b62f [MC] Attach labels to existing fragments instead of using a separate fragment
Summary:
Currently when emitting a label, a new data fragment is created for it if the
current fragment isn't a data fragment.
This change instead enqueues the label and attaches it to the next fragment
(e.g. created for the next instruction) if possible.

When bundle alignment is not enabled, this has no functionality change (it
just results in fewer extra fragments being created). For bundle alignment,
previously labels would point to the beginning of the bundle padding instead
of the beginning of the emitted instruction. This was not only less efficient
(e.g. jumping to the nops instead of past them) but also led to miscalculation
of the address of the GOT (since MC uses a label difference rather than
emitting a "." symbol).

Fixes https://code.google.com/p/nativeclient/issues/detail?id=3982

Test Plan: regression test attached

Reviewers: jvoung, eliben

Subscribers: jfb, llvm-commits

Differential Revision: http://reviews.llvm.org/D5915

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220439 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-22 22:38:06 +00:00
..
AlignedBundling [MC] Attach labels to existing fragments instead of using a separate fragment 2014-10-22 22:38:06 +00:00
3DNow.s
2011-09-06-NoNewline.s
address-size.s [x86] Add basic support for .code16 2014-01-06 04:55:54 +00:00
avx512-encodings.s [AVX512] Add DQ subvector inserts 2014-10-15 23:42:17 +00:00
cfi_def_cfa-crash.s X86: Assembly files with .cfi_cfa_def shouldn't hit llvm_unreachable() 2013-11-08 22:33:06 +00:00
fde-reloc.s
fixup-cpu-mode.s Tests for mode switching 2014-01-28 23:13:30 +00:00
gnux32-dwarf-gen.s
index-operations.s [x86] Allow segment and address-size overrides for INS[BWLQ] (PR9385) 2014-01-22 15:08:55 +00:00
intel-syntax-2.s MC X86: Accept ".att_syntax prefix" and diagnose noprefix 2014-08-06 23:21:13 +00:00
intel-syntax-ambiguous.s X86 MC: Handle instructions like fxsave that match multiple operand sizes 2014-08-27 20:10:38 +00:00
intel-syntax-avx512.s Teach X86 asm parser to understand 'ZMMWORD PTR' in Intel syntax. 2014-01-17 07:37:39 +00:00
intel-syntax-bitwise-ops.s Update the X86 assembler for .intel_syntax to accept 2014-02-06 01:21:15 +00:00
intel-syntax-directional-label.s Use printable names to implement directional labels. 2014-03-13 18:09:26 +00:00
intel-syntax-encoding.s
intel-syntax-error.s Add missing test for r215031 2014-08-11 18:34:54 +00:00
intel-syntax-hex.s
intel-syntax-invalid-basereg.s Update the X86 assembler for .intel_syntax to produce an error for invalid base 2014-01-23 22:34:42 +00:00
intel-syntax-invalid-scale.s Update the X86 assembler for .intel_syntax to produce an error for invalid 2014-01-23 21:52:41 +00:00
intel-syntax-ptr-sized.s MC: Split the x86 asm matcher implementations by dialect 2014-08-26 20:32:34 +00:00
intel-syntax.s MC: Use @IMGREL instead of @IMGREL32, which we can't parse 2014-09-25 02:09:18 +00:00
lit.local.cfg Reduce verbiage of lit.local.cfg files 2014-06-09 22:42:55 +00:00
macho-uleb.s Remove HasLEB128. 2014-08-15 14:01:07 +00:00
no-elf-compact-unwind.s Use compact unwind for the iOS simulator. 2014-06-20 22:40:55 +00:00
padlock.s Remove special FP opcode maps and instead add enough MRM_XX formats to handle all the FP operations. This increases format by 1 bit, but decreases opcode map by 1 bit so the TSFlags size doesn't change. 2014-02-19 08:25:02 +00:00
relax-insn.s [x86] Do not relax PUSHi16 to PUSHi32 (PR18414) 2014-01-08 12:58:32 +00:00
reloc-undef-global.s Look through variables when computing relocations. 2014-03-20 02:12:01 +00:00
ret.s [x86] Support i386-*-*-code16 triple for emitting 16-bit code 2014-01-20 12:02:25 +00:00
sgx-encoding.s Add support for the X86 secure guard extensions instructions in assembler (SGX). 2014-07-31 23:57:38 +00:00
shuffle-comments.s
stackmap-nops.ll [X86] Add comments to clarify some non-obvious lines in the stackmap-nops.ll 2014-07-25 04:50:08 +00:00
variant-diagnostics.s MC: fix test locations/name 2014-01-26 22:55:02 +00:00
x86_64-avx-clmul-encoding.s
x86_64-avx-encoding.s Move address override handling in X86MCCodeEmitter to a place where it works for VEX encoded instructions too. This allows 32-bit addressing to work in 64-bit mode. 2014-01-31 05:33:45 +00:00
x86_64-bmi-encoding.s
x86_64-encoding.s Allow pinsrw/pinsrb/pextrb/pextrw/movmskps/movmskpd/pmovmskb/extractps instructions to parse either GR32 or GR64 without resorting to duplicating instructions. 2013-10-14 04:55:01 +00:00
x86_64-fma3-encoding.s
x86_64-fma4-encoding.s
x86_64-hle-encoding.s Add support for encoding the HLE XACQUIRE and XRELEASE prefixes. 2013-06-18 17:08:10 +00:00
x86_64-imm-widths.s
x86_64-rand-encoding.s
x86_64-rtm-encoding.s
x86_64-signed-reloc.s [x86] Fix signed relocations for i64i32imm operands 2014-01-30 22:20:41 +00:00
x86_64-sse4a.s
x86_64-tbm-encoding.s Move address override handling in X86MCCodeEmitter to a place where it works for VEX encoded instructions too. This allows 32-bit addressing to work in 64-bit mode. 2014-01-31 05:33:45 +00:00
x86_64-xop-encoding.s
x86_directives.s
x86_errors.s X86 MC: Reject invalid segment registers before a memory operand colon 2014-07-31 23:03:22 +00:00
x86_long_nop.s [X86] Limit maximum nop length on Silvermont 2014-07-04 07:14:56 +00:00
x86_nop.s [X86] Limit maximum nop length on Silvermont 2014-07-04 07:14:56 +00:00
x86_operands.s X86 MC: Don't crash on empty memory operand parens 2014-07-31 23:26:35 +00:00
x86-16.s [x86] Allow segment and address-size overrides for INS[BWLQ] (PR9385) 2014-01-22 15:08:55 +00:00
x86-32-avx.s
x86-32-coverage.s [x86] Fix a pretty horrible bug and inconsistency in the x86 asm 2014-09-06 10:00:01 +00:00
x86-32-fma3.s
x86-32-ms-inline-asm.s [x86 asm] allow fwait alias in both At&t and Intel modes (PR21208) 2014-10-14 21:41:17 +00:00
x86-32.s [x86] Allow segment and address-size overrides for INS[BWLQ] (PR9385) 2014-01-22 15:08:55 +00:00
x86-64-avx512bw_vl.s [AVX512] Extended avx512_binop_rm to BW/VL subsets. 2014-10-14 14:36:19 +00:00
x86-64-avx512bw.s [AVX512] Extended avx512_binop_rm to BW/VL subsets. 2014-10-14 14:36:19 +00:00
x86-64-avx512dq_vl.s [AVX512] Extended avx512_binop_rm to DQ/VL subsets. 2014-10-14 15:13:56 +00:00
x86-64-avx512dq.s [AVX512] Extended avx512_binop_rm to DQ/VL subsets. 2014-10-14 15:13:56 +00:00
x86-64-avx512f_vl.s [AVX512] Extended avx512_binop_rm for AVX512VL subsets. 2014-10-09 08:38:48 +00:00
x86-64.s TableGen: use PrintMethods to print more aliases 2014-05-12 18:04:06 +00:00
x86-itanium.ll MC: fix MCAsmInfo usage for windows-itanium 2014-07-17 16:27:40 +00:00
x86-target-directives.s correct target directive handling error handling 2014-01-13 01:15:39 +00:00
x86-windows-itanium-libcalls.ll X86: correct library call setup for Windows itanium 2014-07-24 17:46:36 +00:00