1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/lib
Jessica Paquette 8e6b545e6e [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
2019-05-24 23:08:45 +00:00
..
Analysis [InstSimplify] fold insertelement-of-extractelement 2019-05-24 00:13:58 +00:00
AsmParser [IR] allow fast-math-flags on select of FP values 2019-05-22 15:50:46 +00:00
BinaryFormat
Bitcode [IR] allow fast-math-flags on select of FP values 2019-05-22 15:50:46 +00:00
CodeGen [AMDGPU] Divergence driven ISel. Assign register class for cross block values according to the divergence. 2019-05-24 15:32:18 +00:00
DebugInfo [dwarfdump] Add flag to limit the number of parents DIEs 2019-05-24 21:11:28 +00:00
Demangle llvm-undname: Fix an assert-on-invalid, found by oss-fuzz 2019-05-22 15:53:23 +00:00
ExecutionEngine Reverted r361134 because of a failing test left unattended for a long time. 2019-05-22 20:42:56 +00:00
Fuzzer
FuzzMutate
IR [NFC] SwitchInst: Introduce wrapper for prof branch_weights handling 2019-05-24 04:34:23 +00:00
IRReader
LineEditor
Linker [IRMover] Improve diagnostic messages for conflicting metadata 2019-05-16 05:23:13 +00:00
LTO [ELF] Implement Dependent Libraries Feature 2019-05-17 03:44:15 +00:00
MC [DebugInfo] Handle '# line "file"' correctly for asm source. 2019-05-21 11:59:03 +00:00
MCA [MCA] Add the ability to compute critical register dependency of an instruction. 2019-05-23 16:32:19 +00:00
Object [llvm-dlltool] Respect NONAME keyword 2019-05-22 09:49:54 +00:00
ObjectYAML [ELF] Implement Dependent Libraries Feature 2019-05-17 03:44:15 +00:00
Option Option spell checking: Penalize delimiter flags if input has no argument 2019-05-01 16:45:15 +00:00
Passes [NewPassManager] Add tuning option: ForgetAllSCEVInLoopUnroll [NFC]. 2019-05-23 21:52:59 +00:00
ProfileData Recommit [Object] Change object::SectionRef::getContents() to return Expected<StringRef> 2019-05-16 13:24:04 +00:00
Remarks
Support [FileCheck] Remove llvm:: prefix 2019-05-23 17:19:36 +00:00
TableGen TableGen: Handle nontrivial foreach range bounds 2019-05-22 21:28:20 +00:00
Target [GlobalISel][AArch64] Make FP constraint checks consider possible use/def banks 2019-05-24 23:08:45 +00:00
Testing [Testing] Move clangd::Annotations to llvm testing support 2019-04-25 10:08:31 +00:00
TextAPI [TextAPI] Fix Symbol::dump which was failing to append the SymbolKind string. 2019-04-29 18:25:04 +00:00
ToolDrivers
Transforms Use the DataLayout::typeSizeEqualsStoreSize helper. NFC 2019-05-24 09:20:20 +00:00
WindowsManifest
XRay Recommit [Object] Change object::SectionRef::getContents() to return Expected<StringRef> 2019-05-16 13:24:04 +00:00
CMakeLists.txt
LLVMBuild.txt