1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/lib
Craig Topper eeb855b166 [KnownBits][RISCV] Improve known bits for srem.
The result must be less than or equal to the LHS side, so any
leading zeros in the left hand side must also exist in the result.
This is stronger than the previous behavior where we only considered
the sign bit being 0.

The affected test case used the sign bit being known 0 to change
a sign extend to a zero extend pre type legalization. After type
legalization the types were promoted to i64, but we no longer
knew bit 31 was zero. This shifts are are the equivalent of an
AND with 0xffffffff or zext_inreg X, i32. This patch allows us to
see that bit 31 is zero and remove the shifts.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D97124
2021-02-21 14:48:29 -08:00
..
Analysis [Loads] Add optimized FindAvailableLoadedValue() overload (NFCI) 2021-02-21 18:42:56 +01:00
AsmParser Encode alignment attribute for cmpxchg 2021-02-11 15:17:50 -05:00
BinaryFormat [Debuginfo][DW_OP_implicit_pointer] (1/7) Support for DW_OP_LLVM_implicit_pointer 2021-01-15 14:45:04 +05:30
Bitcode [LTO] Perform DSOLocal propagation in combined index 2021-02-12 22:58:26 -08:00
Bitstream [llvm] Use llvm::append_range (NFC) 2021-01-06 18:27:33 -08:00
CodeGen [SelectionDAG][RISCV] Teach ComputeNumSignBits to handle SREM. 2021-02-21 11:13:36 -08:00
DebugInfo DebugInfo/Symbolize: Exclude ARM mapping symbols for .symtab symbolization after D95916 2021-02-12 11:04:20 -08:00
Demangle [Demangle] Support demangling Swift calling convention in MS demangler. 2021-01-27 13:24:54 -08:00
DWARFLinker [dsymutil][DWARFLinker][NFC] make AddressManager not depending on the order of checks for relocations. 2021-01-31 16:34:10 +03:00
ExecutionEngine [ORC] Print CPU feature string in JITTargetMachineBuilder debugging output. 2021-02-19 15:18:19 +11:00
Extensions llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
FileCheck [llvm] Use llvm::sort (NFC) 2021-01-17 10:39:45 -08:00
Frontend [OpenMPIRBuilder] Implement collapseLoops. 2021-02-03 19:12:02 -06:00
Fuzzer
FuzzMutate [FuzzMutate] Add mutator to modify instruction flags. 2021-01-23 19:05:20 +00:00
InterfaceStub [elfabi] Fix a bug when .dynsym contains no non-local symbol 2021-02-19 11:36:53 -08:00
IR [IR] restrict vector reduction intrinsic types 2021-02-21 12:37:00 -05:00
IRReader static const char *const foo => const char foo[] 2020-12-01 10:33:18 -08:00
LineEditor llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
Linker ValueMapper: Rename RF_MoveDistinctMDs => RF_ReuseAndMutateDistinctMDs, NFC 2021-02-10 16:53:21 -08:00
LTO [lto] Enable new PM when the PM config is non-empty 2021-02-15 20:49:09 +01:00
MC [WebAssembly] Fix assert in lookup of section symbols 2021-02-18 11:50:14 -08:00
MCA [llvm] Use llvm::find (NFC) 2021-01-19 20:19:14 -08:00
Object [AMDGPU] gfx90a support 2021-02-17 16:01:32 -08:00
ObjectYAML [AMDGPU] gfx90a support 2021-02-17 16:01:32 -08:00
Option [clang][cli] Command line round-trip for HeaderSearch options 2021-02-04 10:18:34 +01:00
Passes [SampleFDO] Skip PreLink ICP for better profile quality of MonoLTO PostLink 2021-02-19 19:35:23 -08:00
ProfileData [SampleFDO] Stop repeated indirect call promotion for the same target. 2021-02-18 17:01:32 -08:00
Remarks [llvm] Use append_range (NFC) 2021-01-27 23:25:41 -08:00
Support [KnownBits][RISCV] Improve known bits for srem. 2021-02-21 14:48:29 -08:00
TableGen Revert "[TableGen] Improve algorithms for processing template arguments" 2021-02-18 09:26:26 -05:00
Target [X86] Add vector support to sub(C1, xor(X, C2)) -> add(xor(X, ~C2), C1+1) fold. 2021-02-21 21:51:27 +00:00
Testing [clangd] Implement semanticTokens modifiers 2021-02-09 16:31:22 +01:00
TextAPI [llvm][TextAPI] add equality operator for InterfaceFile 2021-02-18 11:53:08 -08:00
ToolDrivers llvm-lib: Pull error printing code out of two functions 2021-01-26 19:13:30 -05:00
Transforms [Loads] Add optimized FindAvailableLoadedValue() overload (NFCI) 2021-02-21 18:42:56 +01:00
WindowsManifest llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
XRay [lib/Object, tools] - Make ELFObjectFile::getELFFile return reference. 2020-12-04 16:02:29 +03:00
CMakeLists.txt llvmbuildectomy - support disabled native target 2020-11-13 15:50:13 +01:00