[llvm] [AArch64][SelectionDAG] Add CodeGen support for scalar FEAT_CPA (PR #105669)
Alexander Richardson via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 31 14:07:34 PST 2025
================
@@ -8061,10 +8062,20 @@ SDValue SelectionDAG::getMemBasePlusOffset(SDValue Base, TypeSize Offset,
SDValue SelectionDAG::getMemBasePlusOffset(SDValue Ptr, SDValue Offset,
const SDLoc &DL,
- const SDNodeFlags Flags) {
+ const SDNodeFlags Flags,
+ const bool Inverted) {
assert(Offset.getValueType().isInteger());
EVT BasePtrVT = Ptr.getValueType();
- return getNode(ISD::ADD, DL, BasePtrVT, Ptr, Offset, Flags);
+ if (!this->getTarget().shouldPreservePtrArith(
+ this->getMachineFunction().getFunction())) {
+ return getNode(ISD::ADD, DL, BasePtrVT, Ptr, Offset, Flags);
+ } else {
+ if (Inverted) {
+ return getNode(ISD::PTRADD, DL, BasePtrVT, Offset, Ptr, Flags);
+ } else {
+ return getNode(ISD::PTRADD, DL, BasePtrVT, Ptr, Offset, Flags);
+ }
----------------
arichardson wrote:
```suggestion
return getNode(ISD::PTRADD, DL, BasePtrVT, Ptr, Offset, Flags);
```
https://github.com/llvm/llvm-project/pull/105669
More information about the llvm-commits
mailing list