forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
| //===---- PPCCCState.cpp - CCState with PowerPC specific extensions ---------===//
 | |
| //
 | |
| //                     The LLVM Compiler Infrastructure
 | |
| //
 | |
| // This file is distributed under the University of Illinois Open Source
 | |
| // License. See LICENSE.TXT for details.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #include "PPCCCState.h"
 | |
| #include "PPCSubtarget.h"
 | |
| #include "llvm/IR/Module.h"
 | |
| using namespace llvm;
 | |
| 
 | |
| // Identify lowered values that originated from ppcf128 arguments and record
 | |
| // this.
 | |
| void PPCCCState::PreAnalyzeCallOperands(
 | |
|     const SmallVectorImpl<ISD::OutputArg> &Outs) {
 | |
|   for (const auto &I : Outs) {
 | |
|     if (I.ArgVT == llvm::MVT::ppcf128)
 | |
|       OriginalArgWasPPCF128.push_back(true);
 | |
|     else
 | |
|       OriginalArgWasPPCF128.push_back(false);
 | |
|   }
 | |
| }
 | |
| 
 | |
| void PPCCCState::PreAnalyzeFormalArguments(
 | |
|     const SmallVectorImpl<ISD::InputArg> &Ins) {
 | |
|   for (const auto &I : Ins) {
 | |
|     if (I.ArgVT == llvm::MVT::ppcf128) {
 | |
|       OriginalArgWasPPCF128.push_back(true);
 | |
|     } else {
 | |
|       OriginalArgWasPPCF128.push_back(false);
 | |
|     }
 | |
|   }
 | |
| } |