mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 20:39:47 +00:00
[DAGCombiner] fix function-name formatting; NFC
This commit is contained in:
parent
f709c202f9
commit
3e51e7ee3e
@ -678,34 +678,31 @@ namespace {
|
||||
/// can be combined into narrow loads.
|
||||
bool BackwardsPropagateMask(SDNode *N);
|
||||
|
||||
/// Helper function for MergeConsecutiveStores which merges the
|
||||
/// component store chains.
|
||||
/// Helper function for mergeConsecutiveStores which merges the component
|
||||
/// store chains.
|
||||
SDValue getMergeStoreChains(SmallVectorImpl<MemOpLink> &StoreNodes,
|
||||
unsigned NumStores);
|
||||
|
||||
/// This is a helper function for MergeConsecutiveStores. When the
|
||||
/// source elements of the consecutive stores are all constants or
|
||||
/// all extracted vector elements, try to merge them into one
|
||||
/// larger store introducing bitcasts if necessary. \return True
|
||||
/// if a merged store was created.
|
||||
bool MergeStoresOfConstantsOrVecElts(SmallVectorImpl<MemOpLink> &StoreNodes,
|
||||
/// This is a helper function for mergeConsecutiveStores. When the source
|
||||
/// elements of the consecutive stores are all constants or all extracted
|
||||
/// vector elements, try to merge them into one larger store introducing
|
||||
/// bitcasts if necessary. \return True if a merged store was created.
|
||||
bool mergeStoresOfConstantsOrVecElts(SmallVectorImpl<MemOpLink> &StoreNodes,
|
||||
EVT MemVT, unsigned NumStores,
|
||||
bool IsConstantSrc, bool UseVector,
|
||||
bool UseTrunc);
|
||||
|
||||
/// This is a helper function for MergeConsecutiveStores. Stores
|
||||
/// that potentially may be merged with St are placed in
|
||||
/// StoreNodes. RootNode is a chain predecessor to all store
|
||||
/// candidates.
|
||||
/// This is a helper function for mergeConsecutiveStores. Stores that
|
||||
/// potentially may be merged with St are placed in StoreNodes. RootNode is
|
||||
/// a chain predecessor to all store candidates.
|
||||
void getStoreMergeCandidates(StoreSDNode *St,
|
||||
SmallVectorImpl<MemOpLink> &StoreNodes,
|
||||
SDNode *&Root);
|
||||
|
||||
/// Helper function for MergeConsecutiveStores. Checks if
|
||||
/// candidate stores have indirect dependency through their
|
||||
/// operands. RootNode is the predecessor to all stores calculated
|
||||
/// by getStoreMergeCandidates and is used to prune the dependency check.
|
||||
/// \return True if safe to merge.
|
||||
/// Helper function for mergeConsecutiveStores. Checks if candidate stores
|
||||
/// have indirect dependency through their operands. RootNode is the
|
||||
/// predecessor to all stores calculated by getStoreMergeCandidates and is
|
||||
/// used to prune the dependency check. \return True if safe to merge.
|
||||
bool checkMergeStoreCandidatesForDependencies(
|
||||
SmallVectorImpl<MemOpLink> &StoreNodes, unsigned NumStores,
|
||||
SDNode *RootNode);
|
||||
@ -714,7 +711,7 @@ namespace {
|
||||
/// This optimization uses wide integers or vectors when possible.
|
||||
/// \return number of stores that were merged into a merged store (the
|
||||
/// affected nodes are stored as a prefix in \p StoreNodes).
|
||||
bool MergeConsecutiveStores(StoreSDNode *St);
|
||||
bool mergeConsecutiveStores(StoreSDNode *St);
|
||||
|
||||
/// Try to transform a truncation where C is a constant:
|
||||
/// (trunc (and X, C)) -> (and (trunc X), (trunc C))
|
||||
@ -15863,7 +15860,7 @@ SDValue DAGCombiner::getMergeStoreChains(SmallVectorImpl<MemOpLink> &StoreNodes,
|
||||
return DAG.getTokenFactor(StoreDL, Chains);
|
||||
}
|
||||
|
||||
bool DAGCombiner::MergeStoresOfConstantsOrVecElts(
|
||||
bool DAGCombiner::mergeStoresOfConstantsOrVecElts(
|
||||
SmallVectorImpl<MemOpLink> &StoreNodes, EVT MemVT, unsigned NumStores,
|
||||
bool IsConstantSrc, bool UseVector, bool UseTrunc) {
|
||||
// Make sure we have something to merge.
|
||||
@ -16241,7 +16238,7 @@ bool DAGCombiner::checkMergeStoreCandidatesForDependencies(
|
||||
return true;
|
||||
}
|
||||
|
||||
bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) {
|
||||
bool DAGCombiner::mergeConsecutiveStores(StoreSDNode *St) {
|
||||
if (OptLevel == CodeGenOpt::None || !EnableStoreMerging)
|
||||
return false;
|
||||
|
||||
@ -16449,7 +16446,7 @@ bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) {
|
||||
continue;
|
||||
}
|
||||
|
||||
RV |= MergeStoresOfConstantsOrVecElts(StoreNodes, MemVT, NumElem, true,
|
||||
RV |= mergeStoresOfConstantsOrVecElts(StoreNodes, MemVT, NumElem, true,
|
||||
UseVector, LastIntegerTrunc);
|
||||
|
||||
// Remove merged stores for next iteration.
|
||||
@ -16516,7 +16513,7 @@ bool DAGCombiner::MergeConsecutiveStores(StoreSDNode *St) {
|
||||
continue;
|
||||
}
|
||||
|
||||
RV |= MergeStoresOfConstantsOrVecElts(
|
||||
RV |= mergeStoresOfConstantsOrVecElts(
|
||||
StoreNodes, MemVT, NumStoresToMerge, false, true, false);
|
||||
|
||||
StoreNodes.erase(StoreNodes.begin(),
|
||||
@ -17046,7 +17043,7 @@ SDValue DAGCombiner::visitSTORE(SDNode *N) {
|
||||
// There can be multiple store sequences on the same chain.
|
||||
// Keep trying to merge store sequences until we are unable to do so
|
||||
// or until we merge the last store on the chain.
|
||||
bool Changed = MergeConsecutiveStores(ST);
|
||||
bool Changed = mergeConsecutiveStores(ST);
|
||||
if (!Changed) break;
|
||||
// Return N as merge only uses CombineTo and no worklist clean
|
||||
// up is necessary.
|
||||
@ -21890,10 +21887,10 @@ bool operator!=(const UnitT &, const UnitT &) { return false; }
|
||||
// redundant, as this function gets called when visiting every store
|
||||
// node, so why not let the work be done on each store as it's visited?
|
||||
//
|
||||
// I believe this is mainly important because MergeConsecutiveStores
|
||||
// I believe this is mainly important because mergeConsecutiveStores
|
||||
// is unable to deal with merging stores of different sizes, so unless
|
||||
// we improve the chains of all the potential candidates up-front
|
||||
// before running MergeConsecutiveStores, it might only see some of
|
||||
// before running mergeConsecutiveStores, it might only see some of
|
||||
// the nodes that will eventually be candidates, and then not be able
|
||||
// to go from a partially-merged state to the desired final
|
||||
// fully-merged state.
|
||||
|
Loading…
Reference in New Issue
Block a user