diff options
author | Reid Kleckner <rnk@google.com> | 2018-11-01 19:54:45 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2018-11-01 19:54:45 +0000 |
commit | 4dc0b1ac60f947c23bbb0e20a7efb636c214b0a8 (patch) | |
tree | be694515ce144c8d6ab1d1031b1f44817faac9ae /llvm/lib/Target/Hexagon | |
parent | de4f7747837cbd9db9cb393c05283964fbc4a985 (diff) | |
download | bcm5719-llvm-4dc0b1ac60f947c23bbb0e20a7efb636c214b0a8.tar.gz bcm5719-llvm-4dc0b1ac60f947c23bbb0e20a7efb636c214b0a8.zip |
Fix clang -Wimplicit-fallthrough warnings across llvm, NFC
This patch should not introduce any behavior changes. It consists of
mostly one of two changes:
1. Replacing fall through comments with the LLVM_FALLTHROUGH macro
2. Inserting 'break' before falling through into a case block consisting
of only 'break'.
We were already using this warning with GCC, but its warning behaves
slightly differently. In this patch, the following differences are
relevant:
1. GCC recognizes comments that say "fall through" as annotations, clang
doesn't
2. GCC doesn't warn on "case N: foo(); default: break;", clang does
3. GCC doesn't warn when the case contains a switch, but falls through
the outer case.
I will enable the warning separately in a follow-up patch so that it can
be cleanly reverted if necessary.
Reviewers: alexfh, rsmith, lattner, rtrieu, EricWF, bollu
Differential Revision: https://reviews.llvm.org/D53950
llvm-svn: 345882
Diffstat (limited to 'llvm/lib/Target/Hexagon')
5 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp b/llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp index 424be5e4476..ba9f638796e 100644 --- a/llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp +++ b/llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp @@ -1208,6 +1208,7 @@ void HCE::recordExtender(MachineInstr &MI, unsigned OpNum) { case Hexagon::S4_subaddi: // (__: ## - Rs<<0) ED.Expr.Rs = MI.getOperand(OpNum+1); ED.Expr.Neg = true; + break; default: // (__: ## + __<<_) break; } diff --git a/llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp b/llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp index 8f22a71dc1f..fa192391313 100644 --- a/llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp +++ b/llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp @@ -2463,6 +2463,7 @@ APInt HexagonConstEvaluator::getCmpImm(unsigned Opc, unsigned OpX, case Hexagon::A4_cmpheqi: // s8 case Hexagon::C4_cmpneqi: // s8 Signed = true; + break; case Hexagon::A4_cmpbeqi: // u8 break; case Hexagon::C2_cmpgtui: // u9 diff --git a/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp b/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp index 9a66aece579..470b05bda4c 100644 --- a/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp +++ b/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp @@ -1547,6 +1547,7 @@ bool HexagonDAGToDAGISel::keepsLowBits(const SDValue &Val, unsigned NumBits, return true; } } + break; } default: break; diff --git a/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp b/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp index ebfe21bd17d..908ce24136c 100644 --- a/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp +++ b/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp @@ -105,6 +105,7 @@ bool VLIWResourceModel::isResourceAvailable(SUnit *SU, bool IsTop) { default: if (!ResourcesModel->canReserveResources(*SU->getInstr())) return false; + break; case TargetOpcode::EXTRACT_SUBREG: case TargetOpcode::INSERT_SUBREG: case TargetOpcode::SUBREG_TO_REG: diff --git a/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp b/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp index 93b5bedbb38..722699907ca 100644 --- a/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp +++ b/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp @@ -1568,6 +1568,7 @@ bool HexagonPacketizerList::isLegalToPacketizeTogether(SUnit *SUI, SUnit *SUJ) { if (GlueAllocframeStore) continue; } + break; default: break; } |