[PATCH] D108694: [WIP][RISCV] Add the zvl extension according to the v1.0-rc2 spec

Yueh-Ting Chen via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 27 05:53:28 PDT 2021


eopXD added inline comments.


================
Comment at: llvm/lib/Target/RISCV/RISCVSubtarget.cpp:134
          "maximum!");
+  assert(RVVVectorBitsMin >= ZvlLen &&
+         "Minimum V extension vector length should be at least the length "
----------------
eopXD wrote:
> craig.topper wrote:
> > eopXD wrote:
> > > craig.topper wrote:
> > > > HsiangKai wrote:
> > > > > Should it be `RVVVectorBitsMin < ZvlLen`?
> > > > > 
> > > > > I suggest to return 0 and print a warning message for users.
> > > > This isn't a good place to print warnings. It would just be a random message printed to stderr without going through any of clang's diagnostic infrastructure.
> > > I think moving the check to `initializeSubtargetDependencies` and use `report_fatal_error` will be a more appropriate approach?
> > I think that causes clang to generate a crash report and telling the user to file a bug.
> > 
> > Forgot to mention, all this code is also being modified by D107290
> I see, then my proposal is invalid.
> 
> I am not yet that familiar with the code base. I see `RISCVFrameLowering.cpp` using `LLVMContext::diagnose`, but `RISCVSubtarget` here doesn't seem to have access to `LLVMContext`. 
> 
> May you recommend a pointer to some diagnose function I can use to tell the user this is an invalid setting between `RVVVectorBitsMin`(from `riscv-v-vector-bits-min`) and `ZvlLen` (from `-march=zvl*b`)?
I see code under `RISCVSubtarget::initializeSubtargetDependencies` also using `report_fatal_error`:



Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D108694



More information about the cfe-commits mailing list