[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