mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-14 15:39:06 +00:00
[EarlyCSE] Address post commit review for r249523.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@249814 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
80033cca37
commit
4d9ce589f8
@ -291,12 +291,12 @@ public:
|
||||
/// after every possibly writing memory operation, which ensures that we only
|
||||
/// CSE loads with other loads that have no intervening store.
|
||||
struct LoadValue {
|
||||
Value *data;
|
||||
unsigned generation;
|
||||
int matchingId;
|
||||
LoadValue() : data(nullptr), generation(0), matchingId(-1) {}
|
||||
LoadValue(Value *data, unsigned generation, unsigned matchingId)
|
||||
: data(data), generation(generation), matchingId(matchingId) {}
|
||||
Value *Data;
|
||||
unsigned Generation;
|
||||
int MatchingId;
|
||||
LoadValue() : Data(nullptr), Generation(0), MatchingId(-1) {}
|
||||
LoadValue(Value *Data, unsigned Generation, unsigned MatchingId)
|
||||
: Data(Data), Generation(Generation), MatchingId(MatchingId) {}
|
||||
};
|
||||
typedef RecyclingAllocator<BumpPtrAllocator,
|
||||
ScopedHashTableVal<Value *, LoadValue>>
|
||||
@ -568,12 +568,12 @@ bool EarlyCSE::processNode(DomTreeNode *Node) {
|
||||
// If we have an available version of this load, and if it is the right
|
||||
// generation, replace this instruction.
|
||||
LoadValue InVal = AvailableLoads.lookup(MemInst.getPtr());
|
||||
if (InVal.data != nullptr && InVal.generation == CurrentGeneration &&
|
||||
InVal.matchingId == MemInst.getMatchingId()) {
|
||||
Value *Op = getOrCreateResult(InVal.data, Inst->getType());
|
||||
if (InVal.Data != nullptr && InVal.Generation == CurrentGeneration &&
|
||||
InVal.MatchingId == MemInst.getMatchingId()) {
|
||||
Value *Op = getOrCreateResult(InVal.Data, Inst->getType());
|
||||
if (Op != nullptr) {
|
||||
DEBUG(dbgs() << "EarlyCSE CSE LOAD: " << *Inst
|
||||
<< " to: " << *InVal.data << '\n');
|
||||
<< " to: " << *InVal.Data << '\n');
|
||||
if (!Inst->use_empty())
|
||||
Inst->replaceAllUsesWith(Op);
|
||||
Inst->eraseFromParent();
|
||||
|
Loading…
Reference in New Issue
Block a user