[PATCH] D28409: Use CodegenOpts::less when creating a TargetMachine for clang `-O1`
Mehdi AMINI via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 6 12:48:10 PST 2017
mehdi_amini created this revision.
mehdi_amini added reviewers: echristo, chandlerc.
mehdi_amini added a subscriber: cfe-commits.
Clang was initializing the TargetMachine with CodeGenOpt::Default
for https://reviews.llvm.org/owners/package/1/. This change is aligning it on llc:
-O0: OptLevel = CodeGenOpt::None
-O1: OptLevel = CodeGenOpt::Less
-O2 -Os -Oz: OptLevel = CodeGenOpt::Default
-O3: OptLevel = CodeGenOpt::Aggressive
https://reviews.llvm.org/D28409
Files:
clang/lib/CodeGen/BackendUtil.cpp
Index: clang/lib/CodeGen/BackendUtil.cpp
===================================================================
--- clang/lib/CodeGen/BackendUtil.cpp
+++ clang/lib/CodeGen/BackendUtil.cpp
@@ -514,11 +514,14 @@
.Case("dynamic-no-pic", llvm::Reloc::DynamicNoPIC);
assert(RM.hasValue() && "invalid PIC model!");
- CodeGenOpt::Level OptLevel = CodeGenOpt::Default;
+ CodeGenOpt::Level OptLevel;
switch (CodeGenOpts.OptimizationLevel) {
- default: break;
- case 0: OptLevel = CodeGenOpt::None; break;
- case 3: OptLevel = CodeGenOpt::Aggressive; break;
+ default:
+ llvm_unreachable("Invalid optimization level!");
+ case 0: OptLevel = CodeGenOpt::None; break;
+ case 1: OptLevel = CodeGenOpt::Less; break;
+ case 2: OptLevel = CodeGenOpt::Default; break; // O2/Os/Oz
+ case 3: OptLevel = CodeGenOpt::Aggressive; break;
}
llvm::TargetOptions Options;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28409.83403.patch
Type: text/x-patch
Size: 896 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170106/64142164/attachment.bin>
More information about the cfe-commits
mailing list