[all-commits] [llvm/llvm-project] e0ed03: Reland "[ARM] Stop gluing ALU nodes to branches / ...

Sergei Barannikov via All-commits all-commits at lists.llvm.org
Fri Dec 6 23:14:58 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e0ed0333f0fed2e73f805afd58b61176a87aa3ad
      https://github.com/llvm/llvm-project/commit/e0ed0333f0fed2e73f805afd58b61176a87aa3ad
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-12-07 (Sat, 07 Dec 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/ARM/ARMInstrFormats.td
    M llvm/lib/Target/ARM/ARMInstrInfo.td
    M llvm/lib/Target/ARM/ARMInstrThumb.td
    M llvm/lib/Target/ARM/ARMInstrThumb2.td
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/test/CodeGen/ARM/add-like-or.ll
    A llvm/test/CodeGen/ARM/and-cmpz-to-shift.ll
    M llvm/test/CodeGen/ARM/arm-shrink-wrapping.ll
    M llvm/test/CodeGen/ARM/atomic-64bit.ll
    M llvm/test/CodeGen/ARM/atomic-ops-v8.ll
    M llvm/test/CodeGen/ARM/atomicrmw-cond-sub-clamp.ll
    M llvm/test/CodeGen/ARM/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/ARM/atomicrmw_exclusive_monitor_ints.ll
    M llvm/test/CodeGen/ARM/bfi.ll
    M llvm/test/CodeGen/ARM/cmov_fp16.ll
    M llvm/test/CodeGen/ARM/cse-call.ll
    M llvm/test/CodeGen/ARM/cttz.ll
    M llvm/test/CodeGen/ARM/fadd-select-fneg-combine.ll
    M llvm/test/CodeGen/ARM/fcmp-xo.ll
    M llvm/test/CodeGen/ARM/fpclamptosat.ll
    M llvm/test/CodeGen/ARM/fpclamptosat_vec.ll
    M llvm/test/CodeGen/ARM/fpscr-multi-use.ll
    M llvm/test/CodeGen/ARM/fptoi-sat-store.ll
    M llvm/test/CodeGen/ARM/fptosi-sat-scalar.ll
    M llvm/test/CodeGen/ARM/fptoui-sat-scalar.ll
    M llvm/test/CodeGen/ARM/funnel-shift-rot.ll
    M llvm/test/CodeGen/ARM/funnel-shift.ll
    M llvm/test/CodeGen/ARM/ifcvt1.ll
    M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
    M llvm/test/CodeGen/ARM/neon_vabd.ll
    M llvm/test/CodeGen/ARM/overflow-intrinsic-optimizations.ll
    M llvm/test/CodeGen/ARM/sadd_sat.ll
    M llvm/test/CodeGen/ARM/sadd_sat_plus.ll
    M llvm/test/CodeGen/ARM/select.ll
    M llvm/test/CodeGen/ARM/select_const.ll
    M llvm/test/CodeGen/ARM/shift-i64.ll
    M llvm/test/CodeGen/ARM/ssub_sat.ll
    M llvm/test/CodeGen/ARM/ssub_sat_plus.ll
    M llvm/test/CodeGen/ARM/sub-cmp-peephole.ll
    M llvm/test/CodeGen/ARM/uadd_sat.ll
    M llvm/test/CodeGen/ARM/uadd_sat_plus.ll
    M llvm/test/CodeGen/ARM/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/ARM/umulo-64-legalisation-lowering.ll
    M llvm/test/CodeGen/ARM/usub_sat.ll
    M llvm/test/CodeGen/ARM/usub_sat_plus.ll
    M llvm/test/CodeGen/ARM/vselect_imax.ll
    M llvm/test/CodeGen/ARM/wide-compares.ll
    M llvm/test/CodeGen/Thumb/arm_q15_to_q31.ll
    M llvm/test/CodeGen/Thumb/select.ll
    M llvm/test/CodeGen/Thumb/smul_fix_sat.ll
    M llvm/test/CodeGen/Thumb/stack-guard-xo.ll
    M llvm/test/CodeGen/Thumb/umul_fix_sat.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/arm_cmplx_dot_prod_f32.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/exitcount.ll
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/fast-fp-loops.ll
    M llvm/test/CodeGen/Thumb2/float-ops.ll
    M llvm/test/CodeGen/Thumb2/mve-blockplacement.ll
    M llvm/test/CodeGen/Thumb2/mve-doublereduct.ll
    M llvm/test/CodeGen/Thumb2/mve-float16regloops.ll
    M llvm/test/CodeGen/Thumb2/mve-float32regloops.ll
    M llvm/test/CodeGen/Thumb2/mve-fmas.ll
    M llvm/test/CodeGen/Thumb2/mve-fpclamptosat_vec.ll
    M llvm/test/CodeGen/Thumb2/mve-fptosi-sat-vector.ll
    M llvm/test/CodeGen/Thumb2/mve-fptoui-sat-vector.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-scatter-ptr-address.ll
    M llvm/test/CodeGen/Thumb2/mve-laneinterleaving.ll
    M llvm/test/CodeGen/Thumb2/mve-minmaxi.ll
    M llvm/test/CodeGen/Thumb2/mve-pipelineloops.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-ext.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-or.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-vctpvpsel.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-vselect.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-xor.ll
    M llvm/test/CodeGen/Thumb2/mve-satmul-loops.ll
    M llvm/test/CodeGen/Thumb2/mve-vcmpf.ll
    M llvm/test/CodeGen/Thumb2/mve-vcmpfr.ll
    M llvm/test/CodeGen/Thumb2/mve-vcmpfz.ll
    M llvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll
    M llvm/test/CodeGen/Thumb2/mve-vqdmulh.ll
    M llvm/test/CodeGen/Thumb2/umulo-128-legalisation-lowering.ll
    M llvm/test/CodeGen/Thumb2/umulo-64-legalisation-lowering.ll

  Log Message:
  -----------
  Reland "[ARM] Stop gluing ALU nodes to branches / selects" (#118887)

Re-landing #116970 after fixing miscompilation error.

The original change made it possible for CMPZ to have multiple uses;
`ARMDAGToDAGISel::SelectCMPZ` was not prepared for this.

Pull Request: https://github.com/llvm/llvm-project/pull/118887


Original commit message:

Following #116547 and #116676, this PR changes the type of results and
operands of some nodes to accept / return a normal type instead of Glue.

Unfortunately, changing the result type of one node requires changing
the operand types of all potential consumer nodes, which in turn
requires changing the result types of all other possible producer nodes.
So this is a bulk change.



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