xref: /aosp_15_r20/external/llvm/tools/llvm-c-test/targets.c (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker /*===-- targets.c - tool for testing libLLVM and llvm-c API ---------------===*\
2*9880d681SAndroid Build Coastguard Worker |*                                                                            *|
3*9880d681SAndroid Build Coastguard Worker |*                     The LLVM Compiler Infrastructure                       *|
4*9880d681SAndroid Build Coastguard Worker |*                                                                            *|
5*9880d681SAndroid Build Coastguard Worker |* This file is distributed under the University of Illinois Open Source      *|
6*9880d681SAndroid Build Coastguard Worker |* License. See LICENSE.TXT for details.                                      *|
7*9880d681SAndroid Build Coastguard Worker |*                                                                            *|
8*9880d681SAndroid Build Coastguard Worker |*===----------------------------------------------------------------------===*|
9*9880d681SAndroid Build Coastguard Worker |*                                                                            *|
10*9880d681SAndroid Build Coastguard Worker |* This file implements the --targets command in llvm-c-test.                 *|
11*9880d681SAndroid Build Coastguard Worker |*                                                                            *|
12*9880d681SAndroid Build Coastguard Worker \*===----------------------------------------------------------------------===*/
13*9880d681SAndroid Build Coastguard Worker 
14*9880d681SAndroid Build Coastguard Worker #include "llvm-c/TargetMachine.h"
15*9880d681SAndroid Build Coastguard Worker #include <stdio.h>
16*9880d681SAndroid Build Coastguard Worker 
llvm_targets_list(void)17*9880d681SAndroid Build Coastguard Worker int llvm_targets_list(void) {
18*9880d681SAndroid Build Coastguard Worker   LLVMTargetRef t;
19*9880d681SAndroid Build Coastguard Worker   LLVMInitializeAllTargetInfos();
20*9880d681SAndroid Build Coastguard Worker   LLVMInitializeAllTargets();
21*9880d681SAndroid Build Coastguard Worker 
22*9880d681SAndroid Build Coastguard Worker   for (t = LLVMGetFirstTarget(); t; t = LLVMGetNextTarget(t)) {
23*9880d681SAndroid Build Coastguard Worker     printf("%s", LLVMGetTargetName(t));
24*9880d681SAndroid Build Coastguard Worker     if (LLVMTargetHasJIT(t))
25*9880d681SAndroid Build Coastguard Worker       printf(" (+jit)");
26*9880d681SAndroid Build Coastguard Worker     printf("\n - %s\n", LLVMGetTargetDescription(t));
27*9880d681SAndroid Build Coastguard Worker   }
28*9880d681SAndroid Build Coastguard Worker 
29*9880d681SAndroid Build Coastguard Worker   return 0;
30*9880d681SAndroid Build Coastguard Worker }
31