[PATCH] D16083: [bugpoint] Teach bugpoint to reduce MDNodes

Keno Fischer via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 13 14:28:27 PST 2016


loladiro updated this revision to Diff 44792.
loladiro added a comment.
Herald added a subscriber: dsanders.

Add two debuginfo specific passes to speed convergence of the reduction:

- Canonicalize all DIFiles into a single node
- Resolve All type references by string into explicit references

These two passes work around the two most commonly encountered verifier
failures when nulling out nodes, significantly speeding up the
convergence of the MD reducer (down to seconds from several minutes
on an LTO build of clang).


http://reviews.llvm.org/D16083

Files:
  include/llvm/Transforms/Utils/Cloning.h
  lib/CodeGen/StackColoring.cpp
  lib/ExecutionEngine/Orc/IndirectionUtils.cpp
  lib/IR/Metadata.cpp
  lib/IR/Verifier.cpp
  lib/Target/AMDGPU/AMDGPUOpenCLImageTypeLoweringPass.cpp
  lib/Transforms/Utils/CloneFunction.cpp
  lib/Transforms/Utils/CloneModule.cpp
  test/BugPoint/metadata.ll
  test/BugPoint/named-md.ll
  test/CodeGen/ARM/2010-08-04-StackVariable.ll
  test/CodeGen/MIR/X86/invalid-metadata-node-type.mir
  test/CodeGen/MIR/X86/stack-object-debug-info.mir
  test/CodeGen/X86/2012-11-30-regpres-dbg.ll
  test/CodeGen/X86/MachineSink-DbgValue.ll
  test/CodeGen/X86/dbg-changes-codegen-branch-folding.ll
  test/CodeGen/X86/fpstack-debuginstr-kill.ll
  test/CodeGen/X86/misched-code-difference-with-debug.ll
  test/DebugInfo/AArch64/frameindices.ll
  test/DebugInfo/Generic/2010-03-24-MemberFn.ll
  test/DebugInfo/Generic/2010-04-06-NestedFnDbgInfo.ll
  test/DebugInfo/Generic/2010-05-03-DisableFramePtr.ll
  test/DebugInfo/Generic/2010-05-03-OriginDIE.ll
  test/DebugInfo/Generic/incorrect-variable-debugloc.ll
  test/DebugInfo/Generic/incorrect-variable-debugloc1.ll
  test/DebugInfo/Generic/restrict.ll
  test/DebugInfo/Generic/tu-composite.ll
  test/DebugInfo/Generic/two-cus-from-same-file.ll
  test/DebugInfo/Generic/varargs.ll
  test/DebugInfo/Mips/dsr-non-fixed-objects.ll
  test/DebugInfo/X86/bbjoin.ll
  test/DebugInfo/X86/dbg-value-dag-combine.ll
  test/DebugInfo/X86/dbg-value-isel.ll
  test/DebugInfo/X86/dbg-value-terminator.ll
  test/DebugInfo/X86/elf-names.ll
  test/DebugInfo/X86/nodebug_with_debug_loc.ll
  test/DebugInfo/X86/nophysreg.ll
  test/DebugInfo/X86/rvalue-ref.ll
  test/DebugInfo/X86/sret.ll
  test/Linker/Inputs/type-unique-simple2-a.ll
  test/Linker/Inputs/type-unique-simple2-b.ll
  test/Linker/type-unique-type-array-a.ll
  test/Linker/type-unique-type-array-b.ll
  test/Transforms/CodeGenPrepare/X86/catchpad-phi-cast.ll
  test/Transforms/DeadStoreElimination/inst-limits.ll
  test/Transforms/SLPVectorizer/X86/debug_info.ll
  tools/bugpoint-passes/TestPasses.cpp
  tools/bugpoint/CrashDebugger.cpp
  tools/bugpoint/ListReducer.h
  unittests/Transforms/Utils/Cloning.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16083.44792.patch
Type: text/x-patch
Size: 104693 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160113/79697d6c/attachment-0001.bin>


More information about the llvm-commits mailing list