From 82ca21468e7fe6a5112961ba86434579bed3f204 Mon Sep 17 00:00:00 2001 From: dim Date: Mon, 24 Nov 2014 18:43:37 +0000 Subject: Cleanup patch set, and update README.TXT. Add three new patches. --- .../patches/patch-11-llvm-r222562-loop-rotate.diff | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 contrib/llvm/patches/patch-11-llvm-r222562-loop-rotate.diff (limited to 'contrib/llvm/patches/patch-11-llvm-r222562-loop-rotate.diff') diff --git a/contrib/llvm/patches/patch-11-llvm-r222562-loop-rotate.diff b/contrib/llvm/patches/patch-11-llvm-r222562-loop-rotate.diff new file mode 100644 index 0000000..96a3948 --- /dev/null +++ b/contrib/llvm/patches/patch-11-llvm-r222562-loop-rotate.diff @@ -0,0 +1,22 @@ +Pull in r222562 from upstream llvm trunk (by Roman Divacky): + + Disable header duplication at -Oz in loop-rotate pass. + +This helps to minimize the size of boot2. + +Introduced here: http://svnweb.freebsd.org/changeset/base/274968 + +Index: lib/Transforms/IPO/PassManagerBuilder.cpp +=================================================================== +--- lib/Transforms/IPO/PassManagerBuilder.cpp (revision 11) ++++ lib/Transforms/IPO/PassManagerBuilder.cpp (revision 12) +@@ -195,7 +195,8 @@ void PassManagerBuilder::populateModulePassManager + MPM.add(createTailCallEliminationPass()); // Eliminate tail calls + MPM.add(createCFGSimplificationPass()); // Merge & remove BBs + MPM.add(createReassociatePass()); // Reassociate expressions +- MPM.add(createLoopRotatePass()); // Rotate Loop ++ // Rotate Loop - disable header duplication at -Oz ++ MPM.add(createLoopRotatePass(SizeLevel == 2 ? 0 : -1)); + MPM.add(createLICMPass()); // Hoist loop invariants + MPM.add(createLoopUnswitchPass(SizeLevel || OptLevel < 3)); + MPM.add(createInstructionCombiningPass()); -- cgit v1.1