1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/test
Sanjay Patel f685720721 [InstCombine] use commutative matchers for patterns with commutative operators
Background/motivation - I was circling back around to:
https://llvm.org/bugs/show_bug.cgi?id=28296

I made a simple patch for that and noticed some regressions, so added test cases for
those with rL281055, and this is hopefully the minimal fix for just those cases.

But as you can see from the surrounding untouched folds, we are missing commuted patterns
all over the place, and of course there are no regression tests to cover any of those cases.

We could sprinkle "m_c_" dust all over this file and catch most of the missing folds, but 
then we still wouldn't have test coverage, and we'd still miss some fraction of commuted 
patterns because they require adjustments to the match order.

I'm aware of the concern about the potential compile-time performance impact of adding 
matches like this (currently being discussed on llvm-dev), but I don't think there's any
evidence yet to suggest that handling commutative pattern matching more thoroughly is not
a worthwhile goal of InstCombine.

Differential Revision: https://reviews.llvm.org/D24419

llvm-svn: 290067
2016-12-18 18:49:48 +00:00
..
Analysis [AArch64] Guard Misaligned 128-bit store penalty by subtarget feature 2016-12-15 18:36:59 +00:00
Assembler Revert "[IR] Remove the DIExpression field from DIGlobalVariable." 2016-12-16 19:39:01 +00:00
Bindings
Bitcode Revert "[IR] Remove the DIExpression field from DIGlobalVariable." 2016-12-16 19:39:01 +00:00
BugPoint
CodeGen Revert r289955 and r289962. This is causing lots of ASAN failures for us. 2016-12-18 14:36:38 +00:00
DebugInfo Allow "line 0" to be the first explicit debug location in a function. 2016-12-16 23:54:33 +00:00
Examples
ExecutionEngine Fix R_AARCH64_MOVW_UABS_G3 relocation 2016-12-15 22:36:53 +00:00
Feature
FileCheck
Instrumentation Revert "[IR] Remove the DIExpression field from DIGlobalVariable." 2016-12-16 19:39:01 +00:00
Integer
JitListener
LibDriver LibDriver: Allow resource files to be archive members. 2016-12-15 19:37:46 +00:00
Linker Revert "[IR] Remove the DIExpression field from DIGlobalVariable." 2016-12-16 19:39:01 +00:00
LTO Revert "[IR] Remove the DIExpression field from DIGlobalVariable." 2016-12-16 19:39:01 +00:00
MC [X86] [AVX512] Minor fix in encoding of scalar EVEX instructions. NFC. 2016-12-18 14:29:00 +00:00
Object Object: Make IRObjectFile own multiple modules and enumerate symbols from all modules. 2016-12-13 20:20:17 +00:00
ObjectYAML [ObjectYAML] Support for DWARF debug_aranges 2016-12-09 00:26:44 +00:00
Other [PM] Further broaden this test's regex as both the CGSCC and Function 2016-12-10 07:59:59 +00:00
SymbolRewriter
TableGen
ThinLTO/X86 [ThinLTO] Import composite types as declarations 2016-12-16 21:25:01 +00:00
tools [sancov] skip dead files from computations 2016-12-17 00:11:48 +00:00
Transforms [InstCombine] use commutative matchers for patterns with commutative operators 2016-12-18 18:49:48 +00:00
Unit
Verifier Revert "[IR] Remove the DIExpression field from DIGlobalVariable." 2016-12-16 19:39:01 +00:00
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg lit.cfg: Check value of build config rather than converting to boolean 2016-12-14 17:05:34 +00:00
lit.site.cfg.in Revert gold part of change, just liblto 2016-12-14 16:20:25 +00:00
TestRunner.sh