llvm/utils
Nikolay Haustov 344528bfec [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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@262314 91177308-0d34-0410-b5e6-96231b3b80d8
2016-03-01 08:34:43 +00:00
..
bugpoint
count Remove autoconf support 2016-01-26 21:29:08 +00:00
crosstool
emacs
FileCheck Reapply r262092: [FileCheck] Abort if -NOT is combined with another suffix. 2016-02-29 22:13:03 +00:00
fpcmp Remove autoconf support 2016-01-26 21:29:08 +00:00
git
git-svn
jedit
kate
KillTheDoctor Modernize to range-based loop 2016-01-07 07:58:25 +00:00
lint
lit The canonical way to XFAIL a test for all targets is XFAIL: *, not XFAIL: 2016-02-04 16:21:38 +00:00
llvm-build llvm-config: Add preliminary Windows support 2016-02-09 19:41:14 +00:00
llvm-lit Remove autoconf support 2016-01-26 21:29:08 +00:00
Misc
not Remove autoconf support 2016-01-26 21:29:08 +00:00
PerfectShuffle Remove autoconf support 2016-01-26 21:29:08 +00:00
release [test-release.sh] Add lldb to list of projects (disabled by default) 2016-02-29 11:04:39 +00:00
TableGen [TableGen] AsmMatcher: Skip optional operands in the midle of instruction if it is not present 2016-03-01 08:34:43 +00:00
Target/ARM
testgen
textmate
unittest Avoid linking LLVM component libraries with libLLVM 2016-02-12 01:42:43 +00:00
valgrind
vim [vim] Add token type to Vim syntax file. 2015-12-28 19:51:04 +00:00
yaml-bench Remove autoconf support 2016-01-26 21:29:08 +00:00
bisect
check-each-file
clang-parse-diagnostics-file
codegen-diff
countloc.sh
create_ladder_graph.py
DSAclean.py
DSAextract.py
findmisopt
findoptdiff
findsym.pl
GenLibDeps.pl
GetRepositoryPath
GetSourceVersion
getsrcs.sh
lldbDataFormatters.py
llvm-compilers-check
llvm-native-gxx
llvm.grm
llvm.natvis
LLVMBuild.txt
llvmdo
llvmgrep
makellvm
schedcover.py
shuffle_fuzz.py
sort_includes.py
test_debuginfo.pl
update_llc_test_checks.py [utils] Add windows support to update_llc_test_checks.py 2016-01-27 21:13:18 +00:00
UpdateCMakeLists.pl
wciia.py