source: icGREP/icgrep-devel/icgrep/pablo/pe_phi.h @ 5368

Last change on this file since 5368 was 5368, checked in by nmedfort, 2 years ago

Work on non carry collapsing mode. Beginning work on pablo-level phi nodes.

File size: 709 bytes
Line 
1#ifndef PE_PHI_H
2#define PE_PHI_H
3
4#include <pablo/pabloAST.h>
5#include <pablo/pe_string.h>
6
7namespace pablo {
8
9class Phi : public Variadic {
10    friend class PabloBlock;
11public:
12    static inline bool classof(const PabloAST * e) {
13        return e->getClassTypeId() == ClassTypeId::Phi;
14    }
15    static inline bool classof(const void *) {
16        return false;
17    }
18    virtual ~Phi(){
19    }
20    PabloAST * getIncomingValue(const unsigned i) const {
21        return getOperand(i);
22    }
23protected:
24    Phi(llvm::Type * type, const unsigned NumReservedValues, const String * const name, Allocator & allocator)
25    : Variadic(ClassTypeId::Phi, type, NumReservedValues, name, allocator) {
26
27    }
28};
29
30}
31
32#endif
Note: See TracBrowser for help on using the repository browser.