MaskRay added inline comments.
================
Comment at: llvm/test/CodeGen/X86/movdir64b-inline-asm-x86_64.ll:1
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 
UTC_ARGS: --version 2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+movdir64b | FileCheck 
%s --check-prefix=X64
----------------
akshaykhadse wrote:
> MaskRay wrote:
> > I think we should reuse an existing `*-inline-asm-*` test file.
> > 
> > See 
> > https://maskray.me/blog/2021-08-08-toolchain-testing#the-test-checks-at-the-wrong-layer
> >  "I don't know an existing test can be enhanced"
> **I could not find an appropriate existing test.**
> I added a couple of cases in the CFE tests 
> `clang/test/CodeGen/ms-inline-asm-64.c` and 
> `clang/test/CodeGen/ms-inline-asm.c`.
> Now, when I had to add backend tests, I searched for an appropriate file:
> ```
> llvm-project$ find llvm/test/CodeGen/X86 -type f -name ms-inline-asm-*
> llvm/test/CodeGen/X86/ms-inline-asm-variables-x86-2-regs.ll
> llvm/test/CodeGen/X86/ms-inline-asm-array.ll
> llvm/test/CodeGen/X86/ms-inline-asm-PR44272.ll
> llvm/test/CodeGen/X86/ms-inline-asm-variables-x64-2-regs.ll
> llvm/test/CodeGen/X86/ms-inline-asm-functions.ll
> llvm/test/CodeGen/X86/ms-inline-asm-redundant-clobber.ll
> llvm/test/CodeGen/X86/ms-inline-asm-variables-x64-1-reg.ll
> llvm/test/CodeGen/X86/ms-inline-asm-variables-x86-1-reg.ll
> llvm/test/CodeGen/X86/ms-inline-asm-avx512.ll
> llvm/test/CodeGen/X86/ms-inline-asm-variables-x64-nopic.ll
> ```
> As you can see, there are tests for variables, functions, arrays, but no 
> general tests like `ms-inline-asm.ll`.
> My general observation is that for a CFE test `*-inline-asm*.c` there's an 
> equivalent test in LLVM backend which mentions the original test name in the 
> comment. For example, `ms-inline-asm-variables-x86-2-regs.ll` mentions that 
> `Tests come from "clang/test/CodeGen/ms-inline-asm-variables.c"`.
> However, there is no such file which mentions either `ms-inline-asm.c` or 
> `ms-inline-asm-64.c`
> So, I picked up an assembly instruction `xgetbv` from `ms-inline-asm.c` and 
> searched it in the available `.ll` backend test via `llvm-project$ find 
> llvm/test -type f -name *.ll -exec grep -l "xgetbv" {} \;`. There was just 
> one file `llvm/test/CodeGen/X86/system-intrinsics-xgetbv.ll` that contains 
> test for just this one instruction.
> **Please suggest an appropriate 32-bit and 64-bit file to add this test**
Thanks for the investigation. Sometimes we can consider refactoring existing 
tests before adding a new test. 

Even if we add a new file, `inline-asm-*.ll` may be a better name than 
`*-inline-asm.ll`, since the former allows code completion to find related 
tests more easily.

I'll run away:) My comment is to prompt investigation but I don't plan to look 
at the problem closely.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D151863/new/

https://reviews.llvm.org/D151863

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to