Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,25 @@
|
|||
; This is not strictly LLVM, as it uses the C library function "printf".
|
||||
; LLVM does not provide a way to print values, so the alternative would be
|
||||
; to just load the string into memory, and that would be boring.
|
||||
|
||||
; Additional comments have been inserted, as well as changes made from the output produced by clang such as putting more meaningful labels for the jumps
|
||||
|
||||
%struct._iobuf = type { i8* }
|
||||
|
||||
$"message" = comdat any
|
||||
@"message" = linkonce_odr unnamed_addr constant [17 x i8] c"Goodbye, world!\0A\00", comdat, align 1
|
||||
|
||||
;-- For discovering stderr (io pipe 2)
|
||||
declare %struct._iobuf* @__acrt_iob_func(i32)
|
||||
|
||||
;--- The declaration for the external C fprintf function.
|
||||
declare i32 @fprintf(%struct._iobuf*, i8*, ...)
|
||||
|
||||
define i32 @main() {
|
||||
;-- load stderr
|
||||
%1 = call %struct._iobuf* @__acrt_iob_func(i32 2)
|
||||
;-- print the message to stderr with fprintf
|
||||
%2 = call i32 (%struct._iobuf*, i8*, ...) @fprintf(%struct._iobuf* %1, i8* getelementptr inbounds ([17 x i8], [17 x i8]* @"message", i32 0, i32 0))
|
||||
;-- exit
|
||||
ret i32 0
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue