• Home
  • Raw
  • Download

Lines Matching full:variable

94   Variable *getPhysicalRegister(RegNumT RegNum,
100 getRegistersForVariable(const Variable *Var) const override { in getRegistersForVariable()
111 getAllRegistersForVariable(const Variable *Var) const override { in getAllRegistersForVariable()
154 void emitVariable(const Variable *Var) const override;
169 void finishArgumentLowering(Variable *Arg, Variable *FramePtr,
189 Variable *legalizeToReg(Operand *From, RegNumT RegNum = RegNumT());
212 void lowerInt64Arithmetic(InstArithmetic::OpKind Op, Variable *Dest,
277 std::function<Variable *(Variable *)> Operation,
279 void lowerInt64AtomicRMW(Variable *Dest, uint32_t Operation, Operand *Ptr,
281 void lowerAtomicRMW(Variable *Dest, uint32_t Operation, Operand *Ptr,
305 Variable *makeReg(Type Ty, RegNumT RegNum = RegNumT());
307 Variable *copyToReg(Operand *Src, RegNumT RegNum = RegNumT());
308 void alignRegisterPow2(Variable *Reg, uint32_t Align,
312 Variable *makeVectorOfZeros(Type Ty, RegNumT RegNum = RegNumT());
322 using ExtInstr = void (TargetARM32::*)(Variable *, Variable *,
324 using DivInstr = void (TargetARM32::*)(Variable *, Variable *, Variable *,
326 void lowerIDivRem(Variable *Dest, Variable *T, Variable *Src0R, Operand *Src1,
329 void lowerCLZ(Variable *Dest, Variable *ValLo, Variable *ValHi);
334 void _add(Variable *Dest, Variable *Src0, Operand *Src1,
338 void _adds(Variable *Dest, Variable *Src0, Operand *Src1,
346 void _adc(Variable *Dest, Variable *Src0, Operand *Src1,
350 void _and(Variable *Dest, Variable *Src0, Operand *Src1,
354 void _asr(Variable *Dest, Variable *Src0, Operand *Src1,
358 void _bic(Variable *Dest, Variable *Src0, Operand *Src1,
373 void _cmn(Variable *Src0, Operand *Src1,
377 void _cmp(Variable *Src0, Operand *Src1,
381 void _clz(Variable *Dest, Variable *Src0,
386 void _eor(Variable *Dest, Variable *Src0, Operand *Src1,
390 /// _ldr, for all your memory to Variable data moves. It handles all types
394 void _ldr(Variable *Dest, OperandARM32Mem *Addr,
398 InstARM32Ldrex *_ldrex(Variable *Dest, OperandARM32Mem *Addr,
407 void _lsl(Variable *Dest, Variable *Src0, Operand *Src1,
411 void _lsls(Variable *Dest, Variable *Src0, Operand *Src1,
419 void _lsr(Variable *Dest, Variable *Src0, Operand *Src1,
423 void _mla(Variable *Dest, Variable *Src0, Variable *Src1, Variable *Acc,
427 void _mls(Variable *Dest, Variable *Src0, Variable *Src1, Variable *Acc,
431 /// _mov, for all your Variable to Variable data movement needs. It handles
435 void _mov(Variable *Dest, Operand *Src0,
453 void _mov_redefined(Variable *Dest, Operand *Src0,
469 void _extractelement(Variable *Dest, Variable *Src0, uint32_t Index,
476 void _insertelement(Variable *Dest, Variable *Src0, uint32_t Index,
486 // 1) Boolean expressions leading to a boolean Variable definition
489 // Whenever a i1 Variable is live out (i.e., its live range extends beyond
491 // materialize (i.e., compute) the variable normally, so that it can be used
561 /// lowerInt1 materializes Boolean to a Variable.
562 SafeBoolChain lowerInt1(Variable *Dest, Operand *Boolean);
572 void lowerInt1ForSelect(Variable *Dest, Operand *Boolean, Operand *TrueValue,
710 void _movt(Variable *Dest, Operand *Src0,
714 void _movw(Variable *Dest, Operand *Src0,
718 void _mul(Variable *Dest, Variable *Src0, Variable *Src1,
722 void _mvn(Variable *Dest, Operand *Src0,
726 void _orr(Variable *Dest, Variable *Src0, Operand *Src1,
730 void _orrs(Variable *Dest, Variable *Src0, Operand *Src1,
742 for (Variable *Dest : Dests) in _pop()
745 void _rbit(Variable *Dest, Variable *Src0,
749 void _rev(Variable *Dest, Variable *Src0,
753 void _ret(Variable *LR, Variable *Src0 = nullptr) {
756 void _rscs(Variable *Dest, Variable *Src0, Operand *Src1,
764 void _rsc(Variable *Dest, Variable *Src0, Operand *Src1,
768 void _rsbs(Variable *Dest, Variable *Src0, Operand *Src1,
776 void _rsb(Variable *Dest, Variable *Src0, Operand *Src1,
780 void _sbc(Variable *Dest, Variable *Src0, Operand *Src1,
784 void _sbcs(Variable *Dest, Variable *Src0, Operand *Src1,
792 void _sdiv(Variable *Dest, Variable *Src0, Variable *Src1,
796 /// _str, for all your Variable to memory transfers. Addr has the same
798 void _str(Variable *Value, OperandARM32Mem *Addr,
802 InstARM32Strex *_strex(Variable *Dest, Variable *Value, OperandARM32Mem *Addr,
810 void _sub(Variable *Dest, Variable *Src0, Operand *Src1,
814 void _subs(Variable *Dest, Variable *Src0, Operand *Src1,
822 void _sxt(Variable *Dest, Variable *Src0,
826 void _tst(Variable *Src0, Operand *Src1,
831 void _udiv(Variable *Dest, Variable *Src0, Variable *Src1,
835 void _umull(Variable *DestLo, Variable *DestHi, Variable *Src0,
836 Variable *Src1, CondARM32::Cond Pred = CondARM32::AL) {
847 void _uxt(Variable *Dest, Variable *Src0,
851 void _vabs(Variable *Dest, Variable *Src,
855 void _vadd(Variable *Dest, Variable *Src0, Variable *Src1) { in _vadd()
858 void _vand(Variable *Dest, Variable *Src0, Variable *Src1) { in _vand()
861 InstARM32Vbsl *_vbsl(Variable *Dest, Variable *Src0, Variable *Src1) { in _vbsl()
864 void _vceq(Variable *Dest, Variable *Src0, Variable *Src1) { in _vceq()
867 InstARM32Vcge *_vcge(Variable *Dest, Variable *Src0, Variable *Src1) { in _vcge()
870 InstARM32Vcgt *_vcgt(Variable *Dest, Variable *Src0, Variable *Src1) { in _vcgt()
873 void _vcvt(Variable *Dest, Variable *Src, InstARM32Vcvt::VcvtVariant Variant,
877 void _vdiv(Variable *Dest, Variable *Src0, Variable *Src1) { in _vdiv()
880 void _vcmp(Variable *Src0, Variable *Src1,
884 void _vcmp(Variable *Src0, OperandARM32FlexFpZero *FpZero,
888 void _vdup(Variable *Dest, Variable *Src, int Idx) { in _vdup()
891 void _veor(Variable *Dest, Variable *Src0, Variable *Src1) { in _veor()
894 void _vldr1d(Variable *Dest, OperandARM32Mem *Addr,
898 void _vldr1q(Variable *Dest, OperandARM32Mem *Addr,
905 void _vmla(Variable *Dest, Variable *Src0, Variable *Src1) { in _vmla()
908 void _vmlap(Variable *Dest, Variable *Src0, Variable *Src1) { in _vmlap()
911 void _vmls(Variable *Dest, Variable *Src0, Variable *Src1) { in _vmls()
914 void _vmovl(Variable *Dest, Variable *Src0, Variable *Src1) { in _vmovl()
917 void _vmovh(Variable *Dest, Variable *Src0, Variable *Src1) { in _vmovh()
920 void _vmovhl(Variable *Dest, Variable *Src0, Variable *Src1) { in _vmovhl()
923 void _vmovlh(Variable *Dest, Variable *Src0, Variable *Src1) { in _vmovlh()
926 void _vmul(Variable *Dest, Variable *Src0, Variable *Src1) { in _vmul()
929 void _vmulh(Variable *Dest, Variable *Src0, Variable *Src1, bool Unsigned) { in _vmulh()
933 void _vmvn(Variable *Dest, Variable *Src0) { in _vmvn()
936 void _vneg(Variable *Dest, Variable *Src0) { in _vneg()
940 void _vorr(Variable *Dest, Variable *Src0, Variable *Src1) { in _vorr()
943 void _vqadd(Variable *Dest, Variable *Src0, Variable *Src1, bool Unsigned) { in _vqadd()
947 void _vqmovn2(Variable *Dest, Variable *Src0, Variable *Src1, bool Unsigned, in _vqmovn2()
954 void _vqsub(Variable *Dest, Variable *Src0, Variable *Src1, bool Unsigned) { in _vqsub()
958 InstARM32Vshl *_vshl(Variable *Dest, Variable *Src0, Variable *Src1) { in _vshl()
961 void _vshl(Variable *Dest, Variable *Src0, ConstantInteger32 *Src1) { in _vshl()
965 InstARM32Vshr *_vshr(Variable *Dest, Variable *Src0, in _vshr()
969 void _vsqrt(Variable *Dest, Variable *Src,
973 void _vstr1d(Variable *Value, OperandARM32Mem *Addr,
977 void _vstr1q(Variable *Value, OperandARM32Mem *Addr,
981 void _vsub(Variable *Dest, Variable *Src0, Variable *Src1) { in _vsub()
984 void _vzip(Variable *Dest, Variable *Src0, Variable *Src1) { in _vzip()
1001 /// Manages the GotPtr variable, which is used for Nonsfi sandboxing.
1007 Variable *GotPtr = nullptr;
1012 /// single Gotoff relocation is created for each global variable used by the
1039 loadNamedConstantRelocatablePIC(GlobalString Name, Variable *Register,
1040 std::function<void(Variable *PC)> Finish);
1080 /// Emits a call instruction. If CallTarget is a Variable, it emits
1090 InstARM32Call *bl(Variable *ReturnReg, Operand *CallTarget);
1103 void ldr(Variable *Dest, OperandARM32Mem *Mem, CondARM32::Cond Pred);
1116 void ldrex(Variable *Dest, OperandARM32Mem *Mem, CondARM32::Cond Pred);
1122 void reset_sp(Variable *Src);
1128 void ret(Variable *RetAddr, Variable *RetValue);
1141 void str(Variable *Src, OperandARM32Mem *Mem, CondARM32::Cond Pred);
1154 void strex(Variable *Dest, Variable *Src, OperandARM32Mem *Mem,
1190 // Legalizes Mem. if Mem.Base is a Reamaterializable variable, Mem.Offset is
1195 /// Legalizes Mov if its Source (or Destination) is a spilled Variable, or
1196 /// if its Source is a Rematerializable variable (this form is used in lieu
1204 Variable *newBaseRegister(Variable *Base, int32_t Offset,
1219 OperandARM32Mem *createMemOperand(Type Ty, Variable *Base, int32_t Offset,
1222 Variable *const StackOrFrameReg;
1223 Variable *TempBaseReg = nullptr;
1312 auto *Var = llvm::dyn_cast<Variable>(Opnd); in getProducerOf()
1346 // false once we find the end of the live range for the variable defined
1355 // ComputationMap maps a Variable number to a payload identifying which