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

Kristof Beyls via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 30 06:39:19 PST 2017


kristof.beyls added a comment.

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

> In https://reviews.llvm.org/D28152#660305, @andrew.zhogin wrote:
>
> > > @andrew.zhogin : I tried to measure the impact of this patch on performance on a Cortex-A57 system, but with this patch, testing in Thumb mode, the cmake-based test-suite runs fail early during the configuration step, with the following error:
> > > 
> > >   -- Check size of unsigned long - failed
> > >   CMake Error at /usr/share/cmake-3.5/Modules/TestBigEndian.cmake:51 (message):
> > >     no suitable type found
> > >   Call Stack (most recent call first):
> > >     CMakeLists.txt:115 (test_big_endian)
> > > 
> > > 
> > > This doesn't happen when testing in ARM mode, or when testing without your patch applied.
> > >  I tested on r292764.
> > >  Could you try and see if you could reproduce this?
> > >  The lnt runtest test-suite command line I used looks as follows:
> > > 
> > >   lnt runtest test-suite --sandbox SANDBOX --no-timestamp --test-suite /work/llvm-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=""'
> >
> > I have updated patch with full support of thumb instructions.
> >  I'm not familiar with lit - such command just succeeded on my local computer (x86_64) and I wonder why? It runs tests at some VM or remotely?
> >
> >   **********
> >   Testing Time: 264.70s
> >     Expected Passes    : 126
> >   2017-01-30 13:11:51: submitting result to dummy instance
> >
>
>
> Hi Andrew,
>
> You'd need to run lnt (not lit) with the above command line on an AArch64 environment to be able to reproduce the issue.
>  On an x86_64 box, you probably tested code generation for x86_64, not AArch64.
>  Anyway, I've just kicked of another benchmarking run with your new patch. Will let you know the outcome.


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!


https://reviews.llvm.org/D28152





More information about the llvm-commits mailing list