[PATCH] D18576: Initial implementation of optimization bisect

Andy Kaylor via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 31 17:31:34 PDT 2016


andrew.w.kaylor updated this revision to Diff 52315.
andrew.w.kaylor added a comment.

Adding one more unskippable pass (unreachable MBB elimination).  With this change, I am able to run clang against a test file I was using at -O3 with -opt-bisect-limit=0.  Previously the live variable analysis was asserting because of an unreachable block in a machine function that had been added very early by the AddDiscriminators pass (which I believe must not be skipped).


Repository:
  rL LLVM

http://reviews.llvm.org/D18576

Files:
  include/llvm/Analysis/LoopPass.h
  include/llvm/Analysis/RegionPass.h
  include/llvm/Bitcode/BitcodeWriterPass.h
  include/llvm/CodeGen/AsmPrinter.h
  include/llvm/CodeGen/LiveIntervalAnalysis.h
  include/llvm/CodeGen/LiveRegMatrix.h
  include/llvm/CodeGen/LiveStackAnalysis.h
  include/llvm/CodeGen/LiveVariables.h
  include/llvm/CodeGen/MachineFunctionAnalysis.h
  include/llvm/CodeGen/SelectionDAGISel.h
  include/llvm/CodeGen/SlotIndexes.h
  include/llvm/CodeGen/VirtRegMap.h
  include/llvm/IR/IRPrintingPasses.h
  include/llvm/IR/LegacyPassManagers.h
  include/llvm/IR/OptBisect.h
  include/llvm/IR/PassManager.h
  include/llvm/IR/PassManagerInternal.h
  include/llvm/IR/Verifier.h
  include/llvm/Pass.h
  include/llvm/Transforms/IPO/ForceFunctionAttrs.h
  lib/Analysis/CallGraphSCCPass.cpp
  lib/Analysis/LoopPass.cpp
  lib/Analysis/RegionPass.cpp
  lib/CodeGen/DwarfEHPrepare.cpp
  lib/CodeGen/ExpandISelPseudos.cpp
  lib/CodeGen/ExpandPostRAPseudos.cpp
  lib/CodeGen/FuncletLayout.cpp
  lib/CodeGen/GCRootLowering.cpp
  lib/CodeGen/LiveDebugValues.cpp
  lib/CodeGen/LiveDebugVariables.h
  lib/CodeGen/LocalStackSlotAllocation.cpp
  lib/CodeGen/MachineScheduler.cpp
  lib/CodeGen/PHIElimination.cpp
  lib/CodeGen/PrologEpilogInserter.cpp
  lib/CodeGen/RegAllocFast.cpp
  lib/CodeGen/RegAllocGreedy.cpp
  lib/CodeGen/ShadowStackGCLowering.cpp
  lib/CodeGen/SjLjEHPrepare.cpp
  lib/CodeGen/StackColoring.cpp
  lib/CodeGen/StackSlotColoring.cpp
  lib/CodeGen/TwoAddressInstructionPass.cpp
  lib/CodeGen/UnreachableBlockElim.cpp
  lib/CodeGen/VirtRegMap.cpp
  lib/CodeGen/WinEHPrepare.cpp
  lib/IR/CMakeLists.txt
  lib/IR/LegacyPassManager.cpp
  lib/IR/OptBisect.cpp
  lib/IR/Verifier.cpp
  lib/Passes/PassBuilder.cpp
  lib/Target/X86/X86ExpandPseudo.cpp
  lib/Target/X86/X86FloatingPoint.cpp
  lib/Target/X86/X86InstrInfo.cpp
  lib/Target/X86/X86VZeroUpper.cpp
  lib/Transforms/IPO/ForceFunctionAttrs.cpp
  lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
  lib/Transforms/Utils/AddDiscriminators.cpp
  unittests/Analysis/CGSCCPassManagerTest.cpp
  unittests/Analysis/LoopPassManagerTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18576.52315.patch
Type: text/x-patch
Size: 46028 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160401/e55a475f/attachment.bin>


More information about the llvm-commits mailing list