[PATCH] D28152: Cortex-A57 scheduling model for ARM backend (AArch32)

Andrew Zhogin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 30 08:39:56 PST 2017

andrew.zhogin added a comment.

In https://reviews.llvm.org/D28152#660355, @kristof.beyls wrote:

> I'm afraid I still see the same failures for cmake-driven benchmark suites.
>  For non-cmake-driven benchmark suites, I see the following error message at compile time:
>   DefIdx 0 exceeds machine model writes for %R0<def> = tLDRi %R0<kill>, 0, pred:14, pred:%noreg; mem:LD4[@Reg](tbaa=!12)(dereferenceable)
>    (Try with MCSchedModel.CompleteModel set to false)incomplete machine model
>   UNREACHABLE executed at /work/llvm-test/slave2/cross-build/build/llvm/lib/CodeGen/TargetSchedule.cpp:216!

I don't understand - tLDRi must be covered by "tLDR" regexp here:

  def : InstRW<[A57Write_4cyc_1L], (instregex "LDRi12", "LDRBi12",
    "LDRcp", "(t2|t)?LDRConstPool", "LDRLIT_ga_(pcrel|abs)",
    "PICLDR", "tLDR")>;

Are you sure using the updated patch and clang?
And yes, I used lnt really:

  ./lnt runtest test-suite --sandbox ~/fast/sandbox_arm --no-timestamp --test-suite ~/fast/test-suite --benchmarking-only --cppflags '-O3 -DNDEBUG -mcpu=cortex-a57 -mthumb -fomit-frame-pointer ' --threads 1 --build-threads 6 --use-perf time --use-lit lit --exec-multisample 1 --only-test=SingleSource/Benchmarks --cmake-define 'CMAKE_C_FLAGS_RELEASE=""' --cmake-define 'CMAKE_CXX_FLAGS_RELEASE=""' --cc ~/fast/llvm_trunk.build/bin/clang


More information about the llvm-commits mailing list