LLVM
4.0.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
llvm.src
lib
Target
PowerPC
PPCCCState.cpp
Go to the documentation of this file.
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
//===----------------------------------------------------------------------===//
9
10
#include "
PPCCCState.h
"
11
#include "
PPCSubtarget.h
"
12
#include "
llvm/IR/Module.h
"
13
using namespace
llvm;
14
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
);
24
}
25
}
26
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
);
34
}
35
}
36
}
llvm::SmallVectorTemplateBase::push_back
void push_back(const T &Elt)
Definition:
SmallVector.h:211
llvm::PPCCCState::PreAnalyzeCallOperands
void PreAnalyzeCallOperands(const SmallVectorImpl< ISD::OutputArg > &Outs)
Definition:
PPCCCState.cpp:17
llvm::SmallVectorImpl< ISD::OutputArg >
llvm::MVT::ppcf128
Definition:
MachineValueType.h:54
llvm::MipsISD::Ins
Definition:
MipsISelLowering.h:109
llvm::PPCCCState::PreAnalyzeFormalArguments
void PreAnalyzeFormalArguments(const SmallVectorImpl< ISD::InputArg > &Ins)
Definition:
PPCCCState.cpp:27
Module.h
Module.h This file contains the declarations for the Module class.
PPCCCState.h
PPCSubtarget.h
I
#define I(x, y, z)
Definition:
MD5.cpp:54
Generated on Wed Mar 8 2017 17:19:00 for LLVM by
1.8.6