summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/Hexagon
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2019-09-09 12:33:22 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2019-09-09 12:33:22 +0000
commit462e3d8050faf6442b678a9089933542b7c0e84c (patch)
tree0ace17df642cf39f2acf38adb8fd6c33b7ee97ad /llvm/test/CodeGen/Hexagon
parent5b270932cc6ee39d977d397bafc363e9c5df040f (diff)
downloadbcm5719-llvm-462e3d8050faf6442b678a9089933542b7c0e84c.tar.gz
bcm5719-llvm-462e3d8050faf6442b678a9089933542b7c0e84c.zip
Revert rL371198 from llvm/trunk: [DFAPacketizer] Track resources for packetized instructions
This patch allows the DFAPacketizer to be queried after a packet is formed to work out which resources were allocated to the packetized instructions. This is particularly important for targets that do their own bundle packing - it's not sufficient to know simply that instructions can share a packet; which slots are used is also required for encoding. This extends the emitter to emit a side-table containing resource usage diffs for each state transition. The packetizer maintains a set of all possible resource states in its current state. After packetization is complete, all remaining resource states are possible packetization strategies. The sidetable is only ~500K for Hexagon, but the extra tracking is disabled by default (most uses of the packetizer like MachinePipeliner don't care and don't need the extra maintained state). Differential Revision: https://reviews.llvm.org/D66936 ........ Reverted as this is causing "compiler out of heap space" errors on MSVC 2017/19 NDEBUG builds llvm-svn: 371393
Diffstat (limited to 'llvm/test/CodeGen/Hexagon')
-rw-r--r--llvm/test/CodeGen/Hexagon/packetizer-resources.ll29
1 files changed, 0 insertions, 29 deletions
diff --git a/llvm/test/CodeGen/Hexagon/packetizer-resources.ll b/llvm/test/CodeGen/Hexagon/packetizer-resources.ll
deleted file mode 100644
index 9bd0cb1f5fa..00000000000
--- a/llvm/test/CodeGen/Hexagon/packetizer-resources.ll
+++ /dev/null
@@ -1,29 +0,0 @@
-; RUN: llc -O2 -march=hexagon < %s -debug-only=packets 2>&1 | FileCheck %s
-; REQUIRES: asserts
-
-; CHECK: Finalizing packet:
-; CHECK-NEXT: * [res:0x8] renamable $r1 = S2_vsplatrb renamable $r0
-; CHECK-NEXT: * [res:0x4] renamable $d1 = S2_vsplatrh killed renamable $r0
-
-target triple = "hexagon"
-
-; Function Attrs: nounwind readnone
-define i64 @f0(i64 %a0) #0 {
-b0:
- %v0 = trunc i64 %a0 to i32
- %v1 = and i32 %v0, 65535
- %v2 = tail call i64 @llvm.hexagon.S2.vsplatrh(i32 %v1)
- %v3 = and i32 %v0, 255
- %v4 = tail call i32 @llvm.hexagon.S2.vsplatrb(i32 %v3)
- %v5 = sext i32 %v4 to i64
- %v6 = add nsw i64 %v5, %v2
- ret i64 %v6
-}
-
-; Function Attrs: nounwind readnone
-declare i64 @llvm.hexagon.S2.vsplatrh(i32) #0
-
-; Function Attrs: nounwind readnone
-declare i32 @llvm.hexagon.S2.vsplatrb(i32) #0
-
-attributes #0 = { nounwind readnone }
OpenPOWER on IntegriCloud