[llvm-commits] [llvm-gcc-4.2] r129125 - in /llvm-gcc-4.2/trunk/gcc/config/arm: arm.h arm.opt

Evan Cheng evan.cheng at apple.com
Thu Apr 7 23:04:54 PDT 2011


Author: evancheng
Date: Fri Apr  8 01:04:54 2011
New Revision: 129125

URL: http://llvm.org/viewvc/llvm-project?rev=129125&view=rev
Log:
Add -mtrap-function=<name> option which tells arm codegen to emit call to <name> for trap instead of issuing a trap instruction. rdar://9249183.

Modified:
    llvm-gcc-4.2/trunk/gcc/config/arm/arm.h
    llvm-gcc-4.2/trunk/gcc/config/arm/arm.opt

Modified: llvm-gcc-4.2/trunk/gcc/config/arm/arm.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/arm.h?rev=129125&r1=129124&r2=129125&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/arm.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/arm.h Fri Apr  8 01:04:54 2011
@@ -3570,7 +3570,13 @@
   if (flag_mkernel || flag_apple_kext) {               \
     argvec.push_back("-arm-long-calls");               \
     argvec.push_back("-arm-strict-align");             \
+  }                                                    \
+  if (arm_trap_funcname_string) {                      \
+    char *arg = (char*)alloca(strlen(arm_trap_funcname_string) + 16); \
+    sprintf(arg, "-arm-trap-func=%s", arm_trap_funcname_string); \
+    argvec.push_back(arg);                             \
   }
+    
 
 /* Doing struct copy by partial-word loads and stores is not a good idea on ARM. */
 #define TARGET_LLVM_MIN_BYTES_COPY_BY_MEMCPY 4

Modified: llvm-gcc-4.2/trunk/gcc/config/arm/arm.opt
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/arm.opt?rev=129125&r1=129124&r2=129125&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/arm.opt (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/arm.opt Fri Apr  8 01:04:54 2011
@@ -185,3 +185,9 @@
 Target Report Mask(NEON_VECTORIZE_QUAD)
 Use Neon quad-word (rather than double-word) registers for vectorization
 ; APPLE LOCAL end v7 support. Merge from Codesourcery
+
+; APPLE LOCAL begin 9249183
+mtrap-function=
+Target RejectNegative Joined Var(arm_trap_funcname_string)
+Emit a call to the specified 'trap' function rather than a trap instruction
+; APPLE LOCAL end 9249183





More information about the llvm-commits mailing list