Add unmasked { } statement.

This reestablishes an "all on" execution mask for the gang, which can
be useful for nested parallelism..
This commit is contained in:
Matt Pharr
2012-06-22 14:30:58 -07:00
parent b4a078e2f6
commit 54459255d4
10 changed files with 282 additions and 30 deletions

17
stmt.h
View File

@@ -297,6 +297,23 @@ public:
};
/**
*/
class UnmaskedStmt : public Stmt {
public:
UnmaskedStmt(Stmt *stmt, SourcePos pos);
void EmitCode(FunctionEmitContext *ctx) const;
void Print(int indent) const;
Stmt *TypeCheck();
int EstimateCost() const;
Stmt *stmts;
};
/** @brief Statement implementation for a 'return' or 'coherent' return
statement in the program. */
class ReturnStmt : public Stmt {