llvm-project/llvm/test/MC/AArch64
Martin Storsjö 0c52ab3968 [MC] [Win64EH] Fix the calculation of the end of epilogs
Exclude the terminating end opcode from the epilog - it doesn't
correspond to an actual instruction that is included in the epilog
itself (within the .seh_startepilogue/.seh_endepilogue range).

In most (all?) cases, an epilog is followed by a matching terminating
instruction though (a ret or a branch to a tail call), but it's not
strictly within the .seh_startepilogue/.seh_endepilogue range.

This fixes a number of failed asserts in cases where the codegen
has incorrectly reoredered SEH opcodes so they don't match up
exactly with their instructions.

However this still just avoids failing the assertion; the root cause
of generating unexpected epilogs is still present (and fixing that is
a less obvious issue).

Differential Revision: https://reviews.llvm.org/D131393
2022-08-08 23:03:17 +03:00
..
SME [llvm-objdump,ARM] Fix a lot more tests. 2022-07-26 10:22:02 +01:00
SVE [llvm-objdump,ARM] Fix a lot more tests. 2022-07-26 10:22:02 +01:00
SVE2 [llvm-objdump,ARM] Fix a lot more tests. 2022-07-26 10:22:02 +01:00
CheckDataSymbol.s
ELF_ARM64_large-relocations.s Fix unwind info relocation with large code model on AArch64 2020-11-06 14:41:30 -05:00
adr-diagnostics.s
adr.s [AArch64InstPrinter] Change printADRPLabel to print the target address in hexadecimal form 2020-12-16 09:20:55 -08:00
adrp-annotation.s
adrp-relocation.s [AArch64] Add support for the GNU ILP32 ABI 2021-01-20 13:34:47 +00:00
adrp-relocation2.s
alias-addsubimm.s [AArch64] Add target feature "all" 2022-06-30 10:37:58 -07:00
alias-logicalimm.s
align.s [llvm-objdump,ARM] Fix a lot more tests. 2022-07-26 10:22:02 +01:00
arm32-elf-relocs.s [AArch64] Add support for the GNU ILP32 ABI 2021-01-20 13:34:47 +00:00
arm64-adr.s
arm64-advsimd.s
arm64-aliases.s
arm64-arithmetic-encoding.s
arm64-arm64-fixup.s
arm64-basic-a64-instructions.s
arm64-be-datalayout.s [llvm-readobj] Update tests because of changes in llvm-readobj behavior 2020-07-20 10:39:04 +01:00
arm64-bitfield-encoding.s
arm64-branch-encoding.s [MC][AArch64] Enable '+v8a' when nothing specified for MCSubtargetInfo 2022-04-29 04:53:22 +08:00
arm64-compact-unwind-fallback.s AArch64: fall back to DWARF instead of crashing on weird .cfi directives 2022-05-18 11:42:42 +01:00
arm64-condbr-without-dots.s
arm64-crypto.s
arm64-diagno-predicate.s
arm64-diags.s
arm64-directive_loh.s [AArch64][MC] Change "unexpected tokens in .xxx directive " to "expected newline" 2022-06-05 14:32:31 -07:00
arm64-elf-reloc-condbr.s [AArch64] Add support for the GNU ILP32 ABI 2021-01-20 13:34:47 +00:00
arm64-elf-relocs.s MC: AArch64: Add support for gotpage_lo15 2021-01-21 08:29:49 -03:00
arm64-fp-encoding-error.s
arm64-fp-encoding.s
arm64-ilp32.s [AArch64] Add support for the GNU ILP32 ABI 2021-01-20 13:34:47 +00:00
arm64-large-relocs.s
arm64-leaf-compact-unwind.s [llvm-readobj] Update tests because of changes in llvm-readobj behavior 2020-07-20 10:39:04 +01:00
arm64-logical-encoding.s
arm64-memory.s
arm64-no-section.ll
arm64-nv-cond.s
arm64-optional-hash.s
arm64-separator.s
arm64-simd-ldst.s
arm64-small-data-fixups.s [llvm-readobj] Update tests because of changes in llvm-readobj behavior 2020-07-20 10:39:04 +01:00
arm64-spsel-sysreg.s
arm64-system-encoding.s [MC][AArch64] Enable '+v8a' when nothing specified for MCSubtargetInfo 2022-04-29 04:53:22 +08:00
arm64-target-specific-sysreg.s
arm64-tls-modifiers-darwin.s [aarch64/mac] Correctly disassemble @TLVPPAGE(OFF) relocs 2021-11-10 10:41:18 -05:00
arm64-v128_lo-diagnostics.s
arm64-variable-exprs.s
arm64-vector-lists.s
arm64-verbose-vector-case.s
arm64_32-compact-unwind.s [objdump][macho] Emit segment names along with section names 2020-09-04 09:57:02 -07:00
arm64e-subtype.s [Triple][MachO] Define "arm64e", an AArch64 subarch for Pointer Auth. 2020-12-03 07:53:59 -08:00
arm64e.s [Triple][MachO] Define "arm64e", an AArch64 subarch for Pointer Auth. 2020-12-03 07:53:59 -08:00
arm64v8.1-diagno-predicate.s
armv8.1a-atomic.s
armv8.1a-lor.s
armv8.1a-lse.s [AArch64] Add support for the 'R' architecture profile. 2021-10-27 12:32:30 +01:00
armv8.1a-pan.s [AArch64] Add support for the 'R' architecture profile. 2021-10-27 12:32:30 +01:00
armv8.1a-rdma.s [AArch64] Add support for the 'R' architecture profile. 2021-10-27 12:32:30 +01:00
armv8.1a-vhe.s
armv8.2a-at.s [AArch64] Add support for the 'R' architecture profile. 2021-10-27 12:32:30 +01:00
armv8.2a-bfc.s
armv8.2a-crypto-apple.s
armv8.2a-crypto-error.s
armv8.2a-crypto.s [AArch64] Exclude optional features from HasV8_0rOps. 2022-01-25 10:54:59 +00:00
armv8.2a-dotprod-errors.s [AArch64] Add support for the 'R' architecture profile. 2021-10-27 12:32:30 +01:00
armv8.2a-dotprod.s [AArch64] Support for Ampere1 core 2022-05-03 15:54:02 +01:00
armv8.2a-persistent-memory.s [AArch64] Add support for the 'R' architecture profile. 2021-10-27 12:32:30 +01:00
armv8.2a-statistical-profiling.s
armv8.2a-uao.s [AArch64] Add support for the 'R' architecture profile. 2021-10-27 12:32:30 +01:00
armv8.3a-ID_ISAR6_EL1.s
armv8.3a-complex.s
armv8.3a-complex_bad.s
armv8.3a-complex_missing.s
armv8.3a-complex_nofp16.s
armv8.3a-complex_nofp16_bad.s
armv8.3a-diagnostics.s
armv8.3a-js.s
armv8.3a-pauth.s [AArch64] Add missing "pauth" feature to the .arch_extension directive. 2021-01-20 11:57:39 +00:00
armv8.3a-rcpc.s [AArch64] Support for Ampere1 core 2022-05-03 15:54:02 +01:00
armv8.3a-signed-pointer.s
armv8.4a-actmon.s
armv8.4a-dit.s
armv8.4a-flag-error.s
armv8.4a-flag.s [AArch64] Add +flagm archictecture option, allowing the v8.4a flag modification extension. 2021-01-08 13:21:12 +00:00
armv8.4a-flagm.s [AArch64] Add missing "flagm" feature to the .arch_extension directive. 2021-01-20 11:57:39 +00:00
armv8.4a-ldst-error.s
armv8.4a-ldst.s
armv8.4a-mpam.s
armv8.4a-ras.s [AArch64] Enable RAS 1.1 system registers in all AArch64 2020-11-10 12:13:33 +00:00
armv8.4a-tlb.s [NFC][AArch64] Capturing multiple feature requirements in AsmParser messages 2020-12-17 13:44:17 +00:00
armv8.4a-trace-error.s
armv8.4a-trace.s [AArch64][MC] Remove unused prefix in v8.4-a trace test 2020-11-06 11:17:18 +00:00
armv8.4a-virt.s
armv8.4a-vncr.s
armv8.5a-altnzcv.s
armv8.5a-bti-error.s
armv8.5a-bti.s [AArch64] Allow BTI mnemonics in the HINT space with BTI disabled 2020-06-09 19:57:02 +02:00
armv8.5a-frint-error.s
armv8.5a-frint.s
armv8.5a-mte-error.s
armv8.5a-mte.s [NFC][AArch64] Capturing multiple feature requirements in AsmParser messages 2020-12-17 13:44:17 +00:00
armv8.5a-persistent-memory.s [NFC][AArch64] Capturing multiple feature requirements in AsmParser messages 2020-12-17 13:44:17 +00:00
armv8.5a-predres-error.s
armv8.5a-predres.s [NFC][AArch64] Capturing multiple feature requirements in AsmParser messages 2020-12-17 13:44:17 +00:00
armv8.5a-rand-error.s
armv8.5a-rand.s
armv8.5a-sb.s
armv8.5a-specrestrict.s
armv8.5a-ssbs-error.s
armv8.5a-ssbs.s [ARM][AArch64] Adding Neoverse N2 CPU support 2020-11-25 11:42:54 +00:00
armv8.5a-xaflag-error.s
armv8.6a-amvs.s
armv8.6a-bf16.s [AArch64] Add target feature "all" 2022-06-30 10:37:58 -07:00
armv8.6a-ecv.s
armv8.6a-fgt.s
armv8.6a-simd-matmul-error.s
armv8.6a-simd-matmul.s
armv8.7a-hcx.s [ARM][AArch64] Adding basic support for the v8.7-A architecture 2020-12-17 13:45:08 +00:00
armv8.7a-ls64.s [NFC] Disallow unused prefixes under MC/AArch64 2021-01-14 09:46:13 -08:00
armv8.7a-wfxt.s [ARM][AArch64] Adding basic support for the v8.7-A architecture 2020-12-17 13:45:08 +00:00
armv8.7a-xs.s [NFC] Disallow unused prefixes under MC/AArch64 2021-01-14 09:46:13 -08:00
armv8.8a-hbc.s [AArch64] Adding "armv8.8-a" BC instruction. 2022-01-03 12:33:51 +00:00
armv8.8a-mops.s [AArch64] Adding "armv8.8-a" memcpy/memset support. 2022-01-05 14:44:24 +00:00
armv8a-fpmul-error.s
armv8a-fpmul.s
armv8r-inst.s [AArch64] Add support for the 'R' architecture profile. 2021-10-27 12:32:30 +01:00
armv8r-sysreg.s [AArch64] Remove PRBAR0_ELn and PRLAR0_ELn sysregs. 2022-01-20 13:37:58 +00:00
armv8r-unsupported-inst.s [AArch64] Add support for the 'R' architecture profile. 2021-10-27 12:32:30 +01:00
armv8r-unsupported-sysreg.s [AArch64] Add support for the 'R' architecture profile. 2021-10-27 12:32:30 +01:00
armv9a-rme.s [Aarch64] Adding support for Armv9-A Realm Management Extension 2021-06-28 13:45:22 +01:00
atomic-acquire-comment.s
basic-a64-diagnostics.s [AArch64] Make PMMIR_EL1 read-only. 2022-04-05 11:09:56 +01:00
basic-a64-instructions.s [MC][AArch64] Enable '+v8a' when nothing specified for MCSubtargetInfo 2022-04-29 04:53:22 +08:00
basic-pic.s
brbe.s [AArch64] Add BRB IALL and BRB INJ instructions 2021-01-06 12:10:22 +00:00
case-insen-reg-names.s
cfi.s [MC] Parse end-of-line for .cfi_* directives 2021-03-06 16:20:55 -08:00
coff-align.s [llvm-readobj] Update tests because of changes in llvm-readobj behavior 2020-07-20 10:39:04 +01:00
coff-basic.ll
coff-debug.ll [clang-cl] Support the /HOTPATCH flag 2022-01-20 12:57:19 -05:00
coff-function-type-info.ll [llvm-readobj] Update tests because of changes in llvm-readobj behavior 2020-07-20 10:39:04 +01:00
coff-relocations-diags.s [AArch64] [COFF] Properly produce cross-section relative relocations 2021-04-14 12:31:26 +03:00
coff-relocations-offset.s [llvm-objdump,ARM] Fix a lot more tests. 2022-07-26 10:22:02 +01:00
coff-relocations.s [llvm-objdump,ARM] Fix a lot more tests. 2022-07-26 10:22:02 +01:00
coff-separator.s [llvm-objdump,ARM] Fix a lot more tests. 2022-07-26 10:22:02 +01:00
cold.s [llvm-readobj] Update tests because of changes in llvm-readobj behavior 2020-07-20 10:39:04 +01:00
crc.s
cyclone-movi-bug.s
darwin-reloc-addsubimm.s [llvm-objdump,ARM] Fix a lot more tests. 2022-07-26 10:22:02 +01:00
directive-arch-negative.s
directive-arch.s [AArch64] Parse "rng" feature flag in .arch directive 2021-03-16 14:10:19 -07:00
directive-arch_extension-negative.s [llvm][AArch64] Accept armv8.8 "hbc" and "mops" in .arch_extension directive 2022-01-20 09:16:08 +00:00
directive-arch_extension.s [llvm][AArch64] Accept armv8.8 "hbc" and "mops" in .arch_extension directive 2022-01-20 09:16:08 +00:00
directive-cpu-err.s
directive-cpu.s
directive-variant_pcs-err.s [AArch64] Allow .variant_pcs before the symbol is registered 2022-03-28 17:52:27 -07:00
directive-variant_pcs.s [AArch64] Allow .variant_pcs before the symbol is registered 2022-03-28 17:52:27 -07:00
directives-case_insensitive.s
dot-req-case-insensitive.s
dot-req-diagnostics.s [AArch64][MC] Change "unexpected tokens in .xxx directive " to "expected newline" 2022-06-05 14:32:31 -07:00
dot-req.s
elf-extern.s [llvm-readobj] Update tests because of changes in llvm-readobj behavior 2020-07-20 10:39:04 +01:00
elf-globaladdress.ll [AArch64] Make -mcpu=generic schedule for an in-order core 2021-10-09 15:58:31 +01:00
elf-objdump.s
elf-reloc-addsubimm.s [llvm-objdump,ARM] Fix a lot more tests. 2022-07-26 10:22:02 +01:00
elf-reloc-ldrlit.s [AArch64] Add support for the GNU ILP32 ABI 2021-01-20 13:34:47 +00:00
elf-reloc-ldstunsimm.s [llvm-readobj] Update tests because of changes in llvm-readobj behavior 2020-07-20 10:39:04 +01:00
elf-reloc-movw.s [llvm-readobj] Update tests because of changes in llvm-readobj behavior 2020-07-20 10:39:04 +01:00
elf-reloc-pcreladdressing.s [llvm-readobj] Update tests because of changes in llvm-readobj behavior 2020-07-20 10:39:04 +01:00
elf-reloc-plt32.s [llvm-readobj] Update tests because of changes in llvm-readobj behavior 2020-07-20 10:39:04 +01:00
elf-reloc-tstb.s [AArch64] Add support for the GNU ILP32 ABI 2021-01-20 13:34:47 +00:00
elf-reloc-uncondbrimm.s [AArch64] Add support for the GNU ILP32 ABI 2021-01-20 13:34:47 +00:00
elf_osabi_flags.s [llvm-readobj] Update tests because of changes in llvm-readobj behavior 2020-07-20 10:39:04 +01:00
error-location-during-layout.s
error-location-ldr-pseudo.s
error-location-post-layout.s
error-location.s
ete-sysregs.s
expr-bad-symbol.s
expr-shr.s
fixup-absolute-signed.s
fixup-absolute.s
fixup-out-of-range.s [AArch64] Diagnose large adrp offset on Windows. 2021-11-02 15:11:22 -07:00
fullfp16-diagnostics.s
fullfp16-neon-neg.s
gicv3-regs-diagnostics.s
gicv3-regs.s
ilp32-diagnostics.s [AArch64] Add support for the GNU ILP32 ABI 2021-01-20 13:34:47 +00:00
inline-asm-modifiers.s
inst-directive-diagnostic.s
inst-directive-other.s [llvm-objdump,ARM] Fix a lot more tests. 2022-07-26 10:22:02 +01:00
inst-directive.s
invalid-instructions-spellcheck.s
ir-to-imgrel.ll
jump-table.s [llvm-readobj] Update tests because of changes in llvm-readobj behavior 2020-07-20 10:39:04 +01:00
label-arithmetic-darwin.s
label-arithmetic-diags-darwin.s
label-arithmetic-diags-elf.s
label-arithmetic-elf.s
ldr-pseudo-diagnostics.s
ldr-pseudo-obj-errors.s
ldr-pseudo.s
lit.local.cfg [NFC] Disallow unused prefixes under llvm/test 2021-01-21 20:31:52 -08:00
macho-addend-range.s AArch64: diagnose out of range relocation addends on MachO. 2020-07-27 13:01:22 +01:00
macho-adrp-missing-reloc.s
macho-adrp-page.s
macro-hex-int.s
mapping-across-sections.s ELFObjectWriter: Don't sort local symbols 2021-02-07 15:47:10 -08:00
mapping-within-section.s llvm-nm: Implement --special-syms. 2020-06-22 13:05:47 -07:00
mov-expr-as-immediate.s
mov-expression-as-immediate.s
mov-unsupported-expr-as-immediate.s
neon-2velem.s
neon-3vdiff.s
neon-aba-abd.s
neon-across.s
neon-add-pairwise.s
neon-add-sub-instructions.s
neon-bitwise-instructions.s
neon-compare-instructions.s
neon-crypto.s
neon-diagnostics.s [AArch64][SME] Add load and store instructions 2021-07-16 10:11:10 +00:00
neon-extract.s
neon-facge-facgt.s
neon-frsqrt-frecp.s
neon-halving-add-sub.s
neon-max-min-pairwise.s
neon-max-min.s
neon-mla-mls-instructions.s
neon-mov.s
neon-mul-div-instructions.s
neon-perm.s
neon-rounding-halving-add.s
neon-rounding-shift.s
neon-saturating-add-sub.s
neon-saturating-rounding-shift.s
neon-saturating-shift.s
neon-scalar-abs.s
neon-scalar-add-sub.s
neon-scalar-by-elem-mla.s
neon-scalar-by-elem-mul.s
neon-scalar-by-elem-saturating-mla.s
neon-scalar-by-elem-saturating-mul.s
neon-scalar-compare.s
neon-scalar-cvt.s
neon-scalar-dup.s
neon-scalar-extract-narrow.s
neon-scalar-fp-compare.s
neon-scalar-mul.s
neon-scalar-neg.s
neon-scalar-recip.s
neon-scalar-reduce-pairwise.s
neon-scalar-rounding-shift.s
neon-scalar-saturating-add-sub.s
neon-scalar-saturating-rounding-shift.s
neon-scalar-saturating-shift.s
neon-scalar-shift-imm.s
neon-scalar-shift.s
neon-shift-left-long.s
neon-shift.s
neon-simd-copy.s
neon-simd-ldst-multi-elem.s
neon-simd-ldst-one-elem.s
neon-simd-misc.s
neon-simd-post-ldst-multi-elem.s
neon-simd-shift.s
neon-sxtl.s
neon-tbl.s
neon-uxtl.s
nofp-crypto-diagnostic.s
noneon-diagnostics.s
optional-hash.s
ras-extension.s [AArch64] Add support for the 'R' architecture profile. 2021-10-27 12:32:30 +01:00
reloc-directive-err.s
reloc-directive.s [MC][AArch64] Support .reloc *, BFD_RELOC_{NONE,16,32,64}, * 2021-03-05 21:31:08 -08:00
seh-large-func-multi-epilog.s [WinEH][ARM64] Split Unwind Info for Fucntions Larger than 1MB 2022-08-05 11:46:41 -07:00
seh-large-func.s [WinEH][ARM64] Split Unwind Info for Fucntions Larger than 1MB 2022-08-05 11:46:41 -07:00
seh-multi-epilog.s [MC] [Win64EH] Fix the calculation of the end of epilogs 2022-08-08 23:03:17 +03:00
seh-optimize.s [MC] [Win64EH] Try writing an ARM64 "packed epilog" even if the epilog doesn't share opcodes with the prolog 2022-05-17 00:41:39 +03:00
seh-packed-epilog.s [MC] [Win64EH] Try writing an ARM64 "packed epilog" even if the epilog doesn't share opcodes with the prolog 2022-05-17 00:41:39 +03:00
seh-packed-unwind.s [MC] [Win64EH] Don't produce packed ARM64 unwind info with homed parameters 2022-05-18 20:34:59 +03:00
seh.s [Win64EH] Write .pdata symbol relocations relative to the temporary begin symbol 2021-09-14 11:05:37 +03:00
shift_extend_op_w_symbol.s [AArch64][AsmParser] NFC: Parser.getTok().getLoc() -> getLoc() 2021-07-26 09:36:34 +00:00
single-slash.s
size-directive.s ELFObjectWriter: Don't sort non-local symbols 2021-02-13 10:32:27 -08:00
spe.s [AArch64] Add support for the SPE-EEF feature 2020-12-18 11:11:56 +00:00
speculation-barriers.s
tls-add-shift.s
tls-relocs.s [AArch64] Replace fixup_aarch64_tlsdesc_call with FirstLiteralRelocationKind + R_AARCH64_{,P32_}TLSDESC_CALL 2021-05-05 17:41:56 -07:00
tme-error.s
tme.s
trace-regs-diagnostics.s
trace-regs.s
trbe-sysreg-diag.s
trbe-sysreg.s
udf.s
udf_not.s