CodeQL library for C/C++
codeql/cpp-all 0.12.12-dev (changelog, source)
Search

Module TInstruction

Import path

import semmle.code.cpp.ir.implementation.internal.TInstruction

Datatypes

TInstruction

An IR instruction. TInstruction is shared across all phases of the IR. There are individual branches of this type for instructions created directly from the AST (TRawInstruction) and for instructions added by each stage of SSA construction (T*PhiInstruction, T*ChiInstruction, T*UnreachedInstruction). Each stage then defines a TStageInstruction type that is a union of all of the branches that can appear in that particular stage. The public Instruction class for each phase extends the TStageInstruction type for that stage.

Modules

AliasedSsaInstructions

Provides wrappers for the constructors of each branch of TInstruction that is used by the aliased SSA stage. These wrappers are not parameterized because it is not possible to invoke an IPA constructor via a class alias.

UnaliasedSsaInstructions

Provides wrappers for the constructors of each branch of TInstruction that is used by the unaliased SSA stage. These wrappers are not parameterized because it is not possible to invoke an IPA constructor via a class alias.