Skip to content
  • Matthias Braun's avatar
    ARM: Enable MachineScheduler and disable PostRAScheduler for swift. · 9e859806
    Matthias Braun authored
    Reapply r242500 now that the swift schedmodel includes LDRLIT.
    
    This is mostly done to disable the PostRAScheduler which optimizes for
    instruction latencies which isn't a good fit for out-of-order
    architectures. This also allows to leave out the itinerary table in
    swift in favor of the SchedModel ones.
    
    This change leads to performance improvements/regressions by as much as
    10% in some benchmarks, in fact we loose 0.4% performance over the
    llvm-testsuite for reasons that appear to be unknown or out of the
    compilers control. rdar://20803802 documents the investigation of
    these effects.
    
    While it is probably a good idea to perform the same switch for the
    other ARM out-of-order CPUs, I limited this change to swift as I cannot
    perform the benchmark verification on the other CPUs.
    
    Differential Revision: http://reviews.llvm.org/D10513
    
    llvm-svn: 242588
    9e859806
Loading