mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84801 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| //===-- LLVMContext.cpp - Implement LLVMContext -----------------------===//
 | |
| //
 | |
| //                     The LLVM Compiler Infrastructure
 | |
| //
 | |
| // This file is distributed under the University of Illinois Open Source
 | |
| // License. See LICENSE.TXT for details.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| //
 | |
| //  This file implements LLVMContext, as a wrapper around the opaque
 | |
| //  class LLVMContextImpl.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #include "llvm/LLVMContext.h"
 | |
| #include "llvm/Metadata.h"
 | |
| #include "llvm/Constants.h"
 | |
| #include "llvm/Instruction.h"
 | |
| #include "llvm/Support/ManagedStatic.h"
 | |
| #include "llvm/Support/ValueHandle.h"
 | |
| #include "LLVMContextImpl.h"
 | |
| #include <set>
 | |
| 
 | |
| using namespace llvm;
 | |
| 
 | |
| static ManagedStatic<LLVMContext> GlobalContext;
 | |
| 
 | |
| LLVMContext& llvm::getGlobalContext() {
 | |
|   return *GlobalContext;
 | |
| }
 | |
| 
 | |
| LLVMContext::LLVMContext() : pImpl(new LLVMContextImpl(*this)) { }
 | |
| LLVMContext::~LLVMContext() { delete pImpl; }
 | |
| 
 | |
| GetElementPtrConstantExpr::GetElementPtrConstantExpr
 | |
|   (Constant *C,
 | |
|    const std::vector<Constant*> &IdxList,
 | |
|    const Type *DestTy)
 | |
|     : ConstantExpr(DestTy, Instruction::GetElementPtr,
 | |
|                    OperandTraits<GetElementPtrConstantExpr>::op_end(this)
 | |
|                    - (IdxList.size()+1),
 | |
|                    IdxList.size()+1) {
 | |
|   OperandList[0] = C;
 | |
|   for (unsigned i = 0, E = IdxList.size(); i != E; ++i)
 | |
|     OperandList[i+1] = IdxList[i];
 | |
| }
 | |
| 
 | |
| MetadataContext &LLVMContext::getMetadata() {
 | |
|   return pImpl->TheMetadata;
 | |
| }
 |