mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-22 04:22:57 +02:00
[Hexagon] Solo instructions cannot be used with new value jumps
llvm-svn: 319470
This commit is contained in:
parent
b450e44d98
commit
aafdd52306
@ -139,6 +139,9 @@ static bool canBeFeederToNewValueJump(const HexagonInstrInfo *QII,
|
||||
if (II->isImplicitDef())
|
||||
return false;
|
||||
|
||||
if (QII->isSolo(*II))
|
||||
return false;
|
||||
|
||||
// Make sure there there is no 'def' or 'use' of any of the uses of
|
||||
// feeder insn between it's definition, this MI and jump, jmpInst
|
||||
// skipping compare, cmpInst.
|
||||
|
19
test/CodeGen/Hexagon/newvaluejump-solo.mir
Normal file
19
test/CodeGen/Hexagon/newvaluejump-solo.mir
Normal file
@ -0,0 +1,19 @@
|
||||
# RUN: llc -march=hexagon -run-pass hexagon-packetizer %s -o - | FileCheck %s
|
||||
|
||||
# Check that there is no new-value jump:
|
||||
# CHECK-LABEL: name: fred
|
||||
# CHECK-NOT: if{{.*}}cmp
|
||||
---
|
||||
name: fred
|
||||
tracksRegLiveness: true
|
||||
|
||||
body: |
|
||||
bb.0:
|
||||
successors: %bb.1
|
||||
%r0 = A2_tfrsi 0
|
||||
%r0 = V6_extractw killed undef %v0, %r0
|
||||
%p0 = C2_cmpeqi killed %r0, 1
|
||||
J2_jumpf killed %p0, %bb.1, implicit-def %pc
|
||||
|
||||
bb.1:
|
||||
...
|
Loading…
Reference in New Issue
Block a user