1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/lib
Sanjay Patel c3aa82cda9 [InstCombine] try harder to form rotate (funnel shift) (PR20750)
We have a similar match for patterns ending in a truncate. This
should be ok for all targets because the default expansion would
still likely be better from replacing 2 'and' ops with 1.

Attempt to show the logic equivalence in Alive (which doesn't
currently have funnel-shift in its vocabulary AFAICT):

  %shamt = zext i8 %i to i32
  %m = and i32 %shamt, 31
  %neg = sub i32 0, %shamt
  %and4 = and i32 %neg, 31
  %shl = shl i32 %v, %m
  %shr = lshr i32 %v, %and4
  %or = or i32 %shr, %shl
  =>
  %a = and i8 %i, 31
  %shamt2 = zext i8 %a to i32
  %neg2 = sub i32 0, %shamt2
  %and4 = and i32 %neg2, 31
  %shl = shl i32 %v, %shamt2
  %shr = lshr i32 %v, %and4
  %or = or i32 %shr, %shl

https://rise4fun.com/Alive/V9r

llvm-svn: 360605
2019-05-13 17:28:19 +00:00
..
Analysis [ThinLTO] Auto-hide prevailing linkonce_odr only when all copies eligible 2019-05-10 20:08:24 +00:00
AsmParser Fix uninitialized variable analyzer warning. NFCI. 2019-05-11 11:08:24 +00:00
BinaryFormat [XCOFF] Add functionality for parsing AIX XCOFF object file headers 2019-04-04 00:53:21 +00:00
Bitcode [ThinLTO] Auto-hide prevailing linkonce_odr only when all copies eligible 2019-05-10 20:08:24 +00:00
CodeGen [TargetLowering] Handle multi depth GEPs w/ inline asm constraints 2019-05-13 17:27:44 +00:00
DebugInfo DebugInfo: Only move types out of type units if they're named or type united 2019-05-10 19:15:29 +00:00
Demangle llvm-undname: Fix assert-on->4GiB-string-literal, found by oss-fuzz 2019-04-24 16:09:38 +00:00
ExecutionEngine [JITLink] Track section alignment and make sure it is respected during layout. 2019-05-13 04:51:31 +00:00
Fuzzer
FuzzMutate [opaque pointer types] Pass value type to LoadInst creation. 2019-02-01 20:44:24 +00:00
IR Add constrained fptrunc and fpext intrinsics. 2019-05-13 13:23:30 +00:00
IRReader [IRReader] Expose getLazyIRModule 2019-02-11 22:01:13 +00:00
LineEditor Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Linker [Linker] Fix crash handling appending linkage 2019-03-20 19:20:07 +00:00
LTO [ThinLTO] Don't internalize weak writeable variables 2019-05-13 11:53:05 +00:00
MC [MC][ELF] Copy top 3 bits of st_other to .symver aliases 2019-05-10 17:09:25 +00:00
MCA [MCA] Remove dead assignment. NFC 2019-05-08 10:28:56 +00:00
Object [Object] Move ELF specific ObjectFile::getBuildAttributes to ELFObjectFileBase 2019-05-10 10:19:08 +00:00
ObjectYAML [COFF] Fix .bss section size bug in obj2yaml / yaml2obj 2019-05-10 21:53:44 +00:00
Option Option spell checking: Penalize delimiter flags if input has no argument 2019-05-01 16:45:15 +00:00
Passes [NewPM] Setup Passes for KASan and KMSan 2019-05-09 06:09:35 +00:00
ProfileData Fix a few -Werror warnings: 2019-04-30 21:44:21 +00:00
Remarks [Remarks] Add string deduplication using a string table 2019-04-24 00:06:24 +00:00
Support FileCheck [5/12]: Introduce regular numeric variables 2019-05-13 12:39:08 +00:00
TableGen [TableGen] Fix null pointer dereferencing in token parser. 2019-04-30 13:09:55 +00:00
Target [TargetLowering] Handle multi depth GEPs w/ inline asm constraints 2019-05-13 17:27:44 +00:00
Testing [Testing] Move clangd::Annotations to llvm testing support 2019-04-25 10:08:31 +00:00
TextAPI [TextAPI] Fix Symbol::dump which was failing to append the SymbolKind string. 2019-04-29 18:25:04 +00:00
ToolDrivers [llvm-ar][libObject] Fix relative paths when nesting thin archives. 2019-02-13 23:39:41 +00:00
Transforms [InstCombine] try harder to form rotate (funnel shift) (PR20750) 2019-05-13 17:28:19 +00:00
WindowsManifest Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
XRay Use llvm::stable_sort 2019-04-23 14:51:27 +00:00
CMakeLists.txt [OptRemarks] Make OptRemarks more generic: rename OptRemarks to Remarks 2019-03-05 20:45:17 +00:00
LLVMBuild.txt [OptRemarks] Make OptRemarks more generic: rename OptRemarks to Remarks 2019-03-05 20:45:17 +00:00