[llvm] [SelectionDAG] Optimize unaligned load stores to realign after offset (PR #145309)
Acthinks Yang via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 30 19:39:25 PDT 2025
================
@@ -4597,7 +4598,25 @@ void SelectionDAGBuilder::visitLoad(const LoadInst &I) {
const MDNode *Ranges = getRangeMetadata(I);
bool isVolatile = I.isVolatile();
MachineMemOperand::Flags MMOFlags =
- TLI.getLoadMemOperandFlags(I, DAG.getDataLayout(), AC, LibInfo);
+ TLI.getLoadMemOperandFlags(I, DL, AC, LibInfo);
+
+ // See visitStore comments.
+ int64_t Offset = 0;
+ if (auto *GEP = dyn_cast<GetElementPtrInst>(SV);
+ GEP && Alignment == Align(1)) {
----------------
Acthinks wrote:
@arsenm The effective diff is here:
https://github.com/llvm/llvm-project/pull/145309/commits/c88643827d1f2bc24d53b52e61479868536f99e2#diff-3a6a2277cc3f8384ddfa04cb6458a8df0dabb8ee5275caac3e66213ae4d1d9a0
https://github.com/llvm/llvm-project/pull/145309
More information about the llvm-commits
mailing list