mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-27 00:21:03 +00:00
*** empty log message ***
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
62
include/llvm/CodeGen/ValueSet.h
Normal file
62
include/llvm/CodeGen/ValueSet.h
Normal file
@@ -0,0 +1,62 @@
|
||||
/* Title: ValueSet.h
|
||||
Author: Ruchira Sasanka
|
||||
Date: Jun 30, 01
|
||||
Purpose: Contains a mathematical set of Values. LiveVarSet is derived from
|
||||
this. Contains both class and method definitions
|
||||
*/
|
||||
|
||||
#ifndef VALUE_SET_H
|
||||
#define VALUE_SET_H
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <hash_set>
|
||||
#include <algorithm>
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
|
||||
#include "llvm/Value.h"
|
||||
|
||||
|
||||
//------------------------ Support functions ---------------------------------
|
||||
|
||||
struct hashFuncValue { // sturcture containing the hash function.
|
||||
inline size_t operator () (const Value *const val) const
|
||||
{ return (size_t) val; }
|
||||
};
|
||||
|
||||
|
||||
|
||||
//------------------- Class Definition for ValueSet ----------------------------
|
||||
|
||||
void printValue( const Value *const v); // func to print a Value
|
||||
|
||||
|
||||
|
||||
class ValueSet : public hash_set<const Value *, hashFuncValue >
|
||||
{
|
||||
|
||||
public:
|
||||
ValueSet(); // constructor
|
||||
|
||||
inline void add(const Value *const val)
|
||||
{ assert( val ); insert(val);} // for adding a live variable to set
|
||||
|
||||
inline void remove(const Value *const val)
|
||||
{ assert( val ); erase(val); } // for removing a live variable from set
|
||||
|
||||
bool setUnion( const ValueSet *const set1); // for performing two set unions
|
||||
void setSubtract( const ValueSet *const set1); // for performing set difference
|
||||
|
||||
// for performing set difference
|
||||
void setDifference( const ValueSet *const set1, const ValueSet *const set2);
|
||||
|
||||
void printSet() const; // for printing a live variable set
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user