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

Module Raw

Provides the portion of the parameterized IR interface that is used to construct the initial “raw” stage of the IR. The other stages of the IR do not expose these predicates.

Import path

import semmle.code.cpp.ir.implementation.raw.internal.IRConstruction

Predicates

functionHasIR
getAllocationExtentConvertExpr

Gets the expression associated with the instruction instr that computes the Convert instruction on the extent expression of an allocation.

getAssignOperationStoreExpr

Gets the expression associated with a StoreInstruction generated by an TranslatedAssignOperation.

getCrementOperationStoreExpr

Gets the expression associated with a StoreInstruction generated by an TranslatedCrementOperation.

getInitializationTargetAddress

Gets the instruction that computes the address used to initialize v.

getInstructionBuiltInOperation
getInstructionConstantValue
getInstructionConvertedResultExpression
getInstructionElementSize
getInstructionExceptionType
getInstructionField
getInstructionFunction
getInstructionIndex
getInstructionInheritance
getInstructionUnconvertedResultExpression
getInstructionVariable
getTransparentConversionParenthesisExpr

Gets the ParenthesisExpr associated with a transparent conversion instruction, if any.

hasDynamicInitializationFlag
hasInstruction
hasStringLiteral
hasTempVariable
hasUserVariable
instructionProducesExprResult

Holds if instr belongs to a TranslatedCoreExpr that produces an expression result. This indicates that the instruction represents a definition whose result should be mapped back to the expression.

isConditionalExprTempStore

Holds if store is a StoreInstruction that defines the temporary IRVariable generated as part of the translation of a ternary expression.

needsUnknownOpaqueType
varHasIRFunc

Aliases

InstructionTag1

Represents an AST node for which IR needs to be generated.

InstructionTag2