Lines Matching refs:Value
107 // Otherwise, just return the character as its ascii value.
122 virtual Value *IRGen(IRGenContext &C) const = 0;
128 Value *IRGen(IRGenContext &C) const override;
136 Value *IRGen(IRGenContext &C) const override;
146 Value *IRGen(IRGenContext &C) const override;
158 Value *IRGen(IRGenContext &C) const override;
170 Value *IRGen(IRGenContext &C) const override;
181 Value *IRGen(IRGenContext &C) const override;
194 Value *IRGen(IRGenContext &C) const override;
208 Value *IRGen(IRGenContext &C) const override;
394 return ErrorU<ForExprAST>("expected ',' after for start value");
401 // The step value is optional.
754 Value *NumberExprAST::IRGen(IRGenContext &C) const {
758 Value *VariableExprAST::IRGen(IRGenContext &C) const {
760 Value *V = C.NamedValues[Name];
763 return ErrorP<Value>("Unknown variable name '" + Name + "'");
765 // Load the value.
769 Value *UnaryExprAST::IRGen(IRGenContext &C) const {
770 if (Value *OperandV = Operand->IRGen(C)) {
774 return ErrorP<Value>("Unknown unary operator");
781 Value *BinaryExprAST::IRGen(IRGenContext &C) const {
787 Value *Val = RHS->IRGen(C);
795 return ErrorP<Value>("Unknown variable name");
798 Value *L = LHS->IRGen(C);
799 Value *R = RHS->IRGen(C);
819 Value *Ops[] = { L, R };
823 return ErrorP<Value>("Unknown binary operator");
826 Value *CallExprAST::IRGen(IRGenContext &C) const {
831 return ErrorP<Value>("Incorrect # arguments passed");
833 std::vector<Value*> ArgsV;
842 return ErrorP<Value>("Unknown function referenced");
845 Value *IfExprAST::IRGen(IRGenContext &C) const {
846 Value *CondV = Cond->IRGen(C);
864 // Emit then value.
867 Value *ThenV = Then->IRGen(C);
878 Value *ElseV = Else->IRGen(C);
896 Value *ForExprAST::IRGen(IRGenContext &C) const {
923 Value *StartVal = Start->IRGen(C);
926 // Store the value into the alloca.
945 // current BB. Note that we ignore the value computed by the body, but don't
950 // Emit the step value.
951 Value *StepVal;
961 Value *EndCond = End->IRGen(C);
966 Value *CurVar = C.getBuilder().CreateLoad(Alloca, VarName.c_str());
967 Value *NextVar = C.getBuilder().CreateFAdd(CurVar, StepVal, "nextvar");
994 Value *VarExprAST::IRGen(IRGenContext &C) const {
1009 Value *InitVal;
1028 Value *BodyVal = Body->IRGen(C);
1087 // Store the initial value into the alloca.
1113 if (Value *RetVal = Body->IRGen(C)) {