[llvm-commits] [llvm-gcc-4.2] r56923 - in /llvm-gcc-4.2/trunk/gcc: c-common.c config/i386/darwin.h config/rs6000/darwin.h llvm-backend.cpp llvm-convert.cpp

Anton Korobeynikov asl at math.spbu.ru
Wed Oct 1 10:38:42 PDT 2008


Author: asl
Date: Wed Oct  1 12:38:40 2008
New Revision: 56923

URL: http://llvm.org/viewvc/llvm-project?rev=56923&view=rev
Log:
Temporary back out r56905, r56903 and r 56883. This restores llvm-gcc build on
non-darwin platforms as well as Fortran and ADA frontends.

Modified:
    llvm-gcc-4.2/trunk/gcc/c-common.c
    llvm-gcc-4.2/trunk/gcc/config/i386/darwin.h
    llvm-gcc-4.2/trunk/gcc/config/rs6000/darwin.h
    llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
    llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp

Modified: llvm-gcc-4.2/trunk/gcc/c-common.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/c-common.c?rev=56923&r1=56922&r2=56923&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/c-common.c (original)
+++ llvm-gcc-4.2/trunk/gcc/c-common.c Wed Oct  1 12:38:40 2008
@@ -302,7 +302,8 @@
 /* Warn about format/argument anomalies in calls to formatted I/O functions
    (*printf, *scanf, strftime, strfmon, etc.).  */
 
-int warn_format;
+/* APPLE LOCAL default to Wformat-security 5764921 */
+int warn_format = 1;
 
 /* Warn about using __null (as NULL in C++) as sentinel.  For code compiled
    with GCC this doesn't matter as __null is guaranteed to have the right

Modified: llvm-gcc-4.2/trunk/gcc/config/i386/darwin.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/darwin.h?rev=56923&r1=56922&r2=56923&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/darwin.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/darwin.h Wed Oct  1 12:38:40 2008
@@ -101,8 +101,6 @@
   %{!mmacosx-version-min=*: %{!miphoneos-version-min=*: %(darwin_cc1_minversion)}} \
   "/* APPLE LOCAL ignore -mcpu=G4 -mcpu=G5 */"\
   %<faltivec %<mno-fused-madd %<mlong-branch %<mlongcall %<mcpu=G4 %<mcpu=G5 \
-  "/* APPLE LOCAL enable format security warnings */"\
-  %{!Wno-format:-Wformat} \
   %{g: %{!fno-eliminate-unused-debug-symbols: -feliminate-unused-debug-symbols }}"
 
 /* APPLE LOCAL AltiVec */

Modified: llvm-gcc-4.2/trunk/gcc/config/rs6000/darwin.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/rs6000/darwin.h?rev=56923&r1=56922&r2=56923&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/rs6000/darwin.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/rs6000/darwin.h Wed Oct  1 12:38:40 2008
@@ -113,8 +113,6 @@
   %{static: %{Zdynamic: %e conflicting code gen style switches are used}}\
   "/* APPLE LOCAL ARM 5683689 */"\
   %{!mmacosx-version-min=*: %{!miphoneos-version-min=*: %(darwin_cc1_minversion)}} \
-  "/* APPLE LOCAL enable format security warnings */"\
-  %{!Wno-format:-Wformat} \
   "/* APPLE LOCAL -fast or -fastf or -fastcp */"\
   %{!mkernel:%{!static:%{!fast:%{!fastf:%{!fastcp:%{!mdynamic-no-pic:-fPIC}}}}}}"
 

Modified: llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp?rev=56923&r1=56922&r2=56923&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp Wed Oct  1 12:38:40 2008
@@ -170,10 +170,8 @@
     for (std::string Opt = getToken(Opts); !Opt.empty(); Opt = getToken(Opts))
       ArgStrings.push_back(Opt);
   }
-
   for (unsigned i = 0, e = ArgStrings.size(); i != e; ++i)
     Args.push_back(ArgStrings[i].c_str());
-
   Args.push_back(0);  // Null terminator.
   
   int pseudo_argc = Args.size()-1;

Modified: llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp?rev=56923&r1=56922&r2=56923&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp Wed Oct  1 12:38:40 2008
@@ -67,7 +67,6 @@
 #include "libfuncs.h"
 #include "tree-flow.h"
 #include "tree-gimple.h"
-#include "c-common.h"
 extern int get_pointer_alignment (tree exp, unsigned int max_align);
 extern enum machine_mode reg_raw_mode[FIRST_PSEUDO_REGISTER];
 }
@@ -1471,15 +1470,9 @@
     ConstantInt::get(Type::Int32Ty, Align)
   };
 
-  if (!flag_no_builtin && !builtin_function_disabled_p("memcpy")) {
-    Intrinsic::ID IID = 
-      (IntPtr == Type::Int32Ty) ? Intrinsic::memcpy_i32 : Intrinsic::memcpy_i64;
-    Builder.CreateCall(Intrinsic::getDeclaration(TheModule, IID), Ops, Ops + 4);
-  } else {
-    Builder.CreateCall(TheModule->getOrInsertFunction("memcpy", SBP, SBP, SBP,
-                                                      IntPtr, (Type*)0),
-                       Ops, Ops + 3);
-  }
+  Intrinsic::ID IID = 
+    (IntPtr == Type::Int32Ty) ? Intrinsic::memcpy_i32 : Intrinsic::memcpy_i64;
+  Builder.CreateCall(Intrinsic::getDeclaration(TheModule, IID), Ops, Ops+4);
 }
 
 void TreeToLLVM::EmitMemMove(Value *DestPtr, Value *SrcPtr, Value *Size, 
@@ -1493,16 +1486,9 @@
     ConstantInt::get(Type::Int32Ty, Align)
   };
 
-  if (!flag_no_builtin && !builtin_function_disabled_p("memmove")) {
-    Intrinsic::ID IID = 
-      (IntPtr == Type::Int32Ty) ?
-        Intrinsic::memmove_i32 : Intrinsic::memmove_i64;
-    Builder.CreateCall(Intrinsic::getDeclaration(TheModule, IID), Ops, Ops + 4);
-  } else {
-    Builder.CreateCall(TheModule->getOrInsertFunction("memmove", SBP, SBP, SBP,
-                                                      IntPtr, (Type*)0),
-                       Ops, Ops + 3);
-  }
+  Intrinsic::ID IID = 
+    (IntPtr == Type::Int32Ty) ? Intrinsic::memmove_i32 : Intrinsic::memmove_i64;
+  Builder.CreateCall(Intrinsic::getDeclaration(TheModule, IID), Ops, Ops+4);
 }
 
 void TreeToLLVM::EmitMemSet(Value *DestPtr, Value *SrcVal, Value *Size, 
@@ -1516,18 +1502,13 @@
     ConstantInt::get(Type::Int32Ty, Align)
   };
 
-  if (!flag_no_builtin && !builtin_function_disabled_p("memset")) {
-    Intrinsic::ID IID = 
-      (IntPtr == Type::Int32Ty) ? Intrinsic::memset_i32 : Intrinsic::memset_i64;
-    Builder.CreateCall(Intrinsic::getDeclaration(TheModule, IID), Ops, Ops + 4);
-  } else {
-    Builder.CreateCall(TheModule->getOrInsertFunction("memset", SBP, SBP,
-                                                      Type::Int8Ty, IntPtr,
-                                                      (Type*)0),
-                       Ops, Ops + 3);
-  }
+  Intrinsic::ID IID = 
+    (IntPtr == Type::Int32Ty) ? Intrinsic::memset_i32 : Intrinsic::memset_i64;
+  
+  Builder.CreateCall(Intrinsic::getDeclaration(TheModule, IID), Ops, Ops+4);
 }
 
+
 // Emits code to do something for a type attribute
 void TreeToLLVM::EmitTypeGcroot(Value *V, tree decl) {
   // GC intrinsics can only be used in functions which specify a collector.
@@ -5058,88 +5039,24 @@
 }
 
 bool TreeToLLVM::EmitBuiltinUnaryOp(Value *InVal, Value *&Result,
-                                    Intrinsic::ID Id) {
+                                       Intrinsic::ID Id) {
   // The intrinsic might be overloaded in which case the argument is of
   // varying type. Make sure that we specify the actual type for "iAny" 
   // by passing it as the 3rd and 4th parameters. This isn't needed for
   // most intrinsics, but is needed for ctpop, cttz, ctlz.
   const Type *Ty = InVal->getType();
-  const char *Name = 0;
-
-#define CASE(ID, NAME)                                          \
-  case Intrinsic::ID:                                           \
-    if (flag_no_builtin || builtin_function_disabled_p(NAME))   \
-      Name = NAME;                                              \
-    break
-
-  if (Ty == Type::DoubleTy) {
-    switch (Id) {
-    default: break;
-    CASE(log,   "log");
-    CASE(log2,  "log2");
-    CASE(log10, "log10");
-    CASE(exp,   "exp");
-    CASE(exp2,  "exp2");
-    }
-  } else if (Ty == Type::FloatTy) {
-    switch (Id) {
-    default: break;
-    CASE(log,   "logf");
-    CASE(log2,  "log2f");
-    CASE(log10, "log10f");
-    CASE(exp,   "expf");
-    CASE(exp2,  "exp2f");
-    }
-  } else {
-    switch (Id) {
-    default: break;
-    CASE(log,   "logl");
-    CASE(log2,  "log2l");
-    CASE(log10, "log10l");
-    CASE(exp,   "expl");
-    CASE(exp2,  "exp2l");
-    }
-  }
-
-#undef CASE
-
-  if (!Name)
-    Result = Builder.CreateCall(Intrinsic::getDeclaration(TheModule, Id,
-                                                          &Ty, 1),
-                                InVal);
-  else
-    Result = Builder.CreateCall(TheModule->getOrInsertFunction(Name, Ty, Ty,
-                                                               NULL),
-                                InVal);
-
+  Result = Builder.CreateCall(Intrinsic::getDeclaration(TheModule, Id, &Ty, 1),
+                              InVal);
   return true;
 }
 
 Value *TreeToLLVM::EmitBuiltinSQRT(tree exp) {
   Value *Amt = Emit(TREE_VALUE(TREE_OPERAND(exp, 1)), 0);
   const Type* Ty = Amt->getType();
-  const char *Name = 0;
-
-  if (Ty == Type::DoubleTy) {
-    if (flag_no_builtin || builtin_function_disabled_p("sqrt"))
-      Name = "sqrt";
-  } else if (Ty == Type::FloatTy) {
-    if (flag_no_builtin || builtin_function_disabled_p("sqrtf"))
-      Name = "sqrtf";
-  } else {
-    if (flag_no_builtin || builtin_function_disabled_p("sqrtl"))
-      Name = "sqrtl";
-  }
-
-  if (!Name)
-    return Builder.CreateCall(Intrinsic::getDeclaration(TheModule, 
-                                                        Intrinsic::sqrt,
-                                                        &Ty, 1),
-                              Amt);
-  else
-    return Builder.CreateCall(TheModule->getOrInsertFunction(Name, Ty, Ty,
-                                                             NULL),
-                              Amt);
+  
+  return Builder.CreateCall(Intrinsic::getDeclaration(TheModule, 
+                                                      Intrinsic::sqrt, &Ty, 1),
+                            Amt);
 }
 
 Value *TreeToLLVM::EmitBuiltinPOWI(tree exp) {
@@ -5155,30 +5072,9 @@
   SmallVector<Value *,2> Args;
   Args.push_back(Val);
   Args.push_back(Pow);
-
-  const char *Name = 0;
-
-  if (Ty == Type::DoubleTy) {
-    if (flag_no_builtin || builtin_function_disabled_p("powi"))
-      Name = "powi";
-  } else if (Ty == Type::FloatTy) {
-    if (flag_no_builtin || builtin_function_disabled_p("powif"))
-      Name = "powif";
-  } else {
-    if (flag_no_builtin || builtin_function_disabled_p("powil"))
-      Name = "powil";
-  }
-
-  if (!Name)
-    return Builder.CreateCall(Intrinsic::getDeclaration(TheModule, 
-                                                        Intrinsic::powi,
-                                                        &Ty, 1),
-                              Args.begin(), Args.end());
-  else
-    return Builder.CreateCall(TheModule->getOrInsertFunction(Name, Ty, Ty,
-                                                             Type::Int32Ty,
-                                                             NULL),
-                              Args.begin(), Args.end());
+  return Builder.CreateCall(Intrinsic::getDeclaration(TheModule, 
+                                                      Intrinsic::powi, &Ty, 1),
+                            Args.begin(), Args.end());
 }
 
 Value *TreeToLLVM::EmitBuiltinPOW(tree exp) {
@@ -5193,29 +5089,9 @@
   SmallVector<Value *,2> Args;
   Args.push_back(Val);
   Args.push_back(Pow);
-
-  const char *Name = 0;
-
-  if (Ty == Type::DoubleTy) {
-    if (flag_no_builtin || builtin_function_disabled_p("pow"))
-      Name = "pow";
-  } else if (Ty == Type::FloatTy) {
-    if (flag_no_builtin || builtin_function_disabled_p("powf"))
-      Name = "powf";
-  } else {
-    if (flag_no_builtin || builtin_function_disabled_p("powl"))
-      Name = "powl";
-  }
-
-  if (!Name)
-    return Builder.CreateCall(Intrinsic::getDeclaration(TheModule, 
-                                                        Intrinsic::pow, &Ty, 1),
-                              Args.begin(), Args.end());
-  else
-    return Builder.CreateCall(TheModule->getOrInsertFunction(Name, Ty, Ty,
-                                                             Type::Int32Ty,
-                                                             NULL),
-                              Args.begin(), Args.end());
+  return Builder.CreateCall(Intrinsic::getDeclaration(TheModule, 
+                                                      Intrinsic::pow, &Ty, 1),
+                            Args.begin(), Args.end());
 }
 
 bool TreeToLLVM::EmitBuiltinConstantP(tree exp, Value *&Result) {





More information about the llvm-commits mailing list