[all-commits] [llvm/llvm-project] 8c99ce: [DAG] Remove SelectionDAG::GetDemandedBits and use...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Thu Jul 28 09:06:39 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 8c99cef1e7525db1e22e0aa20df35ef11236f750
https://github.com/llvm/llvm-project/commit/8c99cef1e7525db1e22e0aa20df35ef11236f750
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2022-07-28 (Thu, 28 Jul 2022)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[DAG] Remove SelectionDAG::GetDemandedBits and use SimplifyMultipleUseDemandedBits directly.
GetDemandedBits is mainly a wrapper around SimplifyMultipleUseDemandedBits now, and is only used by DAGCombiner::visitSTORE so I've moved all remaining functionality there.
visitSTORE was making use of this to 'simplify' constants for a trunc-store. Just removing this code left to a mixture of regressions and gains - it came down to whether a target preferred a sign or zero extended constant for materialization/truncation. I've just moved the code over for now, but a next step would be to move this to targetShrinkDemandedConstant, but some targets that override the method expect a basic binop, and might react badly to a store node.....
More information about the All-commits
mailing list