|
@@ -403,12 +403,9 @@ namespace {
|
|
|
DAGCombiner(SelectionDAG &D, AliasAnalysis &A, CodeGenOpt::Level OL)
|
|
|
: DAG(D), TLI(D.getTargetLoweringInfo()), Level(BeforeLegalizeTypes),
|
|
|
OptLevel(OL), LegalOperations(false), LegalTypes(false), AA(A) {
|
|
|
- AttributeSet FnAttrs =
|
|
|
- DAG.getMachineFunction().getFunction()->getAttributes();
|
|
|
- ForCodeSize =
|
|
|
- FnAttrs.hasAttribute(AttributeSet::FunctionIndex,
|
|
|
- Attribute::OptimizeForSize) ||
|
|
|
- FnAttrs.hasAttribute(AttributeSet::FunctionIndex, Attribute::MinSize);
|
|
|
+ auto *F = DAG.getMachineFunction().getFunction();
|
|
|
+ ForCodeSize = F->hasFnAttribute(Attribute::OptimizeForSize) ||
|
|
|
+ F->hasFnAttribute(Attribute::MinSize);
|
|
|
}
|
|
|
|
|
|
/// Runs the dag combiner on all nodes in the work list
|
|
@@ -1184,10 +1181,8 @@ void DAGCombiner::Run(CombineLevel AtLevel) {
|
|
|
LegalTypes = Level >= AfterLegalizeTypes;
|
|
|
|
|
|
// Early exit if this basic block is in an optnone function.
|
|
|
- AttributeSet FnAttrs =
|
|
|
- DAG.getMachineFunction().getFunction()->getAttributes();
|
|
|
- if (FnAttrs.hasAttribute(AttributeSet::FunctionIndex,
|
|
|
- Attribute::OptimizeNone))
|
|
|
+ if (DAG.getMachineFunction().getFunction()->hasFnAttribute(
|
|
|
+ Attribute::OptimizeNone))
|
|
|
return;
|
|
|
|
|
|
// Add all the dag nodes to the worklist.
|
|
@@ -9955,8 +9950,8 @@ bool DAGCombiner::MergeStoresOfConstantsOrVecElts(
|
|
|
bool DAGCombiner::MergeConsecutiveStores(StoreSDNode* St) {
|
|
|
EVT MemVT = St->getMemoryVT();
|
|
|
int64_t ElementSizeBytes = MemVT.getSizeInBits()/8;
|
|
|
- bool NoVectors = DAG.getMachineFunction().getFunction()->getAttributes().
|
|
|
- hasAttribute(AttributeSet::FunctionIndex, Attribute::NoImplicitFloat);
|
|
|
+ bool NoVectors = DAG.getMachineFunction().getFunction()->hasFnAttribute(
|
|
|
+ Attribute::NoImplicitFloat);
|
|
|
|
|
|
// Don't merge vectors into wider inputs.
|
|
|
if (MemVT.isVector() || !MemVT.isSimple())
|