llvm-project/llvm/test/tools/llvm-mca/X86
Reid Kleckner 953bdce68d [MC] Separate masm integer literal lexer support from inline asm
Summary:
This renames the IsParsingMSInlineAsm member variable of AsmLexer to
LexMasmIntegers and moves it up to MCAsmLexer. This is the only behavior
controlled by that variable. I added a public setter, so that it can be
set from outside or from the llvm-mc command line. We may need to
arrange things so that users can get this behavior from clang, but
that's future work.

I also put additional hex literal lexing functionality under this flag
to fix PR32973. It appears that this hex literal parsing wasn't intended
to be enabled in non-masm-style blocks.

Now, masm integers (0b1101 and 0ABCh) work in __asm blocks from clang,
but 0b label references work when using .intel_syntax in standalone .s
files.

However, 0b label references will *not* work from __asm blocks in clang.
They will work from GCC inline asm blocks, which it sounds like is
important for Crypto++ as mentioned in PR36144.

Essentially, we only lex masm literals for inline asm blobs that use
intel syntax. If the .intel_syntax directive is used inside a gnu-style
inline asm statement, masm literals will not be lexed, which is
compatible with gas and llvm-mc standalone .s assembly.

This fixes PR36144 and PR32973.

Reviewers: Gerolf, avt77

Subscribers: eraman, hiraditya, llvm-commits

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

llvm-svn: 345189
2018-10-24 20:23:57 +00:00
..
Atom [X86] Fix scheduler class for BTmi instructions 2018-09-30 20:19:16 +00:00
Broadwell [X86][Sched] Update scheduling information for VZEROALL on HWS, BDW, SKX, SNB. 2018-10-01 08:37:48 +00:00
BtVer2 [tblgen][llvm-mca] Add the ability to describe move elimination candidates via tablegen. 2018-10-12 11:23:04 +00:00
Generic [X86][Sched] Update scheduling information for VZEROALL on HWS, BDW, SKX, SNB. 2018-10-01 08:37:48 +00:00
Haswell [X86][Sched] Update scheduling information for VZEROALL on HWS, BDW, SKX, SNB. 2018-10-01 08:37:48 +00:00
SLM [X86] ALU/ADC RMW instructions should use the WriteRMW sequence class 2018-10-03 10:01:13 +00:00
SandyBridge [X86][Sched] Update scheduling information for VZEROALL on HWS, BDW, SKX, SNB. 2018-10-01 08:37:48 +00:00
SkylakeClient [LLVM-MCA][X86] Add missing VCMPESTR/VCMPESTR tests 2018-09-30 18:19:00 +00:00
SkylakeServer [X86][Sched] Update scheduling information for VZEROALL on HWS, BDW, SKX, SNB. 2018-10-01 08:37:48 +00:00
Znver1 [LLVM-MCA][X86] Add missing VCMPESTR/VCMPESTR tests 2018-09-30 18:19:00 +00:00
bextr-read-after-ld.s [utils] Ensure that update_mca_test_checks.py writes prefixes in alphabetical order 2018-10-04 14:42:19 +00:00
bzhi-read-after-ld.s [utils] Ensure that update_mca_test_checks.py writes prefixes in alphabetical order 2018-10-04 14:42:19 +00:00
cpus.s [utils] Ensure that update_mca_test_checks.py writes prefixes in alphabetical order 2018-10-04 14:42:19 +00:00
default-iterations.s [llvm-mca] Add fields "Total uOps" and "uOps Per Cycle" to the report generated by the SummaryView. 2018-08-29 17:56:39 +00:00
dispatch_width.s [llvm-mca] Add fields "Total uOps" and "uOps Per Cycle" to the report generated by the SummaryView. 2018-08-29 17:56:39 +00:00
fma3-read-after-ld-1.s [utils] Ensure that update_mca_test_checks.py writes prefixes in alphabetical order 2018-10-04 14:42:19 +00:00
fma3-read-after-ld-2.s [utils] Ensure that update_mca_test_checks.py writes prefixes in alphabetical order 2018-10-04 14:42:19 +00:00
in-order-cpu.s Replace unused output filenames with /dev/null in tests 2018-07-02 18:16:44 +00:00
intel-syntax.s [MC] Separate masm integer literal lexer support from inline asm 2018-10-24 20:23:57 +00:00
invalid-assembly-sequence.s [llvm-mca] Make sure not to end the test files with an empty line. 2018-06-04 11:48:46 +00:00
invalid-cpu.s Replace unused output filenames with /dev/null in tests 2018-07-02 18:16:44 +00:00
invalid-empty-file.s Replace unused output filenames with /dev/null in tests 2018-07-02 18:16:44 +00:00
lit.local.cfg
llvm-mca-markers-1.s [llvm-mca] Make sure not to end the test files with an empty line. 2018-06-04 11:48:46 +00:00
llvm-mca-markers-2.s [llvm-mca] Add fields "Total uOps" and "uOps Per Cycle" to the report generated by the SummaryView. 2018-08-29 17:56:39 +00:00
llvm-mca-markers-3.s [llvm-mca] Add fields "Total uOps" and "uOps Per Cycle" to the report generated by the SummaryView. 2018-08-29 17:56:39 +00:00
llvm-mca-markers-4.s [llvm-mca] Add fields "Total uOps" and "uOps Per Cycle" to the report generated by the SummaryView. 2018-08-29 17:56:39 +00:00
llvm-mca-markers-5.s [llvm-mca] Add fields "Total uOps" and "uOps Per Cycle" to the report generated by the SummaryView. 2018-08-29 17:56:39 +00:00
llvm-mca-markers-6.s [llvm-mca] Make sure not to end the test files with an empty line. 2018-06-04 11:48:46 +00:00
llvm-mca-markers-7.s [llvm-mca] Make sure not to end the test files with an empty line. 2018-06-04 11:48:46 +00:00
no-sched-model.s [llvm-mca] Make sure not to end the test files with an empty line. 2018-06-04 11:48:46 +00:00
option-all-stats-1.s [utils] Allow better identification of matching blocks in update_mca_test_checks.py 2018-09-28 15:38:56 +00:00
option-all-stats-2.s [utils] Allow better identification of matching blocks in update_mca_test_checks.py 2018-09-28 15:38:56 +00:00
option-all-views-1.s [utils] Allow better identification of matching blocks in update_mca_test_checks.py 2018-09-28 15:38:56 +00:00
option-all-views-2.s [utils] Stricter checking from update_mca_test_checks.py 2018-09-28 15:39:09 +00:00
option-no-stats-1.s [llvm-mca] Add fields "Total uOps" and "uOps Per Cycle" to the report generated by the SummaryView. 2018-08-29 17:56:39 +00:00
read-after-ld-1.s [X86] Move ReadAfterLd functionality into X86FoldableSchedWrite (PR36957) 2018-10-05 17:57:29 +00:00
read-after-ld-2.s [X86] Fix Skylake ReadAfterLd for PADDrm etc. 2018-10-16 09:50:16 +00:00
read-after-ld-3.s [llvm-mca][x86] Add PR36951 ReadAfterLd test case 2018-10-04 16:26:56 +00:00
register-file-statistics.s [utils] Stricter checking from update_mca_test_checks.py 2018-09-28 15:39:09 +00:00
scheduler-queue-usage.s [utils] Ensure that update_mca_test_checks.py writes prefixes in alphabetical order 2018-10-04 14:42:19 +00:00
sqrt-rsqrt-rcp-memop.s [utils] Ensure that update_mca_test_checks.py writes prefixes in alphabetical order 2018-10-04 14:42:19 +00:00
variable-blend-read-after-ld-1.s [utils] Ensure that update_mca_test_checks.py writes prefixes in alphabetical order 2018-10-04 14:42:19 +00:00
variable-blend-read-after-ld-2.s [utils] Ensure that update_mca_test_checks.py writes prefixes in alphabetical order 2018-10-04 14:42:19 +00:00