[PATCH] D71828: [InstCombine] Convert vector store to scalar store if only one element updated
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 8 08:09:33 PST 2020
lebedev.ri requested changes to this revision.
lebedev.ri added inline comments.
This revision now requires changes to proceed.
================
Comment at: llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp:1189
+ if (!match(SI.getValueOperand(),
+ m_InsertElement(m_Instruction(Source), m_Value(NewElement),
+ m_Constant(Idx))))
----------------
Match `m_Load()` specifically?
================
Comment at: llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp:1204
+ BBI != SI.getIterator(); ++BBI)
+ if (AA->getModRefInfo(&*BBI, MemoryLocation::get(&SI)) == ModRefInfo::Mod)
+ return nullptr;
----------------
1. Is it bitfield? Should we be checking `if (AA->getModRefInfo(&*BBI, MemoryLocation::get(&SI) & ModRefInfo::Mod)` ?
2. This does correctly work for calls right, not just instructions?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71828/new/
https://reviews.llvm.org/D71828
More information about the llvm-commits
mailing list