summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
diff options
context:
space:
mode:
authorSam Parker <sam.parker@arm.com>2019-12-20 08:42:11 +0000
committerSam Parker <sam.parker@arm.com>2019-12-20 08:42:11 +0000
commit404251833521770732646c4348f774b94b40df72 (patch)
tree413e2f78e7da7a7efd42bd9812a1cb8025f7d9e1 /llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
parent4f0fe6b97e4463d5c8571ac71b23c63387251444 (diff)
downloadbcm5719-llvm-404251833521770732646c4348f774b94b40df72.tar.gz
bcm5719-llvm-404251833521770732646c4348f774b94b40df72.zip
[ARM][MVE] Tail predicate in the presence of vcmp
Record the discovered VPT blocks while checking for validity and, for now, only handle blocks that begin with VPST and not VPT. We're now allowing more than one instruction to define vpr, but each block must somehow be predicated using the vctp. This leaves us with several scenarios which need fixing up: 1) A VPT block with is only predicated by the vctp and has no internal vpr defs. 2) A VPT block which is only predicated by the vctp but has an internal vpr def. 3) A VPT block which is predicated upon the vctp as well as another vpr def. 4) A VPT block which is not predicated upon a vctp, but contains it and all instructions within the block are predicated upon in. The changes needed are, for: 1) The easy one, just remove the vpst and unpredicate the instructions in the block. 2) Remove the vpst and unpredicate the instructions up to the internal vpr def. Need insert a new vpst to predicate the remaining instructions. 3) No nothing. 4) The vctp will be inside a vpt and the instruction will be removed, so adjust the size of the mask on the vpst. Differential Revision: https://reviews.llvm.org/D71107
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud