Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
Scope.h File Reference

Defines the Scope class, which is used for keeping track of names in a scope while traversing IR. More...

#include <iostream>
#include <map>
#include <stack>
#include <string>
#include <utility>
#include <vector>
#include "Debug.h"
#include "Error.h"

Go to the source code of this file.

Classes

class  Halide::Internal::SmallStack< T >
 A stack which can store one item very efficiently. More...
 
class  Halide::Internal::SmallStack< void >
 
class  Halide::Internal::Scope< T >
 A common pattern when traversing Halide IR is that you need to keep track of stuff when you find a Let or a LetStmt, and that it should hide previous values with the same name until you leave the Let or LetStmt nodes This class helps with that. More...
 
struct  Halide::Internal::Scope< T >::PushToken
 
class  Halide::Internal::Scope< T >::const_iterator
 Iterate through the scope. More...
 
struct  Halide::Internal::ScopedBinding< T >
 Helper class for pushing/popping Scope<> values, to allow for early-exit in Visitor/Mutators that preserves correctness. More...
 
struct  Halide::Internal::ScopedBinding< void >
 

Namespaces

namespace  Halide
 This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
 
namespace  Halide::Internal
 

Functions

template<typename T >
std::ostream & Halide::Internal::operator<< (std::ostream &stream, const Scope< T > &s)
 

Detailed Description

Defines the Scope class, which is used for keeping track of names in a scope while traversing IR.

Definition in file Scope.h.