1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 12:43:36 +01:00
llvm-mirror/lib
Craig Topper 77f3656ce1 [RISCV] Improve 64-bit integer materialization for some cases.
This adds a new integer materialization strategy mainly targeted
at 64-bit constants like 0xffffffff where there are 32 or more trailing
ones with leading zeros. We can materialize these by using an addi -1
and srli to restore the leading zeros. This matches what gcc does.

I haven't limited to just these cases though. The implementation
here takes the constant, shifts out all the leading zeros and
shifts ones into the LSBs, creates the new sequence, adds an srli,
and checks if this is shorter than our original strategy.

I've separated the recursive portion into a standalone function
so I could append the new strategy outside of the recursion. Since
external users are no longer using the recursive function, I've
cleaned up the external interface to return the sequence instead of
taking a vector by reference.

Reviewed By: asb

Differential Revision: https://reviews.llvm.org/D98821
2021-04-01 09:12:52 -07:00
..
Analysis [deref-at-point] restrict inference of dereferenceability based on allocsize attribute 2021-04-01 08:34:40 -07:00
AsmParser [DebugInfo] Upgrade DISubragne::count to accept DIExpression also 2021-03-30 09:16:55 +05:30
BinaryFormat [NFC] Reordering parameters in getFile and getFileOrSTDIN 2021-03-25 09:47:49 -04:00
Bitcode Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
Bitstream
CodeGen [regalloc] Ensure Query::collectInterferringVregs is called before interval iteration 2021-04-01 08:33:28 -07:00
DebugInfo [NFC] Reordering parameters in getFile and getFileOrSTDIN 2021-03-25 09:47:49 -04:00
Demangle
DWARFLinker [dsymutil] Relocate DW_TAG_label 2021-03-29 15:45:48 -07:00
ExecutionEngine [JITLink] Switch from StringRef to ArrayRef<char>, add some generic x86-64 utils 2021-03-30 21:07:24 -07:00
Extensions
FileCheck [FileCheck] Fix PR49531: invalid use of string var 2021-03-24 18:49:58 +00:00
Frontend [OpenMP] Change OMPIRBuilder to append function attributes 2021-03-24 09:08:29 -04:00
Fuzzer
FuzzMutate [NFC] Reordering parameters in getFile and getFileOrSTDIN 2021-03-25 09:47:49 -04:00
InterfaceStub [elfabi] Fix a bug when .dynsym contains no non-local symbol 2021-02-19 11:36:53 -08:00
IR [deref-at-point] restrict inference of dereferenceability based on allocsize attribute 2021-04-01 08:34:40 -07:00
IRReader [NFC] Reordering parameters in getFile and getFileOrSTDIN 2021-03-25 09:47:49 -04:00
LineEditor
Linker Reapply "OpaquePtr: Turn inalloca into a type attribute" 2021-03-29 08:55:30 -04:00
LTO [LTO][Legacy] Decouple option parsing from LTOCodeGenerator 2021-03-31 16:43:26 +00:00
MC [AsmParser][SystemZ][z/OS] Add in support to accept "#" as part of an Identifier token 2021-04-01 11:24:43 -04:00
MCA [MCA] Support carry-over instructions for in-order processors 2021-03-26 00:06:19 +03:00
Object [WebAssembly] Encode numbers in ULEB128 in event section 2021-03-30 16:21:58 -07:00
ObjectYAML AMDGPU: Add target id and code object v4 support 2021-03-24 11:54:05 -04:00
Option [clang][cli] NFC: Remove ArgList infrastructure for recording queries 2021-02-25 13:53:24 +01:00
Passes Revert "[Passes] Add relative lookup table converter pass" 2021-03-30 14:13:37 +02:00
ProfileData Fix: Reordering parameters in getFile and getFileOrSTDIN 2021-03-25 11:55:57 -04:00
Remarks Add intrinsics_gen as a dependency of libRemarks 2021-03-08 14:17:27 -08:00
Support Add debug printers for KnownBits [nfc] 2021-03-31 15:36:07 -07:00
TableGen [TableGen] Add support for the 'assert' statement in class definitions. 2021-03-29 09:20:29 -04:00
Target [RISCV] Improve 64-bit integer materialization for some cases. 2021-04-01 09:12:52 -07:00
Testing [clangd] Implement semanticTokens modifiers 2021-02-09 16:31:22 +01:00
TextAPI [lld-macho] Change loadReexport to handle the case where a TAPI re-exports to reference documents nested within other TBD. 2021-03-02 12:14:31 -05:00
ToolDrivers [NFC] Reordering parameters in getFile and getFileOrSTDIN 2021-03-25 09:47:49 -04:00
Transforms [SLP]Improve and fix getVectorElementSize. 2021-04-01 06:51:26 -07:00
WindowsManifest llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
XRay
CMakeLists.txt