[all-commits] [llvm/llvm-project] 2cb064: [RISCV] Split the pseudo instruction splitting pass

Luís Marques via All-commits all-commits at lists.llvm.org
Mon Jun 29 06:36:55 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2cb0644f90b7deda78fd5a4df4b74e25bd1db701
      https://github.com/llvm/llvm-project/commit/2cb0644f90b7deda78fd5a4df4b74e25bd1db701
  Author: Luís Marques <luismarques at lowrisc.org>
  Date:   2020-06-29 (Mon, 29 Jun 2020)

  Changed paths:
    M llvm/lib/Target/RISCV/CMakeLists.txt
    M llvm/lib/Target/RISCV/RISCV.h
    A llvm/lib/Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp
    M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/codemodel-lowering.ll

  Log Message:
  -----------
  [RISCV] Split the pseudo instruction splitting pass

Extracts the atomic pseudo-instructions' splitting from `riscv-expand-pseudo`
/ `RISCVExpandPseudo` into its own pass, `riscv-expand-atomic-pseudo` /
`RISCVExpandAtomicPseudo`. This allows for the expansion of atomic operations
to continue to happen late (the new pass is added in `addPreEmitPass2`, so
those expansions continue to happen in the same place), while the remaining
pseudo-instructions can now be expanded earlier and benefit from more
optimization passes. The nonatomics pass is now added in `addPreSched2`.

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




More information about the All-commits mailing list