]> granicus.if.org Git - llvm/commitdiff
[X86] combineHorizontalPredicateResult - pull out repeated getTargetLoweringInfo...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 2 Sep 2019 10:42:48 +0000 (10:42 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 2 Sep 2019 10:42:48 +0000 (10:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@370637 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp

index 0dd84ab658cebc10e101d9b7eafa08176ba6067b..0483c3f13e4dc139d51c9628e14bdfc52a2e5504 100644 (file)
@@ -35800,12 +35800,13 @@ static SDValue combineHorizontalPredicateResult(SDNode *Extract,
   SDLoc DL(Extract);
   EVT MatchVT = Match.getValueType();
   unsigned NumElts = MatchVT.getVectorNumElements();
+  const TargetLowering &TLI = DAG.getTargetLoweringInfo();
 
   if (ExtractVT == MVT::i1) {
     // Special case for (pre-legalization) vXi1 reductions.
     if (NumElts > 32)
       return SDValue();
-    if (DAG.getTargetLoweringInfo().isTypeLegal(MatchVT)) {
+    if (TLI.isTypeLegal(MatchVT)) {
       // If this is a legal AVX512 predicate type then we can just bitcast.
       EVT MovmskVT = EVT::getIntegerVT(*DAG.getContext(), NumElts);
       Movmsk = DAG.getBitcast(MovmskVT, Match);
@@ -35887,7 +35888,6 @@ static SDValue combineHorizontalPredicateResult(SDNode *Extract,
 
   // The setcc produces an i8 of 0/1, so extend that to the result width and
   // negate to get the final 0/-1 mask value.
-  const TargetLowering &TLI = DAG.getTargetLoweringInfo();
   EVT SetccVT =
       TLI.getSetCCResultType(DAG.getDataLayout(), *DAG.getContext(), MVT::i32);
   SDValue Setcc = DAG.getSetCC(DL, SetccVT, Movmsk, CmpC, CondCode);