mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +00:00
fix several bugs in the tutorial, patch by Kevin Kelley!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106498 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
584fedf188
commit
b0e9eada32
@ -367,9 +367,9 @@ Value *BinaryExprAST::Codegen() {
|
||||
if (L == 0 || R == 0) return 0;
|
||||
|
||||
switch (Op) {
|
||||
case '+': return Builder.CreateAdd(L, R, "addtmp");
|
||||
case '-': return Builder.CreateSub(L, R, "subtmp");
|
||||
case '*': return Builder.CreateMul(L, R, "multmp");
|
||||
case '+': return Builder.CreateFAdd(L, R, "addtmp");
|
||||
case '-': return Builder.CreateFSub(L, R, "subtmp");
|
||||
case '*': return Builder.CreateFMul(L, R, "multmp");
|
||||
case '<':
|
||||
L = Builder.CreateFCmpULT(L, R, "cmptmp");
|
||||
// Convert bool 0/1 to double 0.0 or 1.0
|
||||
|
@ -615,7 +615,7 @@ Value *ForExprAST::Codegen() {
|
||||
StepVal = ConstantFP::get(getGlobalContext(), APFloat(1.0));
|
||||
}
|
||||
|
||||
Value *NextVar = Builder.CreateAdd(Variable, StepVal, "nextvar");
|
||||
Value *NextVar = Builder.CreateFAdd(Variable, StepVal, "nextvar");
|
||||
|
||||
// Compute the end condition.
|
||||
Value *EndCond = End->Codegen();
|
||||
|
@ -719,7 +719,7 @@ Value *ForExprAST::Codegen() {
|
||||
StepVal = ConstantFP::get(getGlobalContext(), APFloat(1.0));
|
||||
}
|
||||
|
||||
Value *NextVar = Builder.CreateAdd(Variable, StepVal, "nextvar");
|
||||
Value *NextVar = Builder.CreateFAdd(Variable, StepVal, "nextvar");
|
||||
|
||||
// Compute the end condition.
|
||||
Value *EndCond = End->Codegen();
|
||||
|
@ -828,7 +828,7 @@ Value *ForExprAST::Codegen() {
|
||||
// Reload, increment, and restore the alloca. This handles the case where
|
||||
// the body of the loop mutates the variable.
|
||||
Value *CurVar = Builder.CreateLoad(Alloca, VarName.c_str());
|
||||
Value *NextVar = Builder.CreateAdd(CurVar, StepVal, "nextvar");
|
||||
Value *NextVar = Builder.CreateFAdd(CurVar, StepVal, "nextvar");
|
||||
Builder.CreateStore(NextVar, Alloca);
|
||||
|
||||
// Convert condition to a bool by comparing equal to 0.0.
|
||||
|
Loading…
Reference in New Issue
Block a user