Remove some unused code
This commit is contained in:
parent
fa8c4b0e74
commit
e797cab50f
@ -54,23 +54,6 @@ namespace types {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
llvm::Value* Type::add(codegen::Builder&, llvm::Value*, llvm::Value*) {
|
|
||||||
throw std::runtime_error("Invalid operation for this type");
|
|
||||||
}
|
|
||||||
|
|
||||||
llvm::Value* Type::sub(codegen::Builder&, llvm::Value*, llvm::Value*) {
|
|
||||||
throw std::runtime_error("Invalid operation for this type");
|
|
||||||
}
|
|
||||||
|
|
||||||
llvm::Value* Type::lt(codegen::Builder&, llvm::Value*, llvm::Value*) {
|
|
||||||
throw std::runtime_error("Invalid operation for this type");
|
|
||||||
}
|
|
||||||
|
|
||||||
llvm::Value* Type::gt(codegen::Builder&, llvm::Value*, llvm::Value*) {
|
|
||||||
throw std::runtime_error("Invalid operation for this type");
|
|
||||||
}
|
|
||||||
|
|
||||||
std::optional<std::shared_ptr<Type>> Type::return_type() {
|
std::optional<std::shared_ptr<Type>> Type::return_type() {
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
@ -84,50 +67,6 @@ namespace types {
|
|||||||
return std::pair(ptr, self);
|
return std::pair(ptr, self);
|
||||||
}
|
}
|
||||||
|
|
||||||
llvm::Value* FundamentalType::add(codegen::Builder& builder, llvm::Value* lhs, llvm::Value* rhs) {
|
|
||||||
switch (this->m_ty) {
|
|
||||||
case FundamentalTypeKind::Int:
|
|
||||||
case FundamentalTypeKind::Bool:
|
|
||||||
case FundamentalTypeKind::Char:
|
|
||||||
return builder.builder->CreateAdd(lhs, rhs, "add");
|
|
||||||
default:
|
|
||||||
throw std::runtime_error("Invalid type for add");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
llvm::Value* FundamentalType::sub(codegen::Builder& builder, llvm::Value* lhs, llvm::Value* rhs) {
|
|
||||||
switch (this->m_ty) {
|
|
||||||
case FundamentalTypeKind::Int:
|
|
||||||
case FundamentalTypeKind::Bool:
|
|
||||||
case FundamentalTypeKind::Char:
|
|
||||||
return builder.builder->CreateSub(lhs, rhs, "sub");
|
|
||||||
default:
|
|
||||||
throw std::runtime_error("Invalid type");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
llvm::Value* FundamentalType::lt(codegen::Builder& builder, llvm::Value* lhs, llvm::Value* rhs) {
|
|
||||||
switch (this->m_ty) {
|
|
||||||
case FundamentalTypeKind::Int:
|
|
||||||
case FundamentalTypeKind::Bool:
|
|
||||||
case FundamentalTypeKind::Char:
|
|
||||||
return builder.builder->CreateCmp(llvm::CmpInst::Predicate::ICMP_SLT, lhs, rhs, "cmp");
|
|
||||||
default:
|
|
||||||
throw std::runtime_error("Invalid type");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
llvm::Value* FundamentalType::gt(codegen::Builder& builder, llvm::Value* lhs, llvm::Value* rhs) {
|
|
||||||
switch (this->m_ty) {
|
|
||||||
case FundamentalTypeKind::Int:
|
|
||||||
case FundamentalTypeKind::Bool:
|
|
||||||
case FundamentalTypeKind::Char:
|
|
||||||
return builder.builder->CreateCmp(llvm::CmpInst::Predicate::ICMP_SGT, lhs, rhs);
|
|
||||||
default:
|
|
||||||
throw std::runtime_error("Invalid type");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool FundamentalType::is_signed() {
|
bool FundamentalType::is_signed() {
|
||||||
switch (this->m_ty) {
|
switch (this->m_ty) {
|
||||||
case FundamentalTypeKind::Int:
|
case FundamentalTypeKind::Int:
|
||||||
|
|||||||
@ -31,10 +31,6 @@ namespace types {
|
|||||||
virtual llvm::Type* codegen(codegen::Builder& builder) = 0;
|
virtual llvm::Type* codegen(codegen::Builder& builder) = 0;
|
||||||
virtual std::pair<llvm::Value*, std::shared_ptr<Type>> load(codegen::Builder& builder, llvm::Value* ptr) = 0;
|
virtual std::pair<llvm::Value*, std::shared_ptr<Type>> load(codegen::Builder& builder, llvm::Value* ptr) = 0;
|
||||||
virtual std::optional<std::shared_ptr<Type>> return_type();
|
virtual std::optional<std::shared_ptr<Type>> return_type();
|
||||||
virtual llvm::Value* add(codegen::Builder& builder, llvm::Value* lhs, llvm::Value* rhs);
|
|
||||||
virtual llvm::Value* sub(codegen::Builder& builder, llvm::Value* lhs, llvm::Value* rhs);
|
|
||||||
virtual llvm::Value* lt(codegen::Builder& builder, llvm::Value* lhs, llvm::Value* rhs);
|
|
||||||
virtual llvm::Value* gt(codegen::Builder& builder, llvm::Value* lhs, llvm::Value* rhs);
|
|
||||||
virtual bool is_signed();
|
virtual bool is_signed();
|
||||||
virtual uint32_t size() = 0;
|
virtual uint32_t size() = 0;
|
||||||
};
|
};
|
||||||
@ -47,10 +43,6 @@ namespace types {
|
|||||||
virtual std::string formatted() override;
|
virtual std::string formatted() override;
|
||||||
virtual llvm::Type* codegen(codegen::Builder& builder) override;
|
virtual llvm::Type* codegen(codegen::Builder& builder) override;
|
||||||
virtual std::pair<llvm::Value*, std::shared_ptr<Type>> load(codegen::Builder& builder, llvm::Value* ptr) override;
|
virtual std::pair<llvm::Value*, std::shared_ptr<Type>> load(codegen::Builder& builder, llvm::Value* ptr) override;
|
||||||
virtual llvm::Value* add(codegen::Builder& builder, llvm::Value* lhs, llvm::Value* rhs) override;
|
|
||||||
virtual llvm::Value* sub(codegen::Builder& builder, llvm::Value* lhs, llvm::Value* rhs) override;
|
|
||||||
virtual llvm::Value* lt(codegen::Builder& builder, llvm::Value* lhs, llvm::Value* rhs) override;
|
|
||||||
virtual llvm::Value* gt(codegen::Builder& builder, llvm::Value* lhs, llvm::Value* rhs) override;
|
|
||||||
virtual bool is_signed() override;
|
virtual bool is_signed() override;
|
||||||
virtual uint32_t size() override;
|
virtual uint32_t size() override;
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user