Before falling back to CreateCoercedStore, detect a scalable vector
return being coerced to fixed vector. Handle it using a vector.extract
intrinsic without going through memory.
This is an alternative to D155222.
Paths
| Differential D155495
[RISCV][AArch64][IRGen] Add a special case to CodeGenFunction::EmitCall for scalable vector return being coerced to fixed vector. ClosedPublic Authored by craig.topper on Jul 17 2023, 10:25 AM.
Details Summary Before falling back to CreateCoercedStore, detect a scalable vector This is an alternative to D155222.
Diff Detail
Event TimelineComment Actions Thanks Craig this is a better solution, LLVM cleans up the store/load coercion nicely but better not to create them in the first place if possible. LGTM cheers
This revision is now accepted and ready to land.Jul 18 2023, 1:19 AM This revision was landed with ongoing or failed builds.Jul 18 2023, 10:04 AM Closed by commit rGd53d842d12ce: [RISCV][AArch64][IRGen] Add a special case to CodeGenFunction::EmitCall for… (authored by craig.topper). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 541614 clang/lib/CodeGen/CGCall.cpp
clang/test/CodeGen/attr-arm-sve-vector-bits-call.c
clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
|
nit: RetIRTy