mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	that they preserve all xforms git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3925 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| //===- llvm/Analysis/BasicAliasAnalysis.h - Alias Analysis Impl -*- C++ -*-===//
 | |
| //
 | |
| // This file defines the default implementation of the Alias Analysis interface
 | |
| // that simply implements a few identities (two different globals cannot alias,
 | |
| // etc), but otherwise does no analysis.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #ifndef LLVM_ANALYSIS_BASIC_ALIAS_ANALYSIS_H
 | |
| #define LLVM_ANALYSIS_BASIC_ALIAS_ANALYSIS_H
 | |
| 
 | |
| #include "llvm/Analysis/AliasAnalysis.h"
 | |
| #include "llvm/Pass.h"
 | |
| 
 | |
| struct BasicAliasAnalysis : public ImmutablePass, public AliasAnalysis {
 | |
| 
 | |
|   // alias - This is the only method here that does anything interesting...
 | |
|   //
 | |
|   Result alias(const Value *V1, const Value *V2) const;
 | |
|     
 | |
|   /// canCallModify - We are not interprocedural, so we do nothing exciting.
 | |
|   ///
 | |
|   Result canCallModify(const CallInst &CI, const Value *Ptr) const {
 | |
|     return MayAlias;
 | |
|   }
 | |
|     
 | |
|   /// canInvokeModify - We are not interprocedural, so we do nothing exciting.
 | |
|   ///
 | |
|   Result canInvokeModify(const InvokeInst &I, const Value *Ptr) const {
 | |
|     return MayAlias;  // We are not interprocedural
 | |
|   }
 | |
| };
 | |
| 
 | |
| #endif
 |