From 12e03aa5fe7e8e0eaf48214da270807b94c04a16 Mon Sep 17 00:00:00 2001 From: Krzysztof Parzyszek Date: Wed, 10 Aug 2016 16:23:53 +0000 Subject: [PATCH] [Hexagon] Delete HexagonSelectCCInfo.td This file is not used. The location assignment of call arguments and return values is implemented directly in HexagonISelLowering. llvm-svn: 278237 --- llvm/lib/Target/Hexagon/CMakeLists.txt | 1 - llvm/lib/Target/Hexagon/HexagonSelectCCInfo.td | 121 ------------------------- 2 files changed, 122 deletions(-) delete mode 100644 llvm/lib/Target/Hexagon/HexagonSelectCCInfo.td diff --git a/llvm/lib/Target/Hexagon/CMakeLists.txt b/llvm/lib/Target/Hexagon/CMakeLists.txt index 6f20d7f..93d6653 100644 --- a/llvm/lib/Target/Hexagon/CMakeLists.txt +++ b/llvm/lib/Target/Hexagon/CMakeLists.txt @@ -2,7 +2,6 @@ set(LLVM_TARGET_DEFINITIONS Hexagon.td) tablegen(LLVM HexagonGenAsmMatcher.inc -gen-asm-matcher) tablegen(LLVM HexagonGenAsmWriter.inc -gen-asm-writer) -tablegen(LLVM HexagonGenCallingConv.inc -gen-callingconv) tablegen(LLVM HexagonGenDAGISel.inc -gen-dag-isel) tablegen(LLVM HexagonGenDFAPacketizer.inc -gen-dfa-packetizer) tablegen(LLVM HexagonGenDisassemblerTables.inc -gen-disassembler) diff --git a/llvm/lib/Target/Hexagon/HexagonSelectCCInfo.td b/llvm/lib/Target/Hexagon/HexagonSelectCCInfo.td deleted file mode 100644 index d8feb89..0000000 --- a/llvm/lib/Target/Hexagon/HexagonSelectCCInfo.td +++ /dev/null @@ -1,121 +0,0 @@ -//===-- HexagoSelectCCInfo.td - Selectcc mappings ----------*- tablegen -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - - -// -// selectcc mappings. -// -def : Pat <(i32 (selectcc IntRegs:$lhs, IntRegs:$rhs, IntRegs:$tval, - IntRegs:$fval, SETEQ)), - (i32 (MUX_rr (i1 (CMPEQrr IntRegs:$lhs, IntRegs:$rhs)), - IntRegs:$tval, IntRegs:$fval))>; - -def : Pat <(i32 (selectcc IntRegs:$lhs, IntRegs:$rhs, IntRegs:$tval, - IntRegs:$fval, SETNE)), - (i32 (MUX_rr (i1 (NOT_p (CMPEQrr IntRegs:$lhs, IntRegs:$rhs))), - IntRegs:$tval, IntRegs:$fval))>; - -def : Pat <(i32 (selectcc IntRegs:$lhs, IntRegs:$rhs, IntRegs:$tval, - IntRegs:$fval, SETGT)), - (i32 (MUX_rr (i1 (CMPGTrr IntRegs:$lhs, IntRegs:$rhs)), - IntRegs:$tval, IntRegs:$fval))>; - -def : Pat <(i32 (selectcc IntRegs:$lhs, IntRegs:$rhs, IntRegs:$tval, - IntRegs:$fval, SETUGT)), - (i32 (MUX_rr (i1 (CMPGTUrr IntRegs:$lhs, IntRegs:$rhs)), - IntRegs:$tval, IntRegs:$fval))>; - - - -def : Pat <(i32 (selectcc IntRegs:$lhs, IntRegs:$rhs, IntRegs:$tval, - IntRegs:$fval, SETULT)), - (i32 (MUX_rr (i1 (NOT_p (CMPGTUrr IntRegs:$lhs, - (ADD_ri IntRegs:$rhs, -1)))), - IntRegs:$tval, IntRegs:$fval))>; - -def : Pat <(i32 (selectcc IntRegs:$lhs, IntRegs:$rhs, IntRegs:$tval, - IntRegs:$fval, SETLT)), - (i32 (MUX_rr (i1 (NOT_p (CMPGTrr IntRegs:$lhs, - (ADD_ri IntRegs:$rhs, -1)))), - IntRegs:$tval, IntRegs:$fval))>; - -def : Pat <(i32 (selectcc IntRegs:$lhs, IntRegs:$rhs, IntRegs:$tval, - IntRegs:$fval, SETLE)), - (i32 (MUX_rr (i1 (NOT_p (CMPGTrr IntRegs:$lhs, IntRegs:$rhs))), - IntRegs:$tval, IntRegs:$fval))>; - -def : Pat <(i32 (selectcc IntRegs:$lhs, IntRegs:$rhs, IntRegs:$tval, - IntRegs:$fval, SETULE)), - (i32 (MUX_rr (i1 (NOT_p (CMPGTUrr IntRegs:$lhs, IntRegs:$rhs))), - IntRegs:$tval, IntRegs:$fval))>; - - -// -// selectcc mappings for greater-equal-to Rs => greater-than Rs-1. -// -def : Pat <(i32 (selectcc IntRegs:$lhs, IntRegs:$rhs, IntRegs:$tval, - IntRegs:$fval, SETGE)), - (i32 (MUX_rr (i1 (CMPGTrr IntRegs:$lhs, (ADD_ri IntRegs:$rhs, -1))), - IntRegs:$tval, IntRegs:$fval))>; - -def : Pat <(i32 (selectcc IntRegs:$lhs, IntRegs:$rhs, IntRegs:$tval, - IntRegs:$fval, SETUGE)), - (i32 (MUX_rr (i1 (CMPGTUrr IntRegs:$lhs, (ADD_ri IntRegs:$rhs, -1))), - IntRegs:$tval, IntRegs:$fval))>; - - - -// -// selectcc mappings for predicate comparisons. -// -// Convert Rd = selectcc(p0, p1, true_val, false_val, SETEQ) into: -// pt = not(p1 xor p2) -// Rd = mux(pt, true_val, false_val) -// and similarly for SETNE -// -def : Pat <(i32 (selectcc PredRegs:$lhs, PredRegs:$rhs, IntRegs:$tval, - IntRegs:$fval, SETNE)), - (i32 (MUX_rr (i1 (XOR_pp PredRegs:$lhs, PredRegs:$rhs)), IntRegs:$tval, - IntRegs:$fval))>; - -def : Pat <(i32 (selectcc PredRegs:$lhs, PredRegs:$rhs, IntRegs:$tval, - IntRegs:$fval, SETEQ)), - (i32 (MUX_rr (i1 (NOT_p (XOR_pp PredRegs:$lhs, PredRegs:$rhs))), - IntRegs:$tval, IntRegs:$fval))>; - - -// -// selectcc mappings for 64-bit operands are messy. Hexagon does not have a -// MUX64 o, use this: -// selectcc(Rss, Rdd, tval, fval, cond) -> -// combine(mux(cmp_cond(Rss, Rdd), tval.hi, fval.hi), -// mux(cmp_cond(Rss, Rdd), tval.lo, fval.lo)) - -// setgt-64. -def : Pat<(i64 (selectcc DoubleRegs:$lhs, DoubleRegs:$rhs, DoubleRegs:$tval, - DoubleRegs:$fval, SETGT)), - (COMBINE_rr (MUX_rr (CMPGT64rr DoubleRegs:$lhs, DoubleRegs:$rhs), - (EXTRACT_SUBREG DoubleRegs:$tval, subreg_hireg), - (EXTRACT_SUBREG DoubleRegs:$fval, subreg_hireg)), - (MUX_rr (CMPGT64rr DoubleRegs:$lhs, DoubleRegs:$rhs), - (EXTRACT_SUBREG DoubleRegs:$tval, subreg_loreg), - (EXTRACT_SUBREG DoubleRegs:$fval, subreg_loreg)))>; - - -// setlt-64 -> setgt-64. -def : Pat<(i64 (selectcc DoubleRegs:$lhs, DoubleRegs:$rhs, DoubleRegs:$tval, - DoubleRegs:$fval, SETLT)), - (COMBINE_rr (MUX_rr (CMPGT64rr DoubleRegs:$lhs, - (ADD64_rr DoubleRegs:$rhs, (TFRI64 -1))), - (EXTRACT_SUBREG DoubleRegs:$tval, subreg_hireg), - (EXTRACT_SUBREG DoubleRegs:$fval, subreg_hireg)), - (MUX_rr (CMPGT64rr DoubleRegs:$lhs, - (ADD64_rr DoubleRegs:$rhs, (TFRI64 -1))), - (EXTRACT_SUBREG DoubleRegs:$tval, subreg_loreg), - (EXTRACT_SUBREG DoubleRegs:$fval, subreg_loreg)))>; -- 2.7.4