Interface is split from:
std::pair<unsigned, unsigned> getVScaleRangeArgs()
into separate functions for min/max:
unsigned getVScaleRangeMin(); Optional<unsigned> getVScaleRangeMax();
Paths
| Differential D114075
[IR] Split vscale_range interface ClosedPublic Authored by c-rhodes on Nov 17 2021, 3:42 AM.
Details Summary Interface is split from: std::pair<unsigned, unsigned> getVScaleRangeArgs() into separate functions for min/max: unsigned getVScaleRangeMin(); Optional<unsigned> getVScaleRangeMax();
Diff Detail Event TimelineHerald added subscribers: dexonsmith, jdoerfert, hiraditya. · View Herald TranscriptNov 17 2021, 3:42 AM c-rhodes added a parent revision: D113294: [IR] Remove unbounded as possible value for vscale_range minimum.Nov 17 2021, 3:42 AM
c-rhodes added inline comments.
Comment Actions Thanks, I left two more minor comments that I didn't spot earlier. Otherwise looks good to me.
This revision is now accepted and ready to land.Dec 3 2021, 5:43 AM This revision was landed with ongoing or failed builds.Dec 7 2021, 2:43 AM Closed by commit rG0395e0158300: [IR] Split vscale_range interface (authored by c-rhodes). · Explain Why This revision was automatically updated to reflect the committed changes. c-rhodes marked an inline comment as done.
Revision Contents
Diff 387891 llvm/include/llvm/IR/Attributes.h
llvm/lib/Analysis/InstructionSimplify.cpp
llvm/lib/Analysis/ValueTracking.cpp
llvm/lib/IR/AttributeImpl.h
llvm/lib/IR/Attributes.cpp
llvm/lib/IR/Verifier.cpp
llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
llvm/lib/Target/AArch64/SVEIntrinsicOpts.cpp
llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
|
I'm not sure how I feel about this being an Optional type, all of the code changes below are still having to check max against 0, it seems that having this be Optional is just complicating the code for no gain.
Either this should not be Optional, or a value of 0 should be disallowed for max from this interface.