[all-commits] [llvm/llvm-project] 8211cf: [ARM] Don't shrink STM if it would cause an unknow...

john-brawn-arm via All-commits all-commits at lists.llvm.org
Wed Apr 22 06:51:30 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 8211cfb7c8bd1bedd5b3ed936d5b8f784c6bfd21
      https://github.com/llvm/llvm-project/commit/8211cfb7c8bd1bedd5b3ed936d5b8f784c6bfd21
  Author: John Brawn <john.brawn at arm.com>
  Date:   2020-04-22 (Wed, 22 Apr 2020)

  Changed paths:
    M llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
    M llvm/test/CodeGen/Thumb/stm-deprecated.ll

  Log Message:
  -----------
  [ARM] Don't shrink STM if it would cause an unknown base register store

If a 16-bit thumb STM with writeback stores the base register but it isn't the
first register in the list, then an unknown value is stored. The load/store
optimizer knows this and generates a 32-bit STM without writeback instead, but
thumb2 size reduction converts it into a 16-bit STM. Fix this by having thumb2
size reduction notice such STMs and leave them as they are.

Differential Revision: https://reviews.llvm.org/D78493




More information about the All-commits mailing list