summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/include
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2012-10-10 21:37:21 +0000
committerdim <dim@FreeBSD.org>2012-10-10 21:37:21 +0000
commit181fd8e457cf876d0944c1736fafce944d874bd9 (patch)
treeed6249b71b01a87646940c026cac6d822982113f /contrib/llvm/include
parent38198ecb8af50337c780a861dae2d99add15e451 (diff)
downloadFreeBSD-src-181fd8e457cf876d0944c1736fafce944d874bd9.zip
FreeBSD-src-181fd8e457cf876d0944c1736fafce944d874bd9.tar.gz
Pull in r164132 from upstream llvm trunk:
When creating MCAsmBackend pass the CPU string as well. In X86AsmBackend store this and use it to not emit long nops when the CPU is geode which doesnt support them. Fixes PR11212. Pull in r164133 from upstream clang trunk: Follow up on llvm r164132. This should prevent illegal instructions when building world on Geode CPUs (e.g. Soekris). MFC after: 3 days
Diffstat (limited to 'contrib/llvm/include')
-rw-r--r--contrib/llvm/include/llvm/Support/TargetRegistry.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/contrib/llvm/include/llvm/Support/TargetRegistry.h b/contrib/llvm/include/llvm/Support/TargetRegistry.h
index c0be8f1..8253c4c 100644
--- a/contrib/llvm/include/llvm/Support/TargetRegistry.h
+++ b/contrib/llvm/include/llvm/Support/TargetRegistry.h
@@ -93,7 +93,9 @@ namespace llvm {
CodeGenOpt::Level OL);
typedef AsmPrinter *(*AsmPrinterCtorTy)(TargetMachine &TM,
MCStreamer &Streamer);
- typedef MCAsmBackend *(*MCAsmBackendCtorTy)(const Target &T, StringRef TT);
+ typedef MCAsmBackend *(*MCAsmBackendCtorTy)(const Target &T,
+ StringRef TT,
+ StringRef CPU);
typedef MCTargetAsmLexer *(*MCAsmLexerCtorTy)(const Target &T,
const MCRegisterInfo &MRI,
const MCAsmInfo &MAI);
@@ -353,10 +355,10 @@ namespace llvm {
///
/// \arg Triple - The target triple string.
/// \arg Backend - The target independent assembler object.
- MCAsmBackend *createMCAsmBackend(StringRef Triple) const {
+ MCAsmBackend *createMCAsmBackend(StringRef Triple, StringRef CPU) const {
if (!MCAsmBackendCtorFn)
return 0;
- return MCAsmBackendCtorFn(*this, Triple);
+ return MCAsmBackendCtorFn(*this, Triple, CPU);
}
/// createMCAsmLexer - Create a target specific assembly lexer.
@@ -1063,8 +1065,9 @@ namespace llvm {
}
private:
- static MCAsmBackend *Allocator(const Target &T, StringRef Triple) {
- return new MCAsmBackendImpl(T, Triple);
+ static MCAsmBackend *Allocator(const Target &T, StringRef Triple,
+ StringRef CPU) {
+ return new MCAsmBackendImpl(T, Triple, CPU);
}
};
OpenPOWER on IntegriCloud