LLVM 獲取Value Type

void llvtype(std::string_view k, Value* v) { std::cout << std::format("{}:{}:{}", k, (int)v->getType()->getTypeID(), v->getName().str() ) << "\n"; } ... Function* Add1F = Function::Create(funcType, Function::ExternalLinkage, "add1", m.get()); BasicBlock* BB = BasicBlock::Create(*ctx, "entry", Add1F); b.SetInsertPoint(BB); llvtype("ii", b.getInt1(1)); llvtype("i32", b.getInt32(1)); llvtype("i64", b.getInt64(1)); llvtype("f32", ConstantFP::get(*ctx, APFloat((float)1.2))); llvtype("f64", ConstantFP::get(*ctx, APFloat(1.2))); llvtype("fun", Add1F); llvtype("label", BB);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章