blob: 5510a95430f5137f3ab1b399a79038e9e7da3298 [file] [log] [blame]
Strahinja Petrovice682b802016-05-09 12:27:39 +00001//===---- PPCCCState.cpp - CCState with PowerPC specific extensions ---------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#include "PPCCCState.h"
11#include "PPCSubtarget.h"
12#include "llvm/IR/Module.h"
13using namespace llvm;
14
15// Identify lowered values that originated from ppcf128 arguments and record
16// this.
17void PPCCCState::PreAnalyzeCallOperands(
18 const SmallVectorImpl<ISD::OutputArg> &Outs) {
19 for (const auto &I : Outs) {
20 if (I.ArgVT == llvm::MVT::ppcf128)
21 OriginalArgWasPPCF128.push_back(true);
22 else
23 OriginalArgWasPPCF128.push_back(false);
24 }
25}
26
27void PPCCCState::PreAnalyzeFormalArguments(
28 const SmallVectorImpl<ISD::InputArg> &Ins) {
29 for (const auto &I : Ins) {
30 if (I.ArgVT == llvm::MVT::ppcf128) {
31 OriginalArgWasPPCF128.push_back(true);
32 } else {
33 OriginalArgWasPPCF128.push_back(false);
34 }
35 }
36}