[all-commits] [llvm/llvm-project] bfad87: [LoongArch] Ensure PseudoLA* can be hoisted (#94723)

hev via All-commits all-commits at lists.llvm.org
Tue Jun 25 03:53:38 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: bfad8757159a3def7c07d4f5ef23ed76fafdf441
      https://github.com/llvm/llvm-project/commit/bfad8757159a3def7c07d4f5ef23ed76fafdf441
  Author: hev <wangrui at loongson.cn>
  Date:   2024-06-25 (Tue, 25 Jun 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
    M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
    M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
    M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
    M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll

  Log Message:
  -----------
  [LoongArch] Ensure PseudoLA* can be hoisted (#94723)

Since we mark the pseudos as mayLoad but do not provide any MMOs,
isSafeToMove conservatively returns false, stopping MachineLICM from
hoisting the instructions. PseudoLA_TLS_{LD,GD} does not actually expand
to a load, so stop marking that as mayLoad to allow it to be hoisted,
and for the others make sure to add MMOs during lowering to indicate
they're GOT loads and thus can be freely moved.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list