55 lines
2.8 KiB
LLVM
55 lines
2.8 KiB
LLVM
|
; ModuleID = 'a.cpp'
|
||
|
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
||
|
target triple = "x86_64-pc-linux-gnu"
|
||
|
|
||
|
%"class.std::ios_base::Init" = type { i8 }
|
||
|
|
||
|
@_ZStL8__ioinit = internal global %"class.std::ios_base::Init" zeroinitializer, align 1
|
||
|
@__dso_handle = external global i8
|
||
|
@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__sub_I_a.cpp, i8* null }]
|
||
|
|
||
|
; Function Attrs: uwtable
|
||
|
define internal void @__cxx_global_var_init() #0 section ".text.startup" {
|
||
|
call void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"* @_ZStL8__ioinit)
|
||
|
%1 = call i32 @__cxa_atexit(void (i8*)* bitcast (void (%"class.std::ios_base::Init"*)* @_ZNSt8ios_base4InitD1Ev to void (i8*)*), i8* getelementptr inbounds (%"class.std::ios_base::Init", %"class.std::ios_base::Init"* @_ZStL8__ioinit, i32 0, i32 0), i8* @__dso_handle) #2
|
||
|
ret void
|
||
|
}
|
||
|
|
||
|
declare void @_ZNSt8ios_base4InitC1Ev(%"class.std::ios_base::Init"*) #1
|
||
|
|
||
|
declare void @_ZNSt8ios_base4InitD1Ev(%"class.std::ios_base::Init"*) #1
|
||
|
|
||
|
; Function Attrs: nounwind
|
||
|
declare i32 @__cxa_atexit(void (i8*)*, i8*, i8*) #2
|
||
|
|
||
|
; Function Attrs: norecurse nounwind uwtable
|
||
|
define i32 @main() #3 {
|
||
|
%1 = alloca i32, align 4
|
||
|
%a = alloca i32, align 4
|
||
|
%b = alloca i32, align 4
|
||
|
store i32 0, i32* %1, align 4
|
||
|
store i32 12, i32* %a, align 4
|
||
|
%2 = load i32, i32* %a, align 4
|
||
|
%3 = load i32, i32* %a, align 4
|
||
|
%4 = mul nsw i32 %3, 3
|
||
|
%5 = add nsw i32 %2, %4
|
||
|
store i32 %5, i32* %b, align 4
|
||
|
%6 = load i32, i32* %b, align 4
|
||
|
ret i32 %6
|
||
|
}
|
||
|
|
||
|
; Function Attrs: uwtable
|
||
|
define internal void @_GLOBAL__sub_I_a.cpp() #0 section ".text.startup" {
|
||
|
call void @__cxx_global_var_init()
|
||
|
ret void
|
||
|
}
|
||
|
|
||
|
attributes #0 = { uwtable "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" }
|
||
|
attributes #1 = { "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" }
|
||
|
attributes #2 = { nounwind }
|
||
|
attributes #3 = { norecurse nounwind uwtable "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+fxsr,+mmx,+sse,+sse2" "unsafe-fp-math"="false" "use-soft-float"="false" }
|
||
|
|
||
|
!llvm.ident = !{!0}
|
||
|
|
||
|
!0 = !{!"clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)"}
|