Index: llvm/trunk/include/llvm-c/TargetMachine.h =================================================================== --- llvm/trunk/include/llvm-c/TargetMachine.h +++ llvm/trunk/include/llvm-c/TargetMachine.h @@ -137,6 +137,10 @@ disposed with LLVMDisposeMessage. */ char* LLVMGetDefaultTargetTriple(void); +/** Normalize a target triple. The result needs to be disposed with + LLVMDisposeMessage. */ +char* LLVMNormalizeTargetTriple(const char* triple); + /** Get the host CPU as a string. The result needs to be disposed with LLVMDisposeMessage. */ char* LLVMGetHostCPUName(void); Index: llvm/trunk/lib/Target/TargetMachineC.cpp =================================================================== --- llvm/trunk/lib/Target/TargetMachineC.cpp +++ llvm/trunk/lib/Target/TargetMachineC.cpp @@ -238,6 +238,10 @@ return strdup(sys::getDefaultTargetTriple().c_str()); } +char *LLVMNormalizeTargetTriple(const char* triple) { + return strdup(Triple::normalize(StringRef(triple)).c_str()); +} + char *LLVMGetHostCPUName(void) { return strdup(sys::getHostCPUName().data()); }