mirror of
https://github.com/intel/llvm.git
synced 2026-01-30 22:53:05 +08:00
Revert commit r239481 as it is dependent on reverted llvm commit r239480.
llvm-svn: 239588
This commit is contained in:
@@ -636,7 +636,7 @@ def flat__namespace : Flag<["-"], "flat_namespace">;
|
||||
def flax_vector_conversions : Flag<["-"], "flax-vector-conversions">, Group<f_Group>;
|
||||
def flimited_precision_EQ : Joined<["-"], "flimited-precision=">, Group<f_Group>;
|
||||
def flto_EQ : Joined<["-"], "flto=">, Group<clang_ignored_gcc_optimization_f_Group>;
|
||||
def flto : Flag<["-"], "flto">, Flags<[CC1Option]>, Group<f_Group>;
|
||||
def flto : Flag<["-"], "flto">, Group<f_Group>;
|
||||
def fno_lto : Flag<["-"], "fno-lto">, Group<f_Group>;
|
||||
def fmacro_backtrace_limit_EQ : Joined<["-"], "fmacro-backtrace-limit=">,
|
||||
Group<f_Group>, Flags<[DriverOption, CoreOption]>;
|
||||
|
||||
@@ -67,8 +67,6 @@ CODEGENOPT(InstrumentFunctions , 1, 0) ///< Set when -finstrument-functions is
|
||||
CODEGENOPT(InstrumentForProfiling , 1, 0) ///< Set when -pg is enabled.
|
||||
CODEGENOPT(LessPreciseFPMAD , 1, 0) ///< Enable less precise MAD instructions to
|
||||
///< be generated.
|
||||
CODEGENOPT(PrepareForLTO , 1, 0) ///< Set when -flto is enabled on the
|
||||
///< compile step.
|
||||
CODEGENOPT(MergeAllConstants , 1, 1) ///< Merge identical constants.
|
||||
CODEGENOPT(MergeFunctions , 1, 0) ///< Set when -fmerge-functions is enabled.
|
||||
CODEGENOPT(MSVolatile , 1, 0) ///< Set when /volatile:ms is enabled.
|
||||
|
||||
@@ -286,7 +286,6 @@ void EmitAssemblyHelper::CreatePasses() {
|
||||
PMBuilder.DisableUnitAtATime = !CodeGenOpts.UnitAtATime;
|
||||
PMBuilder.DisableUnrollLoops = !CodeGenOpts.UnrollLoops;
|
||||
PMBuilder.MergeFunctions = CodeGenOpts.MergeFunctions;
|
||||
PMBuilder.PrepareForLTO = CodeGenOpts.PrepareForLTO;
|
||||
PMBuilder.RerollLoops = CodeGenOpts.RerollLoops;
|
||||
|
||||
PMBuilder.addExtension(PassManagerBuilder::EP_EarlyAsPossible,
|
||||
|
||||
@@ -2834,10 +2834,6 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
assert((isa<CompileJobAction>(JA) || isa<BackendJobAction>(JA)) &&
|
||||
"Invalid action for clang tool.");
|
||||
|
||||
if (JA.getType() == types::TY_LTO_IR ||
|
||||
JA.getType() == types::TY_LTO_BC) {
|
||||
CmdArgs.push_back("-flto");
|
||||
}
|
||||
if (JA.getType() == types::TY_Nothing) {
|
||||
CmdArgs.push_back("-fsyntax-only");
|
||||
} else if (JA.getType() == types::TY_LLVM_IR ||
|
||||
|
||||
@@ -485,8 +485,6 @@ static bool ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK,
|
||||
|
||||
Opts.MergeFunctions = Args.hasArg(OPT_fmerge_functions);
|
||||
|
||||
Opts.PrepareForLTO = Args.hasArg(OPT_flto);
|
||||
|
||||
Opts.MSVolatile = Args.hasArg(OPT_fms_volatile);
|
||||
|
||||
Opts.VectorizeBB = Args.hasArg(OPT_vectorize_slp_aggressive);
|
||||
|
||||
@@ -1,18 +1,12 @@
|
||||
// RUN: %clang_cc1 -emit-llvm -o - -triple x86_64-apple-darwin10 %s | FileCheck %s
|
||||
// RUN: %clang_cc1 -O2 -fno-inline -emit-llvm -o - -triple x86_64-apple-darwin10 %s | FileCheck %s
|
||||
// RUN: %clang_cc1 -flto -O2 -fno-inline -emit-llvm -o - -triple x86_64-apple-darwin10 %s | FileCheck %s -check-prefix=LTO
|
||||
|
||||
// Ensure that we don't emit available_externally functions at -O0.
|
||||
// Also should not emit them at -O2, unless -flto is present in which case
|
||||
// we should preserve them for link-time inlining decisions.
|
||||
int x;
|
||||
|
||||
inline void f0(int y) { x = y; }
|
||||
|
||||
// CHECK-LABEL: define void @test()
|
||||
// CHECK: declare void @f0(i32)
|
||||
// LTO-LABEL: define void @test()
|
||||
// LTO: define available_externally void @f0
|
||||
void test() {
|
||||
f0(17);
|
||||
}
|
||||
@@ -25,13 +19,9 @@ inline int __attribute__((always_inline)) f1(int x) {
|
||||
}
|
||||
|
||||
// CHECK: @test1
|
||||
// LTO: @test1
|
||||
int test1(int x) {
|
||||
// CHECK: br i1
|
||||
// CHECK-NOT: call {{.*}} @f1
|
||||
// CHECK: ret i32
|
||||
// LTO: br i1
|
||||
// LTO-NOT: call {{.*}} @f1
|
||||
// LTO: ret i32
|
||||
return f1(x);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user