DAGCombiner.cpp (263508) | DAGCombiner.cpp (266715) |
---|---|
1//===-- DAGCombiner.cpp - Implement a DAG node combiner -------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 8533 unchanged lines hidden (view full) --- 8542 // Lowest mem operand in the DAG starts at zero. 8543 unsigned SequenceNum; 8544}; 8545 8546/// Sorts store nodes in a link according to their offset from a shared 8547// base ptr. 8548struct ConsecutiveMemoryChainSorter { 8549 bool operator()(MemOpLink LHS, MemOpLink RHS) { | 1//===-- DAGCombiner.cpp - Implement a DAG node combiner -------------------===// 2// 3// The LLVM Compiler Infrastructure 4// 5// This file is distributed under the University of Illinois Open Source 6// License. See LICENSE.TXT for details. 7// 8//===----------------------------------------------------------------------===// --- 8533 unchanged lines hidden (view full) --- 8542 // Lowest mem operand in the DAG starts at zero. 8543 unsigned SequenceNum; 8544}; 8545 8546/// Sorts store nodes in a link according to their offset from a shared 8547// base ptr. 8548struct ConsecutiveMemoryChainSorter { 8549 bool operator()(MemOpLink LHS, MemOpLink RHS) { |
8550 return LHS.OffsetFromBase < RHS.OffsetFromBase; | 8550 return 8551 LHS.OffsetFromBase < RHS.OffsetFromBase || 8552 (LHS.OffsetFromBase == RHS.OffsetFromBase && 8553 LHS.SequenceNum > RHS.SequenceNum); |
8551 } 8552}; 8553 8554bool DAGCombiner::MergeConsecutiveStores(StoreSDNode* St) { 8555 EVT MemVT = St->getMemoryVT(); 8556 int64_t ElementSizeBytes = MemVT.getSizeInBits()/8; 8557 bool NoVectors = DAG.getMachineFunction().getFunction()->getAttributes(). 8558 hasAttribute(AttributeSet::FunctionIndex, Attribute::NoImplicitFloat); --- 2493 unchanged lines hidden --- | 8554 } 8555}; 8556 8557bool DAGCombiner::MergeConsecutiveStores(StoreSDNode* St) { 8558 EVT MemVT = St->getMemoryVT(); 8559 int64_t ElementSizeBytes = MemVT.getSizeInBits()/8; 8560 bool NoVectors = DAG.getMachineFunction().getFunction()->getAttributes(). 8561 hasAttribute(AttributeSet::FunctionIndex, Attribute::NoImplicitFloat); --- 2493 unchanged lines hidden --- |