summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/PseudoSourceValue.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2019-09-19 15:02:47 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2019-09-19 15:02:47 +0000
commitaf6043557dd1478beff83c44b21dd07b5e322c15 (patch)
tree6ea597c86bb56d9d6a33bd55a625706627388954 /llvm/lib/CodeGen/PseudoSourceValue.cpp
parent9e94ef42bab003026a433687d9f44d8137f16d17 (diff)
downloadbcm5719-llvm-af6043557dd1478beff83c44b21dd07b5e322c15.tar.gz
bcm5719-llvm-af6043557dd1478beff83c44b21dd07b5e322c15.zip
[DAG][X86] Convert isNegatibleForFree/GetNegatedExpression to a target hook (PR42863)
This patch converts the DAGCombine isNegatibleForFree/GetNegatedExpression into overridable TLI hooks and includes a demonstration X86 implementation. The intention is to let us extend existing FNEG combines to work more generally with negatible float ops, allowing it work with target specific combines and opcodes (e.g. X86's FMA variants). Unlike the SimplifyDemandedBits, we can't just handle target nodes through a Target callback, we need to do this as an override to allow targets to handle generic opcodes as well. This does mean that the target implementations has to duplicate some checks (recursion depth etc.). I've only begun to replace X86's FNEG handling here, handling FMADDSUB/FMSUBADD negation and some low impact codegen changes (some FMA negatation propagation). We can build on this in future patches. Differential Revision: https://reviews.llvm.org/D67557 llvm-svn: 372333
Diffstat (limited to 'llvm/lib/CodeGen/PseudoSourceValue.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud