From: Nemanja Ivanovic Date: Wed, 20 Dec 2017 15:44:32 +0000 (+0000) Subject: [JumpTables] Let targets decide which switch instructions are suitable X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=39c264a5b7867acd4aa18a8890376d0d2c08c859;p=llvm [JumpTables] Let targets decide which switch instructions are suitable This commits the non-controversial part of https://reviews.llvm.org/D41029 (making the queries virtual). The PPC-specific portion of this will be committed in a subsequent patch once some of the finer points are ironed out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321182 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/CodeGen/TargetLowering.h b/include/llvm/CodeGen/TargetLowering.h index 4cf589e0c75..380e3b19dc8 100644 --- a/include/llvm/CodeGen/TargetLowering.h +++ b/include/llvm/CodeGen/TargetLowering.h @@ -824,8 +824,8 @@ public: /// also combined within this function. Currently, the minimum size check is /// performed in findJumpTable() in SelectionDAGBuiler and /// getEstimatedNumberOfCaseClusters() in BasicTTIImpl. - bool isSuitableForJumpTable(const SwitchInst *SI, uint64_t NumCases, - uint64_t Range) const { + virtual bool isSuitableForJumpTable(const SwitchInst *SI, uint64_t NumCases, + uint64_t Range) const { const bool OptForSize = SI->getParent()->getParent()->optForSize(); const unsigned MinDensity = getMinimumJumpTableDensity(OptForSize); const unsigned MaxJumpTableSize = @@ -1276,7 +1276,7 @@ public: } /// Return lower limit for number of blocks in a jump table. - unsigned getMinimumJumpTableEntries() const; + virtual unsigned getMinimumJumpTableEntries() const; /// Return lower limit of the density in a jump table. unsigned getMinimumJumpTableDensity(bool OptForSize) const;