1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/lib
Chad Rosier be99101f8a [AArch64] Generate a BFI/BFXIL from 'or (and X, MaskImm), OrImm'.
If and only if the value being inserted sets only known zero bits.

This combine transforms things like

  and w8, w0, #0xfffffff0
  movz w9, #5
  orr w0, w8, w9

into

  movz w8, #5
  bfxil w0, w8, #0, #4

The combine is tuned to make sure we always reduce the number of instructions.
We avoid churning code for what is expected to be performance neutral changes
(e.g., converted AND+OR to OR+BFI).

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

llvm-svn: 270846
2016-05-26 13:27:56 +00:00
..
Analysis MemorySSA: Revert r269678 and r268068; replace with special casing in MemorySSA. 2016-05-26 04:58:46 +00:00
AsmParser Objective-C Class Properties: Autoupgrade "Class Properties" module flag. 2016-05-25 23:14:48 +00:00
Bitcode Objective-C Class Properties: Autoupgrade "Class Properties" module flag. 2016-05-25 23:14:48 +00:00
CodeGen Use shouldAssumeDSOLocal on AArch64. 2016-05-26 12:42:55 +00:00
DebugInfo [codeview] Move StreamInterface and StreamReader to libcodeview. 2016-05-25 20:37:03 +00:00
ExecutionEngine [RuntimeDyld] Call the SymbolResolver::findSymbolInLogicalDylib method when 2016-05-25 16:23:59 +00:00
Fuzzer [libfuzzer] replacing unittest for truncate_units with functional test. 2016-05-25 21:00:17 +00:00
IR [ConstantFold] NFC cleanup after previous change. 2016-05-26 07:08:09 +00:00
IRReader
LibDriver LibDriver: Silently do nothing when provided no inputs. 2016-04-13 19:36:04 +00:00
LineEditor Fix Clang-tidy modernize-deprecated-headers warnings in some files; other minor fixes. 2016-03-28 17:40:08 +00:00
Linker ValueMaterializer: rename materializeDeclFor() to materialize() 2016-05-25 21:03:21 +00:00
LTO [ThinLTO] Refactor ODR resolution and internalization (NFC) 2016-05-25 14:03:11 +00:00
MC PR11740: Disable assembly debug info when assembly already contains line directives 2016-05-26 00:22:26 +00:00
Object Add FIXMEs to all derived classes of std::error_category. 2016-05-24 20:13:46 +00:00
ObjectYAML [obj2yaml] [yaml2obj] MachO support for rebase opcodes 2016-05-25 17:09:07 +00:00
Option Option parser: class for consuming a joined arg in addition to all remaining args 2016-04-15 00:23:30 +00:00
Passes [PM] Port PartiallyInlineLibCalls to the new pass manager. 2016-05-25 23:38:53 +00:00
ProfileData Add FIXMEs to all derived classes of std::error_category. 2016-05-24 20:13:46 +00:00
Support [AArch64] Adding a TargetParser for AArch64 2016-05-25 12:02:33 +00:00
TableGen [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
Target [AArch64] Generate a BFI/BFXIL from 'or (and X, MaskImm), OrImm'. 2016-05-26 13:27:56 +00:00
Transforms Add auto-exporting of symbols from tools so that plugins work on Windows 2016-05-26 11:16:43 +00:00
CMakeLists.txt Move ObjectYAML code to a new library. 2016-03-01 19:15:06 +00:00
LLVMBuild.txt Add LLVMBuild for ObjectYAML. 2016-03-01 21:29:33 +00:00