[all-commits] [llvm/llvm-project] a27b9a: llvm-reduce: Preserve frame index values when clon...

Matt Arsenault via All-commits all-commits at lists.llvm.org
Tue Apr 26 10:17:27 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a27b9ab391d1e0749e37b7db93b0fae18e23ecf6
      https://github.com/llvm/llvm-project/commit/a27b9ab391d1e0749e37b7db93b0fae18e23ecf6
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2022-04-26 (Tue, 26 Apr 2022)

  Changed paths:
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp

  Log Message:
  -----------
  llvm-reduce: Preserve frame index values when cloning function

Previously the specific values used for fixed frame indexes was in
reverse order in the cloned function from the original, and a map was
used to adjust all frame indexes to the potentially new values. Insert
the fixed objects in reverse to avoid this. This simplifies other
code, since now we don't need to track down all frame indexes. This
will allow targets that store frame indexes in MachineFunctionInfo to
simply copy the values.

Note this isn't directly observable in the test since the resulting
MIR print/parse can shuffle the IDs around (in particular the final
serialization implicitly strips out dead objects).


  Commit: 7b57ef670c64e31bbaa19ae9a3acf0d3ed7f5e73
      https://github.com/llvm/llvm-project/commit/7b57ef670c64e31bbaa19ae9a3acf0d3ed7f5e73
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2022-04-26 (Tue, 26 Apr 2022)

  Changed paths:
    M llvm/tools/llvm-reduce/ReducerWorkItem.cpp

  Log Message:
  -----------
  llvm-reduce: Simplify virtual register cloning

Just clone all the virtual registers instead of looking for def
operands. This preserves the register values used, simplifying the
rest of the code. This avoids needing to expose the register map to
target code.


Compare: https://github.com/llvm/llvm-project/compare/e1318078a4e1...7b57ef670c64


More information about the All-commits mailing list