Lines Matching refs:Variable
120 template <> Variable *Cfg::makeVariable<Variable>(Type Ty) {
122 Variable *Var;
128 Var = Variable::create(this, Ty, Index);
134 void Cfg::addArg(Variable *Arg) {
139 void Cfg::addImplicitArg(Variable *Arg) {
205 constexpr Variable *Void = nullptr;
252 for (Variable *Var : Variables) {
345 // variable's live range.
374 for (Variable *Var : Variables) {
547 // instruction which used that variable as an operand can not be reused.
556 size_t operator()(const Variable *Var) const { return Var->hashValue(); }
573 if (llvm::isa<Variable>(A) || llvm::isa<Constant>(A))
602 CfgUnorderedMap<Variable *, Variable *, VariableHash> Replacements;
606 CfgUnorderedMap<Variable *, std::vector<Inst *>, VariableHash> Dependency;
607 // Maps a variable to the Instructions that depend on it.
641 if (auto *Var = llvm::dyn_cast<Variable>(Opnd)) {
660 if (auto *Var = llvm::dyn_cast<Variable>(Opnd)) {
698 CfgUnorderedSet<Variable *> InvariantVars;
732 if (auto *Var = llvm::dyn_cast<Variable>(Inst.getSrc(i))) {
821 // instructions or block start/end) into a variable before its first use.
829 // Call instructions reset the procedure, but use the same variable, just in
845 CfgUnorderedMap<Constant *, Variable *> ConstCache;
965 Variable *BaseVariable = makeVariable(IceType_i32);
986 // Emit a fake definition of the rematerializable variable.
987 Variable *Dest = Alloca->getDest();
1017 // dynamic allocations (variable size in the entry block).
1116 // rematerialization is found, the instruction's Dest variable is set to be
1125 auto *Src0Var = llvm::dyn_cast<Variable>(Arith->getSrc(0));
1146 auto *Src0Var = llvm::dyn_cast<Variable>(Instr->getSrc(0));
1163 auto *Src0Var = llvm::dyn_cast<Variable>(Cast->getSrc(0));
1167 Variable *Dest = Cast->getDest();
1178 /// variable, or the same for a pointer-type InstCast::Bitcast, or when an
1179 /// InstArithmetic is an add of a rematerializable variable and an immediate.
1187 // found. It may take more than one iteration because a variable's defining
1198 Variable *Dest = Instr.getDest();
1284 const auto *Src0V = llvm::cast<Variable>(LastInsert->getSrc(0));
1336 const CfgVector<const Inst *> &Insts, Variable **Src0,
1337 Variable **Src1, CfgVector<const Inst *> *Extracts) {
1345 const auto *Src1V = llvm::dyn_cast<Variable>(Insert->getSrc(1));
1348 Ctx->getStrDump() << "src(1) is not a variable: ";
1374 auto *Src = llvm::cast<Variable>(Def->getSrc(0));
1464 Variable *Src0;
1465 Variable *Src1;
1591 // Reset each variable's live range.
1592 for (Variable *Var : Variables)
1644 // Traverse every Variable of every Inst and verify that it appears within the
1645 // Variable's computed live range.
1659 if (Variable *Dest = Instr.getDest()) {
1784 for (Variable *Var : getVariables()) {
1863 for (Variable *Var : Variables) {