12bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg/*===-- targets.c - tool for testing libLLVM and llvm-c API ---------------===*\ 22bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg|* *| 32bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg|* The LLVM Compiler Infrastructure *| 42bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg|* *| 52bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg|* This file is distributed under the University of Illinois Open Source *| 62bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg|* License. See LICENSE.TXT for details. *| 72bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg|* *| 82bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg|*===----------------------------------------------------------------------===*| 92bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg|* *| 102bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg|* This file implements the --targets command in llvm-c-test. *| 112bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg|* *| 122bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg\*===----------------------------------------------------------------------===*/ 132bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg 142bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg#include "llvm-c/TargetMachine.h" 152bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg#include <stdio.h> 162bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg 172bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborgint targets_list(void) { 1890fd79a222652126ee7d85f3afb2cd85aa51b2f9NAKAMURA Takumi LLVMTargetRef t; 192bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg LLVMInitializeAllTargetInfos(); 202bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg LLVMInitializeAllTargets(); 212bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg 2290fd79a222652126ee7d85f3afb2cd85aa51b2f9NAKAMURA Takumi for (t = LLVMGetFirstTarget(); t; t = LLVMGetNextTarget(t)) { 232bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg printf("%s", LLVMGetTargetName(t)); 242bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg if (LLVMTargetHasJIT(t)) 252bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg printf(" (+jit)"); 262bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg printf("\n - %s\n", LLVMGetTargetDescription(t)); 272bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg } 282bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg 292bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg return 0; 302bef1a6b25d938210547cd0f5ba4a08abdad2583Anders Waldenborg} 31