Disclaimer: This is my interpretation of the logic, I am not part of the LLVM team.
, : .
:
int qaq = 666;
int tat = 233;
auto hh = qaq + tat;
auto ii = qaq - tat;
:
; Function Attrs: noinline uwtable
define internal void @__cxx_global_var_init()
%1 = load i32, i32* @qaq, align 4, !dbg !19
%2 = load i32, i32* @tat, align 4, !dbg !20
%3 = add nsw i32 %1, %2, !dbg !21
store i32 %3, i32* @hh, align 4, !dbg !21
ret void, !dbg !20
}
; Function Attrs: noinline uwtable
define internal void @__cxx_global_var_init.1()
%1 = load i32, i32* @qaq, align 4, !dbg !23
%2 = load i32, i32* @tat, align 4, !dbg !24
%3 = sub nsw i32 %1, %2, !dbg !25
store i32 %3, i32* @ii, align 4, !dbg !25
ret void, !dbg !24
}
; Function Attrs: noinline uwtable
define internal void @_GLOBAL__sub_I_example.cpp()
call void @__cxx_global_var_init(), !dbg !28
call void @__cxx_global_var_init.1(), !dbg !29
ret void
}
, , CLANG _GLOBAL__sub_I_example.cpp(). , / .
, , .
: " , ".
:
, , ?
, , .