[all-commits] [llvm/llvm-project] e2a55b: [LoongArch] Add custom lowering for BCOND and perf...

hev via All-commits all-commits at lists.llvm.org
Fri Aug 29 01:42:53 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e2a55b8698e93de68e0080181844303cd820a3ae
      https://github.com/llvm/llvm-project/commit/e2a55b8698e93de68e0080181844303cd820a3ae
  Author: hev <wangrui at loongson.cn>
  Date:   2025-08-29 (Fri, 29 Aug 2025)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchFloat32InstrInfo.td
    M llvm/lib/Target/LoongArch/LoongArchFloat64InstrInfo.td
    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/bittest.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/fcmp-dbl.ll
    M llvm/test/CodeGen/LoongArch/ir-instruction/fcmp-flt.ll
    M llvm/test/CodeGen/LoongArch/merge-base-offset-tlsle.ll
    M llvm/test/CodeGen/LoongArch/merge-base-offset.ll
    M llvm/test/CodeGen/LoongArch/preferred-alignments.ll

  Log Message:
  -----------
  [LoongArch] Add custom lowering for BCOND and perform BR_CC combine (#147885)

This patch attempts to optimize conditional branches by combinding
logical operations within the conditions. This enables the selection of
more efficient branch instructions. For example, for integers, `blez x`
can be used instead of `blt x, (ori, t, 1)`; for floating-point
comparisons, dedicated floating-point branch instructions can be used to
avoid moving the result to an integer register.



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