Home | History | Annotate | Download | only in src

Lines Matching refs:Variable

104   Variable *getDest() const { return Dest; }
194 void replaceDest(Variable *Var) { Dest = Var; }
203 Inst(Cfg *Func, InstKind Kind, SizeT MaxSrcs, Variable *Dest);
227 /// a volatile load that can't be removed even if its Dest variable is not
235 /// has an invariant (primarily for performance reasons) that any Variable's
240 Variable *Dest;
248 /// or 1 Variable (and target-specific operands could contain more than 1
249 /// Variable). All the variables in an instruction are conceptually flattened
250 /// and each variable is mapped to one bit position of the LiveRangesEnded bit
263 InstHighLevel(Cfg *Func, InstKind Kind, SizeT MaxSrcs, Variable *Dest)
282 static InstAlloca *create(Cfg *Func, Variable *Dest, Operand *ByteCount,
296 InstAlloca(Cfg *Func, Variable *Dest, Operand *ByteCount,
318 static InstArithmetic *create(Cfg *Func, OpKind Op, Variable *Dest,
336 InstArithmetic(Cfg *Func, OpKind Op, Variable *Dest, Operand *Source1,
353 static InstAssign *create(Cfg *Func, Variable *Dest, Operand *Source) {
362 InstAssign(Cfg *Func, Variable *Dest, Operand *Source);
420 Variable *Dest,
444 InstCall(Cfg *Func, SizeT NumArgs, Variable *Dest, Operand *CallTarget,
474 static InstCast *create(Cfg *Func, OpKind CastKind, Variable *Dest,
485 InstCast(Cfg *Func, OpKind CastKind, Variable *Dest, Operand *Source);
497 static InstExtractElement *create(Cfg *Func, Variable *Dest, Operand *Source1,
510 InstExtractElement(Cfg *Func, Variable *Dest, Operand *Source1,
529 static InstFcmp *create(Cfg *Func, FCond Condition, Variable *Dest,
540 InstFcmp(Cfg *Func, FCond Condition, Variable *Dest, Operand *Source1,
561 static InstIcmp *create(Cfg *Func, ICond Condition, Variable *Dest,
573 InstIcmp(Cfg *Func, ICond Condition, Variable *Dest, Operand *Source1,
586 static InstInsertElement *create(Cfg *Func, Variable *Dest, Operand *Source1,
599 InstInsertElement(Cfg *Func, Variable *Dest, Operand *Source1,
611 static InstIntrinsicCall *create(Cfg *Func, SizeT NumArgs, Variable *Dest,
627 InstIntrinsicCall(Cfg *Func, SizeT NumArgs, Variable *Dest,
643 static InstLoad *create(Cfg *Func, Variable *Dest, Operand *SourceAddr,
655 InstLoad(Cfg *Func, Variable *Dest, Operand *SourceAddr);
666 static InstPhi *create(Cfg *Func, SizeT MaxSrcs, Variable *Dest) {
682 InstPhi(Cfg *Func, SizeT MaxSrcs, Variable *Dest);
724 static InstSelect *create(Cfg *Func, Variable *Dest, Operand *Condition,
737 InstSelect(Cfg *Func, Variable *Dest, Operand *Condition, Operand *Source1,
757 Variable *getRmwBeacon() const;
758 void setRmwBeacon(Variable *Beacon);
881 /// FakeDef instruction. This creates a fake definition of a variable, which is
888 /// variable of the instruction that actually produces the FakeDef dest.
898 static InstFakeDef *create(Cfg *Func, Variable *Dest,
899 Variable *Src = nullptr) {
909 InstFakeDef(Cfg *Func, Variable *Dest, Variable *Src);
912 /// FakeUse instruction. This creates a fake use of a variable, to keep the
913 /// instruction that produces that variable from being dead-code eliminated.
917 /// of implementation, weight=N is handled by holding N copies of the variable
925 static InstFakeUse *create(Cfg *Func, Variable *Src, uint32_t Weight = 1) {
935 InstFakeUse(Cfg *Func, Variable *Src, uint32_t Weight);
939 /// live range at this instruction for each (implicit) variable. The primary use
941 /// register allocator won't assign a scratch register to a variable whose live
982 static InstShuffleVector *create(Cfg *Func, Variable *Dest, Operand *Src0,
1038 InstShuffleVector(Cfg *Func, Variable *Dest, Operand *Src0, Operand *Src1);
1151 InstTarget(Cfg *Func, InstKind Kind, SizeT MaxSrcs, Variable *Dest)
1158 bool checkForRedundantAssign(const Variable *Dest, const Operand *Source);