1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00
llvm-mirror/test
Chad Rosier f28ce785a9 [AArch64] Improve getUsefulBitsForUse for narrow stores.
For narrow stores (e.g., strb, srth) we know the upper bits of the register are
unused/not useful. In some cases we can use this information to eliminate
unnecessary instructions.

For example, without this patch we generate (from the 2nd test case):

 ldr w8, [x0]
 and w8, w8, #0xfff0
 bfxil w8, w2, #16, #4
 strh w8, [x1]

and after the patch the 'and' is removed:

 ldr w8, [x0]
 bfxil w8, w2, #16, #4
 strh w8, [x1]
 ret

During the lowering of the bitfield insert instruction the 'and' is eliminated
because we know the upper 16-bits that are masked off are unused and the lower
4-bits that are masked off are overwritten by the insert itself. Therefore, the
'and' is unnecessary.

Differential Revision: http://reviews.llvm.org/D20175

llvm-svn: 269226
2016-05-11 20:19:54 +00:00
..
Analysis [SCEVExpander] Fix a failed cast<> assertion 2016-05-11 17:41:41 +00:00
Assembler Make "@name =" mandatory for globals in .ll files. 2016-05-10 18:22:45 +00:00
Bindings [OCaml] Update core test and re-enable testing 2016-05-10 11:19:20 +00:00
Bitcode AMDGPU/SI: Add amdgpu_kernel calling convention. Part 1. 2016-05-06 09:07:29 +00:00
BugPoint
CodeGen [AArch64] Improve getUsefulBitsForUse for narrow stores. 2016-05-11 20:19:54 +00:00
DebugInfo Debug Info: Prevent DW_AT_abstract_origin from being emitted twice 2016-05-10 19:38:51 +00:00
Examples
ExecutionEngine
Feature Make "@name =" mandatory for globals in .ll files. 2016-05-10 18:22:45 +00:00
FileCheck
Instrumentation Add missing tests for new PM 2016-05-10 23:37:19 +00:00
Integer Make "@name =" mandatory for globals in .ll files. 2016-05-10 18:22:45 +00:00
JitListener
LibDriver
Linker Make "@name =" mandatory for globals in .ll files. 2016-05-10 18:22:45 +00:00
LTO Allow the LTO code generator to strip invalid debug info from the input. 2016-05-09 19:57:15 +00:00
MC [mips][ias] Work around incorrect microMIPS relocation evaluation exposed by r268900 2016-05-11 15:44:23 +00:00
Object Clean up the specific error message for a malformed Mach-O files with bad segment 2016-05-05 17:43:35 +00:00
Other Add opt-bisect support to additional passes that can be skipped 2016-05-03 22:32:30 +00:00
SymbolRewriter
TableGen
ThinLTO/X86 [ThinLTO] Add option to emit imports files for distributed backends 2016-05-10 15:54:09 +00:00
tools [ThinLTO] Add option to emit imports files for distributed backends 2016-05-10 15:54:09 +00:00
Transforms Revert r269131 2016-05-10 23:26:04 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg Add llvm-pdbdump to the tool substitutions list in lit. NFC. 2016-05-02 16:51:26 +00:00
lit.site.cfg.in
TestRunner.sh