mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-16 11:30:51 +00:00
2bef1a6b25
This provides rudimentary testing of the llvm-c api. The following commands are implemented: * --module-dump Read bytecode from stdin - print ir * --module-list-functions Read bytecode from stdin - list summary of functions * --module-list-globals Read bytecode from stdin - list summary of globals * --targets-list List available targets * --object-list-sections Read object file from stdin - list sections * --object-list-symbols Read object file from stdin - list symbols (like nm) * --disassemble Read lines of triple, hex ascii machine code from stdin - print disassembly * --calc Read lines of name, rpn from stdin - print generated module ir Differential-Revision: http://llvm-reviews.chandlerc.com/D1776 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193233 91177308-0d34-0410-b5e6-96231b3b80d8
32 lines
421 B
LLVM
32 lines
421 B
LLVM
; RUN: llvm-as < %s | llvm-c-test --module-list-functions | FileCheck %s
|
|
|
|
define i32 @X() {
|
|
entry:
|
|
br label %l1
|
|
|
|
l1:
|
|
br label %l2
|
|
|
|
l2:
|
|
br label %l3
|
|
|
|
l3:
|
|
ret i32 1234
|
|
}
|
|
;CHECK: FunctionDefinition: X [#bb=4]
|
|
|
|
|
|
define i32 @Z(i32 %a) {
|
|
entry:
|
|
%0 = tail call i32 @Y(i32 %a)
|
|
ret i32 %0
|
|
}
|
|
|
|
;CHECK: FunctionDefinition: Z [#bb=1]
|
|
;CHECK: calls: Y
|
|
;CHECK: #isn: 2
|
|
|
|
declare i32 @Y(i32)
|
|
;CHECK: FunctionDeclaration: Y
|
|
|