llvm-6502/test/Bindings/llvm-c/functions.ll
Anders Waldenborg 2bef1a6b25 Add llvm-c-test tool for testing llvm-c
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
2013-10-23 08:10:20 +00:00

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