[llvm] r253451 - [LTO] Add an early run of functionattrs
James Molloy via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 18 03:24:43 PST 2015
Author: jamesm
Date: Wed Nov 18 05:24:42 2015
New Revision: 253451
URL: http://llvm.org/viewvc/llvm-project?rev=253451&view=rev
Log:
[LTO] Add an early run of functionattrs
Because we internalize early, we can potentially mark a bunch of functions as norecurse. Do this before globalopt.
Modified:
llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp
llvm/trunk/test/LTO/X86/diagnostic-handler-remarks.ll
Modified: llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp?rev=253451&r1=253450&r2=253451&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp (original)
+++ llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp Wed Nov 18 05:24:42 2015
@@ -482,6 +482,7 @@ void PassManagerBuilder::addLTOOptimizat
PM.add(createIPSCCPPass());
// Now that we internalized some globals, see if we can hack on them!
+ PM.add(createFunctionAttrsPass()); // Add norecurse if possible.
PM.add(createGlobalOptimizerPass());
// Linking modules together can lead to duplicated global constants, only
Modified: llvm/trunk/test/LTO/X86/diagnostic-handler-remarks.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/LTO/X86/diagnostic-handler-remarks.ll?rev=253451&r1=253450&r2=253451&view=diff
==============================================================================
--- llvm/trunk/test/LTO/X86/diagnostic-handler-remarks.ll (original)
+++ llvm/trunk/test/LTO/X86/diagnostic-handler-remarks.ll Wed Nov 18 05:24:42 2015
@@ -32,8 +32,11 @@
target triple = "x86_64-apple-darwin"
+declare i32 @bar()
+
define i32 @foo() {
- ret i32 7
+ %a = call i32 @bar()
+ ret i32 %a
}
define i32 @main() {
More information about the llvm-commits
mailing list