[PATCH] D146179: ValueTypes.td: Reorganize ValueType to generate `MachineValueType.h`

NAKAMURA Takumi via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 14 15:18:50 PDT 2023


chapuni added a comment.

@arsenm @craig.topper Any other concerns? Could we wait for 3rd opinion?



================
Comment at: llvm/unittests/Support/MachineValueType.h:80
     /// Return true if this is a FP or a vector FP type.
     bool isFloatingPoint() const {
+      switch (SimpleTy) {
----------------
chapuni wrote:
> arsenm wrote:
> > Have you measured compile time changes? Seems unfortunate to move from range checks to generated switches 
> I over-expected compiler's optimizations easily.
> 
> Re. range checks, I have rethought I could rewind them. Emission of ranges (FIRST/LAST_VALUES) was my latest implementation in `VTEmitter`. After it, ranges have become credible values provided by `ValueTypes.td`, since `UpdateVTRange` (D146906) checks also discontinuous gap.
> 
> Re. other generated switches, I will measure impact to compile time and I consider emitting range set expressions instead of generated switches.
I am certain I wouldn't introduce significant degressions since I rewound expansions of ranges (except for `isOverloaded()`


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D146179



More information about the llvm-commits mailing list