Skip to content

Commit b0f25b1

Browse files
committed
Hexagon: Enable terminal rule
1 parent 884c42e commit b0f25b1

File tree

12 files changed

+13
-11
lines changed

12 files changed

+13
-11
lines changed

llvm/lib/Target/Hexagon/HexagonSubtarget.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,8 @@ class HexagonSubtarget : public HexagonGenSubtargetInfo {
295295
bool useBSBScheduling() const { return UseBSBScheduling; }
296296
bool enableMachineScheduler() const override;
297297

298+
bool enableTerminalRule() const override { return true; }
299+
298300
// Always use the TargetLowering default scheduler.
299301
// FIXME: This will use the vliw scheduler which is probably just hurting
300302
// compiler time and will be removed eventually anyway.

llvm/test/CodeGen/Hexagon/late_instr.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
; RUN: llc -mtriple=hexagon -disable-hsdr < %s | FileCheck %s
1+
; RUN: llc -mtriple=hexagon -disable-hsdr -terminal-rule=0 < %s | FileCheck %s
22

33
; Check if instruction vandqrt.acc and its predecessor are scheduled in consecutive packets.
44
; CHECK: or(q{{[0-3]+}},q{{[0-3]+}})

llvm/test/CodeGen/Hexagon/swp-carried-1.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
; RUN: llc -mtriple=hexagon -rdf-opt=0 -disable-hexagon-misched -hexagon-initial-cfg-cleanup=0 -lsr-setupcost-depth-limit=1 -disable-cgp-delete-phis < %s -pipeliner-experimental-cg=true | FileCheck %s
1+
; RUN: llc -mtriple=hexagon -rdf-opt=0 -disable-hexagon-misched -hexagon-initial-cfg-cleanup=0 -lsr-setupcost-depth-limit=1 -disable-cgp-delete-phis < %s -pipeliner-experimental-cg=true -terminal-rule=0 | FileCheck %s
22

33
; Test that we generate the correct code when a loop carried value
44
; is scheduled one stage earlier than it's use. The code in

llvm/test/CodeGen/Hexagon/swp-conv3x3-nested.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
; RUN: llc -mtriple=hexagon < %s -pipeliner-experimental-cg=true | FileCheck %s
1+
; RUN: llc -mtriple=hexagon < %s -pipeliner-experimental-cg=true -terminal-rule=0 | FileCheck %s
22

33
; This version of the conv3x3 test has both loops. This test checks that the
44
; inner loop has 14 packets.

llvm/test/CodeGen/Hexagon/swp-epilog-phi11.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
; RUN: llc -mtriple=hexagon-unknown-elf -mcpu=hexagonv55 -hexagon-initial-cfg-cleanup=0 < %s | FileCheck %s
1+
; RUN: llc -mtriple=hexagon-unknown-elf -mcpu=hexagonv55 -hexagon-initial-cfg-cleanup=0 -terminal-rule=0 < %s | FileCheck %s
22

33
; Test that the pipeliner correctly generates the operands in the
44
; epilog.

llvm/test/CodeGen/Hexagon/swp-epilog-phi12.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
; RUN: llc -mtriple=hexagon -hexagon-initial-cfg-cleanup=0 -pipeliner-experimental-cg=true -disable-cgp-delete-phis < %s | FileCheck %s
1+
; RUN: llc -mtriple=hexagon -hexagon-initial-cfg-cleanup=0 -pipeliner-experimental-cg=true -disable-cgp-delete-phis -terminal-rule=0 < %s | FileCheck %s
22

33
; Test epilogue generation when reading loop-carried dependency from a previous
44
; stage. The first epilogue should read value from iteration N-1 of the kernel.

llvm/test/CodeGen/Hexagon/swp-epilog-phi7.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
; RUN: llc -mtriple=hexagon -O2 -enable-pipeliner -disable-block-placement=0 < %s | FileCheck %s
1+
; RUN: llc -mtriple=hexagon -O2 -enable-pipeliner -disable-block-placement=0 -terminal-rule=0 < %s | FileCheck %s
22

33
; For the Phis generated in the epilog, test that we generate the correct
44
; names for the values coming from the prolog stages. The test belows

llvm/test/CodeGen/Hexagon/swp-kernel-phi1.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
; RUN: llc -mtriple=hexagon -enable-pipeliner-opt-size -hexagon-initial-cfg-cleanup=0 < %s -pipeliner-experimental-cg=true | FileCheck %s
1+
; RUN: llc -mtriple=hexagon -enable-pipeliner-opt-size -hexagon-initial-cfg-cleanup=0 -terminal-rule=0 < %s -pipeliner-experimental-cg=true | FileCheck %s
22

33
; Test that we generate the correct names for the phis in the kernel for the
44
; incoming values. In this case, the loop contains a phi and has another phi

llvm/test/CodeGen/Hexagon/swp-matmul-bitext.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
; RUN: llc -mtriple=hexagon -mcpu=hexagonv60 -enable-pipeliner < %s | FileCheck %s
1+
; RUN: llc -mtriple=hexagon -mcpu=hexagonv60 -enable-pipeliner -terminal-rule=0 < %s | FileCheck %s
22

33
; From coremark. Test that we pipeline the matrix multiplication bitextract
44
; function. The pipelined code should have two packets.

llvm/test/CodeGen/Hexagon/swp-order-copies.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
; RUN: llc -mtriple=hexagon < %s -pipeliner-experimental-cg=true | FileCheck %s
1+
; RUN: llc -mtriple=hexagon < %s -pipeliner-experimental-cg=true -terminal-rule=0 | FileCheck %s
22

33
; Test that the instruction ordering code in the pipeliner fixes up dependences
44
; between post-increment register definitions and uses so that the register

0 commit comments

Comments
 (0)