llvm-project/llvm/lib
David Green 100763a88f [DAG] Extend SearchForAndLoads with any_extend handling
This extends the code in SearchForAndLoads to be able to look through
ANY_EXTEND nodes, which can be created from mismatching IR types where
the AND node we begin from only demands the low parts of the register.
That turns zext and sext into any_extends as only the low bits are
demanded. To be able to look through ANY_EXTEND nodes we need to handle
mismatching types in a few places, potentially truncating the mask to
the size of the final load.

Recommitted with a more conservative check for the type of the extend.

Differential Revision: https://reviews.llvm.org/D117457
2022-01-18 21:03:08 +00:00
..
Analysis [mlgo][inline] Improve global state tracking 2022-01-18 17:45:34 +00:00
AsmParser Use a sorted array instead of a map to store AttrBuilder string attributes 2022-01-10 14:49:53 +01:00
BinaryFormat Use llvm::any_of and llvm::all_of (NFC) 2021-12-11 11:54:37 -08:00
Bitcode Use a sorted array instead of a map to store AttrBuilder string attributes 2022-01-10 14:49:53 +01:00
Bitstream
CodeGen [DAG] Extend SearchForAndLoads with any_extend handling 2022-01-18 21:03:08 +00:00
DWARFLinker [llvm] Fix bugprone argument comments (NFC) 2022-01-08 11:56:38 -08:00
DWP
DebugInfo [DebugInfo][DWARF][NFC] Refactor DWARFTypePrinter usages. Create functions to print type dies. 2022-01-14 16:19:08 +03:00
Debuginfod [llvm] Use nullptr instead of 0 (NFC) 2021-12-28 08:52:25 -08:00
Demangle [Demangle] Pass Ret parameter from decodeNumber by reference 2022-01-12 21:57:31 +00:00
ExecutionEngine [JITLink][ELF] Support duplicated section names from object file 2022-01-18 08:38:28 -08:00
Extensions
FileCheck [FileCheck] Allow literal '['s before "[[var...]]" 2022-01-13 09:47:37 +00:00
Frontend [OpenMP] Mark device RTL variables as hidden 2022-01-18 12:53:17 -05:00
FuzzMutate
Fuzzer
IR [InstrProf][NFC] Add InstrProfInstBase base 2022-01-18 11:12:00 -08:00
IRReader
InterfaceStub [llvm] Remove redundant member initialization (NFC) 2022-01-07 17:45:09 -08:00
LTO [LTO] runNewPMPasses - remove check for TM != nullptr as we already dereference the pointer directly later on in the same code 2022-01-14 16:31:27 +00:00
LineEditor [llvm] Use range-based for loops (NFC) 2021-12-09 09:37:29 -08:00
Linker [NFC] Replace some deprecated getAlignment() calls with getAlign() 2021-12-09 08:43:19 -08:00
MC [MC] Remove MCContext::reportFatalError 2022-01-15 00:42:42 -08:00
MCA [MCA] Switching from conservatively guessing which instructions are 2022-01-11 13:50:14 -08:00
Object [AIX] Support of Big archive (read) 2022-01-18 12:13:01 -05:00
ObjectYAML [yaml2obj][XCOFF] parsing auxiliary symbols. 2022-01-10 02:38:49 +00:00
Option [llvm] Use range-based for loops (NFC) 2021-12-09 09:37:29 -08:00
Passes [mlgo][inline] Improve global state tracking 2022-01-18 17:45:34 +00:00
ProfileData [InstrProf][NFC] Do not assume size of counter type 2022-01-14 11:29:11 -08:00
Remarks [llvm] Remove redundant member initialization (NFC) 2022-01-07 17:45:09 -08:00
Support [Support] Fix -Wreturn-type in LLVM_ENABLE_THREADS=OFF build after D116846 2022-01-17 12:04:30 -08:00
TableGen [llvm] Use true/false instead of 1/0 (NFC) 2022-01-07 00:39:14 -08:00
Target [RISCV] Remove special case for constant shift amount in FSHL/FSHR lowering to FSL/FSR. 2022-01-18 11:47:50 -08:00
Testing
TextAPI Fix MSVC "not all control paths return a value" warnings. NFC. 2022-01-13 17:44:10 +00:00
ToolDrivers [Type] Avoid APFloat.h include (NFC) 2021-10-09 11:29:26 +02:00
Transforms A better profi rebalancer 2022-01-18 12:14:24 -08:00
WindowsManifest [llvm] Use nullptr instead of 0 (NFC) 2021-12-28 08:52:25 -08:00
XRay Support: Use Expected<T>::moveInto() in a few places 2021-10-22 12:40:10 -07:00
CMakeLists.txt [llvm] [Debuginfo] Debuginfod client library. 2021-12-06 21:52:38 +00:00