小编Rat*_*esh的帖子

了解 LLVM IR 中的位广播

我试图理解从 C++ 程序生成的 LLVM IR

int add(int *x);
int func()
{
        int T;
        T=25;
        return add(&T);    
}
Run Code Online (Sandbox Code Playgroud)

生成的IR为:

define i32 @_Z4funcv() local_unnamed_addr #0 {
entry:
  %T = alloca i32, align 4
  %0 = bitcast i32* %T to i8*
  call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %0) #3
  store i32 25, i32* %T, align 4, !tbaa !2
  %call = call i32 @_Z3addPi(i32* nonnull %T)
  call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %0) #3
  ret i32 %call
}
Run Code Online (Sandbox Code Playgroud)

我不明白这一行%0 = bitcast i32* %T …

llvm llvm-ir

6
推荐指数
1
解决办法
4785
查看次数

标签 统计

llvm ×1

llvm-ir ×1