Skip to content

Outliner::Preprocess::transformThisExprs

Canonicalize references to 'this'.

Synopsis

Declared in <src/midend/programTransformation/astOutlining/Preprocess.hh>

SgBasicBlock*
transformThisExprs(SgBasicBlock* b);

Description

Given a basic block with 'this' expressions:

{ ... this ... }

creates a level of indirection to 'this' through an explicit local variable, so that the outliner includes it in the outlined function parameter list:

// 'this' shell { TYPEOF(this)* this__ptr__ = (TYPEOF(this) *)this; { ... this__ptr__ ... } }

Return Value

This class represents the concept of a block (not a basic block from control flow analysis).

Parameters

Name

Description

b

This class represents the concept of a block (not a basic block from control flow analysis).

Created with MrDocs