Skip to content

Instantly share code, notes, and snippets.

@retep998
Created March 19, 2014 23:45
Show Gist options
  • Save retep998/9654131 to your computer and use it in GitHub Desktop.
Save retep998/9654131 to your computer and use it in GitHub Desktop.
; ModuleID = 'test.rc'
target datalayout = "e-p:32:32-f64:64:64-i64:64:64-f80:32:32-n8:16:32"
target triple = "i686-pc-mingw32"
%tydesc = type { i32, i32, void ({}*, i8*)*, void ({}*, i8*)*, void ({}*, i8*)*, void ({}*, i8*)*, i32, { i8*, i32 } }
%str_slice = type { i8*, i32 }
@_rust_crate_map_toplevel = dllexport global { i32, { i32, i32 }, { i32, i32 }, i32* } { i32 2, { i32, i32 } { i32 ptrtoint ([0 x { { i8*, i32 }, i32 }]* @_rust_mod_map to i32), i32 0 }, { i32, i32 } { i32 ptrtoint ([3 x i32]* @_crate_map_child_vectors to i32), i32 3 }, i32* @_ZN4uvio8new_loop19h11261c8c125a261daK4v0.9E }
@str1252 = internal constant [13 x i8] c"Hello World!\00"
@_ZN19_rust_crate_map_std17_3e5aeb837ae1622e4v0.9E = external global i32
@_ZN21_rust_crate_map_green17_83b1c0e56a670c004v0.9E = external global i32
@_ZN22_rust_crate_map_rustuv17_2ba3695a39793ffa4v0.9E = external global i32
@_ZN4uvio8new_loop19h11261c8c125a261daK4v0.9E = external global i32
@_crate_map_child_vectors = internal global [3 x i32] [i32 ptrtoint (i32* @_ZN19_rust_crate_map_std17_3e5aeb837ae1622e4v0.9E to i32), i32 ptrtoint (i32* @_ZN21_rust_crate_map_green17_83b1c0e56a670c004v0.9E to i32), i32 ptrtoint (i32* @_ZN22_rust_crate_map_rustuv17_2ba3695a39793ffa4v0.9E to i32)]
@_rust_mod_map = internal global [0 x { { i8*, i32 }, i32 }] zeroinitializer
@__rust_crate_map_toplevel = alias { i32, { i32, i32 }, { i32, i32 }, i32* }* @_rust_crate_map_toplevel
; Function Attrs: uwtable
define internal void @_ZN4main19ha1ce1354be215ff1ah4v0.0E({ i32, %tydesc*, i8*, i8*, i8 }* nocapture readnone) unnamed_addr #0 {
"function top level":
%1 = alloca %str_slice, align 8
%2 = getelementptr inbounds %str_slice* %1, i32 0, i32 0
store i8* getelementptr inbounds ([13 x i8]* @str1252, i32 0, i32 0), i8** %2, align 8
%3 = getelementptr inbounds %str_slice* %1, i32 0, i32 1
store i32 12, i32* %3, align 4
call void @_ZN2io5stdio7println19ha7489acedf3d099faQ4v0.9E({ i32, %tydesc*, i8*, i8*, i8 }* undef, %str_slice* %1)
ret void
}
define i32 @main(i32, i8**) unnamed_addr {
top:
%2 = tail call i32 @_ZN10lang_start19h7d0b23277fa0819eaz4v0.9E({ i32, %tydesc*, i8*, i8*, i8 }* null, i8* bitcast (void ({ i32, %tydesc*, i8*, i8*, i8 }*)* @_ZN4main19ha1ce1354be215ff1ah4v0.0E to i8*), i32 %0, i8** %1)
ret i32 %2
}
declare i32 @_ZN10lang_start19h7d0b23277fa0819eaz4v0.9E({ i32, %tydesc*, i8*, i8*, i8 }*, i8*, i32, i8**) unnamed_addr
declare void @_ZN2io5stdio7println19ha7489acedf3d099faQ4v0.9E({ i32, %tydesc*, i8*, i8*, i8 }*, %str_slice*) unnamed_addr
attributes #0 = { uwtable }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment