Merge 81342 from mainline.
Propagate code model setting.
llvm-svn: 81413
diff --git a/llvm-gcc-4.2/gcc/config/i386/i386.h b/llvm-gcc-4.2/gcc/config/i386/i386.h
index ffedd0f..b86dfd9 100644
--- a/llvm-gcc-4.2/gcc/config/i386/i386.h
+++ b/llvm-gcc-4.2/gcc/config/i386/i386.h
@@ -3928,6 +3928,27 @@
distinguish them. */
#define LLVM_DO_NOT_USE_REG_NAMES
+/* Propagate code model setting to backend */
+#define LLVM_SET_MACHINE_OPTIONS(argvec) \
+ switch (ix86_cmodel) { \
+ case CM_SMALL: \
+ case CM_SMALL_PIC: \
+ argvec.push_back("--code-model=small"); \
+ break; \
+ case CM_KERNEL: \
+ argvec.push_back("--code-model=kernel"); \
+ break; \
+ case CM_MEDIUM: \
+ case CM_MEDIUM_PIC: \
+ argvec.push_back("--code-model=medium"); \
+ break; \
+ case CM_32: \
+ argvec.push_back("--code-model=default"); \
+ break; \
+ default: \
+ sorry ("code model %<%s%> not supported yet", ix86_cmodel_string); \
+ }
+
#endif /* ENABLE_LLVM */
/* LLVM LOCAL end */