michaelmaitland added inline comments.

================
Comment at: llvm/lib/Target/RISCV/RISCVSchedSiFive7.td:15
+class SiFive7IsWorstCaseMX<string mx, list<string> MxList> {
+  string LLMUL = LargestLMUL<MxList>.r;
+  bit c = !eq(mx, LLMUL);
----------------
pcwang-thead wrote:
> I think I have fixed the issue that `defar` can't refer to template arguments 
> in D148197. So `LMUL`, `SSEW` and other fields can be replaced with `defvar`s.
A `defvar` statement defines a global variable. `SiFive7IsWorstCaseMX<mx, 
SchedMxList>.c` becomes invalid syntax since `c` is not a member of 
`SiFive7IsWorstCaseMX` now that `c` is global. If we did use `defvar` here and 
gave `c` a more unique name so that it could fit in the global space, then we 
would also need to complicate it by adding a `MXxxx_MxListxxx` suffix for all 
`mx` and `SchedMxList` pairs. 

I think we'd like to keep these as `Type Iden = Value;`. What do you think?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D149495

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

Reply via email to