Some targets(f.e. ARM) can't lower some SelectKind's . Don't expand/not expand consecutive selects if some of it has different legality.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Hello. I think this makes sense, but is it targeted at Arm or for some other backend? At least under MVE we don't really not support ScalarCondVectorVal selects, even if they can be a bit inefficient (less branches but more vector code).
Comment Actions
Hello. It's for private target. It has same TargetLowering::isSelectSupported() as in ARM target. This patch removes inconsistency when selects are not lowered by CodegenPrepare.
Comment Actions
OK. That makes sense. It was just that the test case here we made work already in the backend :) It's not really an unsupported case. It looks like it makes a good testcase though.
llvm/lib/CodeGen/CodeGenPrepare.cpp | ||
---|---|---|
6721 | Perhaps change "have the same kind" to "are equally supported"? |
Perhaps change "have the same kind" to "are equally supported"?