llvm-project/llvm/test
Nikolay Haustov ea8febde04 [TableGen] AsmMatcher: Skip optional operands in the midle of instruction if it is not present
Previosy, if actual instruction have one of optional operands then other optional operands listed before this also should be presented.
For example instruction v_fract_f32 v0, v1, mul:2 have one optional operand - OMod and do not have optional operand clamp. Previously this was not allowed because clamp is listed before omod in AsmString:

string AsmString = "v_fract_f32$vdst, $src0_modifiers$clamp$omod";
Making this work required some hacks (both OMod and Clamp match classes have same PredicateMethod).

Now, if MatchInstructionImpl meets formal optional operand that is not presented in actual instruction it skips this formal operand and tries to match current actual operand with next formal.

Patch by: Sam Kolton

Review: http://reviews.llvm.org/D17568

[AMDGPU] Assembler: Check immediate types for several optional operands in predicate methods
With this change you should place optional operands in order specified by asm string:

clamp -> omod
offset -> glc -> slc -> tfe
Fixes for several tests.
Depends on D17568

Patch by: Sam Kolton

Review: http://reviews.llvm.org/D17644
llvm-svn: 262314
2016-03-01 08:34:43 +00:00
..
Analysis Another fix the testcase introduced by r261903 - Add the missing matches 2016-02-26 03:41:47 +00:00
Assembler Fix constant folding of constant vector GEPs with undef or null as pointer argument. 2016-01-19 16:34:31 +00:00
Bindings Add support for invoke/landingpad/resume in C API test 2016-02-18 20:38:32 +00:00
Bitcode Restore "[ThinLTO] Use MD5 hash in function index." with fix 2016-02-10 21:55:02 +00:00
BugPoint
CodeGen AMDGPU: Set HasExtractBitInsn 2016-03-01 04:58:17 +00:00
DebugInfo Document an anomaly in this testcase. 2016-02-29 22:28:16 +00:00
Examples
ExecutionEngine Disable the new Orc lazy JIT tests on Windows, they do not pass 2016-02-10 18:46:42 +00:00
Feature [GMR/OperandBundles] Teach getModRefBehavior about operand bundles 2016-02-09 02:31:47 +00:00
FileCheck Reapply r262092: [FileCheck] Abort if -NOT is combined with another suffix. 2016-02-29 22:13:03 +00:00
Instrumentation [PGO] Remove redundant counter copies for avail_extern functions. 2016-02-27 23:11:30 +00:00
Integer
JitListener Fix several accidental DOS line endings in source files 2016-01-03 17:22:03 +00:00
LTO Rename embedded bitcode section in MachO 2016-02-29 19:40:10 +00:00
LibDriver
Linker [ThinLTO] Remove imported available externally defs from comdats. 2016-02-08 18:47:20 +00:00
MC [TableGen] AsmMatcher: Skip optional operands in the midle of instruction if it is not present 2016-03-01 08:34:43 +00:00
Object IRObject: Mark extern_weak as weak. 2016-02-29 14:26:06 +00:00
Other [PM] Wire up optimization levels and default pipeline construction APIs 2016-02-28 22:16:03 +00:00
SymbolRewriter
TableGen SelectionDAG: Make Properties a field of SDPatternOperator 2016-02-10 18:40:04 +00:00
Transforms [LLE] Add testcase for the fix in r262267 2016-03-01 00:50:14 +00:00
Unit
Verifier [Verifier] Diagnose when unwinding out of cycles of blocks 2016-03-01 01:19:05 +00:00
YAMLParser
tools [sancov] print_coverage_points command. 2016-02-27 02:21:44 +00:00
.clang-format
CMakeLists.txt Introduce sanstats tool and llvm::CreateSanitizerStatReport function. 2016-01-16 00:31:11 +00:00
TestRunner.sh
lit.cfg Introduce sanstats tool and llvm::CreateSanitizerStatReport function. 2016-01-16 00:31:11 +00:00
lit.site.cfg.in Make WinCOFFObjectWriter.cpp's timestamp writing not use ENABLE_TIMESTAMPS 2016-01-06 19:05:19 +00:00