[PowerPC] Convert r+r instructions to r+i (pre and post RA)
[llvm-core.git] / lib / Target / PowerPC / PPCCCState.cpp
blob5510a95430f5137f3ab1b399a79038e9e7da3298
1 //===---- 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 //===----------------------------------------------------------------------===//
10 #include "PPCCCState.h"
11 #include "PPCSubtarget.h"
12 #include "llvm/IR/Module.h"
13 using namespace llvm;
15 // Identify lowered values that originated from ppcf128 arguments and record
16 // this.
17 void 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);
27 void 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);