Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit90bf4e3fd851087a3cfc68dbfa1e8ae5c38d0456 (patch)
Author
 Syndamia <kamen@syndamia.com>
2023-02-08 02:58:16 +0200
Committer
 Syndamia <kamen@syndamia.com>
2023-02-08 02:58:16 +0200
Filesfd380da0aa9391176c13490f6b8af8488243d7d4
uni-projects-90bf4e3fd851087a3cfc68dbfa1e8ae5c38d0456.tar
uni-projects-90bf4e3fd851087a3cfc68dbfa1e8ae5c38d0456.tar.gz
uni-projects-90bf4e3fd851087a3cfc68dbfa1e8ae5c38d0456.zip
Parent67879964bbd8541a6278477964591ea443b378a9 (diff)
[IPL/T] Small fixes, following creation of tests
diff --git a/Year 2/Implementation of Programming Languages/Transpiler/src/LLVMVisitor/LLVMVisitor.cpp b/Year 2/Implementation of Programming Languages/Transpiler/src/LLVMVisitor/LLVMVisitor.cpp
index 9035c74..d4548c8 100644
--- a/Year 2/Implementation of Programming Languages/Transpiler/src/LLVMVisitor/LLVMVisitor.cpp
+++ b/Year 2/Implementation of Programming Languages/Transpiler/src/LLVMVisitor/LLVMVisitor.cpp
@@ -152,7 +152,7 @@ LLVMRet LLVMVisitor::boolop(const std::string name, funcargs args) {
rightArg = args[1]->Visit(*this);
Register r = lreg++;
- outBuf.push_back(*r + " = " + ((leftArg.type == "double") ? "f" : "i") + "cmp " + ((leftArg.type == "double") ? "o" : "s") + name + " " + leftArg.toStr() + ", " + rightArg.addr);
+ outBuf.push_back(*r + " = " + ((leftArg.type == "double") ? "f" : "i") + "cmp " + ((leftArg.type == "double") ? "o" : (name != "eq") ? "s" : "") + name + " " + leftArg.toStr() + ", " + rightArg.addr);
return { "i1", *r };
}
@@ -218,7 +218,7 @@ LLVMVisitor::LLVMVisitor(const char* fileName) : outFile(std::ofstream(fileName)
funcs_direct.insert({"if", &LLVMVisitor::f_if});
funcs_direct.insert({"=", &LLVMVisitor::f_eq});
funcs_direct.insert({">", &LLVMVisitor::f_gt});
- funcs_direct.insert({">=", &LLVMVisitor::f_gt});
+ funcs_direct.insert({">=", &LLVMVisitor::f_ge});
funcs_direct.insert({"<", &LLVMVisitor::f_lt});
funcs_direct.insert({"<=", &LLVMVisitor::f_le});
}