[llvm] r284545 - Using branch probability to guide critical edge splitting.

Tim Northover via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 18 17:40:06 PDT 2016


Hi Dehao,

This seems to have broken one of our bots.

On 18 October 2016 at 16:24, Dehao Chen via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> +  if (MBPI->getEdgeProbability(From, To) <=
> +      BranchProbability(SplitEdgeProbabilityThreshold, 100))
> +    return true;

This test here gets called when To is not a successor of From (I
think) and asserts. I can reproduce the assertion with the following
commands:

LLVMBUILD=$HOME/llvm/build
LLVMSRC=$HOME/llvm/llvm
"bin/clang" "-cc1" "-triple" "i386-apple-macosx10.12.0" "-emit-obj"
"-disable-free" "-main-file-name" "gtest-all.cc" "-mrelocation-model"
"pic" "-pic-level" "2" "-mthread-model" "posix" "-mdisable-fp-elim"
"-masm-verbose" "-target-cpu" "penryn" "-target-linker-version" "274"
"-dwarf-column-info" "-debug-info-kind=line-tables-only"
"-dwarf-version=4" "-debugger-tuning=lldb" "-coverage-notes-file"
"$LLVMBUILD/gtest-all.cc.i386.gcno" "-resource-dir"
"$LLVMBUILD/bin/../lib/clang/4.0.0" "-isysroot"
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk"
"-D" "GTEST_NO_LLVM_RAW_OSTREAM=1" "-D" "GTEST_HAS_RTTI=0" "-I"
"$LLVMSRC/utils/unittest/googletest/include" "-I"
"$LLVMSRC/utils/unittest/googletest" "-I"
"$LLVMSRC/projects/compiler-rt/include" "-I"
"$LLVMSRC/projects/compiler-rt/lib" "-I"
"$LLVMSRC/projects/compiler-rt/lib/sanitizer_common" "-stdlib=libc++"
"-O2" "-Wall" "-W" "-Wno-unused-parameter" "-Wwrite-strings"
"-Wcast-qual" "-Wmissing-field-initializers" "-Wno-long-long"
"-Wcovered-switch-default" "-Wnon-virtual-dtor"
"-Wdelete-non-virtual-dtor" "-Werror=date-time" "-Wall"
"-Wno-unused-parameter" "-Wno-unknown-warning-option"
"-Werror=sign-compare" "-Wno-non-virtual-dtor" "-pedantic"
"-std=c++11" "-fdeprecated-macro" "-fdebug-compilation-dir"
"$LLVMBUILD" "-ferror-limit" "19" "-fmessage-length" "364"
"-fvisibility-inlines-hidden" "-stack-protector" "1" "-fblocks"
"-fno-rtti" "-fobjc-runtime=macosx-fragile-10.12.0"
"-fobjc-subscripting-legacy-runtime"
"-fencode-extended-block-signature" "-fcxx-exceptions" "-fexceptions"
"-fmax-type-align=16" "-fdiagnostics-show-option"
"-fcolor-diagnostics" "-vectorize-loops" "-vectorize-slp" "-o"
"gtest-all.cc.i386.o" "-x" "c++"
"$LLVMSRC/utils/unittest/googletest/src/gtest-all.cc"

I've also uploaded a copy of the preprocessed source in case you don't
have OS X handy: https://reviews.llvm.org/F2507287

Could you take a look?

Cheers.

Tim.


More information about the llvm-commits mailing list