首页 > 其他 > 详细

LLVM 获取Value Type

时间:2021-06-08 20:34:50      阅读:22      评论:0      收藏:0      [点我收藏+]
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);

LLVM 获取Value Type

原文:https://www.cnblogs.com/ajanuw/p/14863965.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!