Lines Matching defs:OutlinableGroup
73 struct OutlinableGroup { struct
75 std::vector<OutlinableRegion *> Regions;
79 std::vector<Type *> ArgumentTypes;
81 FunctionType *OutlinedFunctionType = nullptr;
83 Function *OutlinedFunction = nullptr;
87 bool IgnoreGroup = false;
90 DenseMap<Value *, BasicBlock *> EndBBs;
94 DenseMap<Value *, BasicBlock *> PHIBlocks;
99 DenseSet<ArrayRef<unsigned>> OutputGVNCombinations;
103 bool InputTypesSet = false;
107 unsigned NumAggregateInputs = 0;
111 DenseMap<unsigned, unsigned> CanonicalNumberToAggArg;
115 unsigned BranchesToOutside = 0;
120 unsigned PHINodeGVNTracker = -3;
124 PHINodeGVNToGVNs;
125 DenseMap<hash_code, unsigned> GVNsToPHINodeGVN;
129 InstructionCost Benefit = 0;
132 InstructionCost Cost = 0;
136 Optional<unsigned> SwiftErrorArgument;