mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-03 14:21:30 +00:00 
			
		
		
		
	by Analysis and Transformation passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24038 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
//===-- ConstantFolding.h - Analyze constant folding possibilities --------===//
 | 
						|
//
 | 
						|
//                     The LLVM Compiler Infrastructure
 | 
						|
//
 | 
						|
// This file was developed by the LLVM research group and is distributed under
 | 
						|
// the University of Illinois Open Source License. See LICENSE.TXT for details.
 | 
						|
//
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
//
 | 
						|
// This family of functions determines the possibility of performing constant
 | 
						|
// folding.
 | 
						|
//
 | 
						|
//===----------------------------------------------------------------------===//
 | 
						|
 | 
						|
#include "llvm/Constants.h"
 | 
						|
#include "llvm/Function.h"
 | 
						|
using namespace llvm;
 | 
						|
 | 
						|
namespace llvm {
 | 
						|
 | 
						|
/// canConstantFoldCallTo - Return true if its even possible to fold a call to
 | 
						|
/// the specified function.
 | 
						|
extern
 | 
						|
bool canConstantFoldCallTo(Function *F);
 | 
						|
 | 
						|
/// ConstantFoldFP - Given a function that evaluates the constant, return an
 | 
						|
///                  LLVM Constant that represents the evaluated constant
 | 
						|
extern Constant *
 | 
						|
ConstantFoldFP(double (*NativeFP)(double), double V, const Type *Ty);
 | 
						|
 | 
						|
/// ConstantFoldCall - Attempt to constant fold a call to the specified function
 | 
						|
/// with the specified arguments, returning null if unsuccessful.
 | 
						|
extern Constant *
 | 
						|
ConstantFoldCall(Function *F, const std::vector<Constant*> &Operands);
 | 
						|
}
 | 
						|
 |