[all-commits] [llvm/llvm-project] 065e03: [CSKY] Add CSKYConstantIslands Pass to lift or dup...

Zi Xuan Wu (Zeson) via All-commits all-commits at lists.llvm.org
Tue Jan 11 00:18:55 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 065e0324e5e4a281abc199d6e4e45d7bc852a486
      https://github.com/llvm/llvm-project/commit/065e0324e5e4a281abc199d6e4e45d7bc852a486
  Author: Zi Xuan Wu <zixuan.wu at linux.alibaba.com>
  Date:   2022-01-11 (Tue, 11 Jan 2022)

  Changed paths:
    M llvm/lib/Target/CSKY/CMakeLists.txt
    M llvm/lib/Target/CSKY/CSKY.h
    M llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp
    M llvm/lib/Target/CSKY/CSKYAsmPrinter.h
    A llvm/lib/Target/CSKY/CSKYConstantIslandPass.cpp
    M llvm/lib/Target/CSKY/CSKYInstrInfo.cpp
    M llvm/lib/Target/CSKY/CSKYInstrInfo.h
    M llvm/lib/Target/CSKY/CSKYTargetMachine.cpp
    M llvm/test/CodeGen/CSKY/br.ll
    M llvm/test/CodeGen/CSKY/indirectbr.ll
    M llvm/test/CodeGen/CSKY/switch.ll

  Log Message:
  -----------
  [CSKY] Add CSKYConstantIslands Pass to lift or duplicate constant pool entry

Loading constants inline is expensive on CSKY and it's in general better
to place the constant nearby in code space and then it can be loaded with a
simple 16/32 bit load instruction like lrw.

It needs lift or duplicates constant pool entry to make constant nearby so that lrw instruction can reach.




More information about the All-commits mailing list