Home | History | Annotate | Line # | Download | only in PowerPC
      1 //===---- PPCCCState.cpp - CCState with PowerPC specific extensions ---------===//
      2 //
      3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
      4 // See https://llvm.org/LICENSE.txt for license information.
      5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
      6 //
      7 //===----------------------------------------------------------------------===//
      8 
      9 #include "PPCCCState.h"
     10 #include "PPCSubtarget.h"
     11 #include "llvm/IR/Module.h"
     12 using namespace llvm;
     13 
     14 // Identify lowered values that originated from ppcf128 arguments and record
     15 // this.
     16 void PPCCCState::PreAnalyzeCallOperands(
     17     const SmallVectorImpl<ISD::OutputArg> &Outs) {
     18   for (const auto &I : Outs) {
     19     if (I.ArgVT == llvm::MVT::ppcf128)
     20       OriginalArgWasPPCF128.push_back(true);
     21     else
     22       OriginalArgWasPPCF128.push_back(false);
     23   }
     24 }
     25 
     26 void PPCCCState::PreAnalyzeFormalArguments(
     27     const SmallVectorImpl<ISD::InputArg> &Ins) {
     28   for (const auto &I : Ins) {
     29     if (I.ArgVT == llvm::MVT::ppcf128) {
     30       OriginalArgWasPPCF128.push_back(true);
     31     } else {
     32       OriginalArgWasPPCF128.push_back(false);
     33     }
     34   }
     35 }
     36