summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/AnalysisDeclContext.cpp
diff options
context:
space:
mode:
authorJessica Paquette <jpaquette@apple.com>2019-05-24 23:08:45 +0000
committerJessica Paquette <jpaquette@apple.com>2019-05-24 23:08:45 +0000
commit97d668d70f526f6fc4406053193502b83eec688b (patch)
treedc9443c3659705d18e2562fe67123bf90f5d17d1 /clang/lib/Analysis/AnalysisDeclContext.cpp
parent59f959ff333bf42962287957b51d0da285087e41 (diff)
downloadbcm5719-llvm-97d668d70f526f6fc4406053193502b83eec688b.tar.gz
bcm5719-llvm-97d668d70f526f6fc4406053193502b83eec688b.zip
[GlobalISel][AArch64] Make FP constraint checks consider possible use/def banks
In a few places in getInstrMapping, we check if use/def instructions for the instruction we're mapping have floating point constraints. We can improve this check and reduce the number of copies in GISel-compiled code if we make a couple observations: - For a def instruction, it only matters if the def instruction must always output a value stored on a FPR - For a use instruction, it only matters if the use instruction must always only take in values stored in FPRs This adds two new functions: - onlyUsesFP - onlyDefinesFP Then we can use those when we're checking the uses/defs instead. Without this patch, the load, unmerge, store, and select in the added test would have unnecessary copies. Differential Revision: https://reviews.llvm.org/D62426 llvm-svn: 361679
Diffstat (limited to 'clang/lib/Analysis/AnalysisDeclContext.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud