File tree Expand file tree Collapse file tree 9 files changed +27
-22
lines changed
cpp/ql/src/semmle/code/cpp/ir/implementation
csharp/ql/src/experimental/ir/implementation Expand file tree Collapse file tree 9 files changed +27
-22
lines changed Original file line number Diff line number Diff line change @@ -297,7 +297,8 @@ class Instruction extends Construction::TStageInstruction {
297
297
/**
298
298
* Gets the opcode that specifies the operation performed by this instruction.
299
299
*/
300
- final Opcode getOpcode ( ) { result = Construction:: getInstructionOpcode ( this ) }
300
+ pragma [ inline]
301
+ final Opcode getOpcode ( ) { Construction:: getInstructionOpcode ( result , this ) }
301
302
302
303
/**
303
304
* Gets all direct uses of the result of this instruction. The result can be
Original file line number Diff line number Diff line change @@ -339,14 +339,14 @@ private module Cached {
339
339
}
340
340
341
341
cached
342
- Opcode getInstructionOpcode ( Instruction instr ) {
343
- result = getOldInstruction ( instr ) .getOpcode ( )
342
+ predicate getInstructionOpcode ( Opcode opcode , Instruction instr ) {
343
+ opcode = getOldInstruction ( instr ) .getOpcode ( )
344
344
or
345
- instr = phiInstruction ( _, _) and result instanceof Opcode:: Phi
345
+ instr = phiInstruction ( _, _) and opcode instanceof Opcode:: Phi
346
346
or
347
- instr = chiInstruction ( _) and result instanceof Opcode:: Chi
347
+ instr = chiInstruction ( _) and opcode instanceof Opcode:: Chi
348
348
or
349
- instr = unreachedInstruction ( _) and result instanceof Opcode:: Unreached
349
+ instr = unreachedInstruction ( _) and opcode instanceof Opcode:: Unreached
350
350
}
351
351
352
352
cached
Original file line number Diff line number Diff line change @@ -297,7 +297,8 @@ class Instruction extends Construction::TStageInstruction {
297
297
/**
298
298
* Gets the opcode that specifies the operation performed by this instruction.
299
299
*/
300
- final Opcode getOpcode ( ) { result = Construction:: getInstructionOpcode ( this ) }
300
+ pragma [ inline]
301
+ final Opcode getOpcode ( ) { Construction:: getInstructionOpcode ( result , this ) }
301
302
302
303
/**
303
304
* Gets all direct uses of the result of this instruction. The result can be
Original file line number Diff line number Diff line change @@ -360,8 +360,8 @@ CppType getInstructionResultType(TStageInstruction instr) {
360
360
getInstructionTranslatedElement ( instr ) .hasInstruction ( _, getInstructionTag ( instr ) , result )
361
361
}
362
362
363
- Opcode getInstructionOpcode ( TStageInstruction instr ) {
364
- getInstructionTranslatedElement ( instr ) .hasInstruction ( result , getInstructionTag ( instr ) , _)
363
+ predicate getInstructionOpcode ( Opcode opcode , TStageInstruction instr ) {
364
+ getInstructionTranslatedElement ( instr ) .hasInstruction ( opcode , getInstructionTag ( instr ) , _)
365
365
}
366
366
367
367
IRFunctionBase getInstructionEnclosingIRFunction ( TStageInstruction instr ) {
Original file line number Diff line number Diff line change @@ -297,7 +297,8 @@ class Instruction extends Construction::TStageInstruction {
297
297
/**
298
298
* Gets the opcode that specifies the operation performed by this instruction.
299
299
*/
300
- final Opcode getOpcode ( ) { result = Construction:: getInstructionOpcode ( this ) }
300
+ pragma [ inline]
301
+ final Opcode getOpcode ( ) { Construction:: getInstructionOpcode ( result , this ) }
301
302
302
303
/**
303
304
* Gets all direct uses of the result of this instruction. The result can be
Original file line number Diff line number Diff line change @@ -339,14 +339,14 @@ private module Cached {
339
339
}
340
340
341
341
cached
342
- Opcode getInstructionOpcode ( Instruction instr ) {
343
- result = getOldInstruction ( instr ) .getOpcode ( )
342
+ predicate getInstructionOpcode ( Opcode opcode , Instruction instr ) {
343
+ opcode = getOldInstruction ( instr ) .getOpcode ( )
344
344
or
345
- instr = phiInstruction ( _, _) and result instanceof Opcode:: Phi
345
+ instr = phiInstruction ( _, _) and opcode instanceof Opcode:: Phi
346
346
or
347
- instr = chiInstruction ( _) and result instanceof Opcode:: Chi
347
+ instr = chiInstruction ( _) and opcode instanceof Opcode:: Chi
348
348
or
349
- instr = unreachedInstruction ( _) and result instanceof Opcode:: Unreached
349
+ instr = unreachedInstruction ( _) and opcode instanceof Opcode:: Unreached
350
350
}
351
351
352
352
cached
Original file line number Diff line number Diff line change @@ -297,7 +297,8 @@ class Instruction extends Construction::TStageInstruction {
297
297
/**
298
298
* Gets the opcode that specifies the operation performed by this instruction.
299
299
*/
300
- final Opcode getOpcode ( ) { result = Construction:: getInstructionOpcode ( this ) }
300
+ pragma [ inline]
301
+ final Opcode getOpcode ( ) { Construction:: getInstructionOpcode ( result , this ) }
301
302
302
303
/**
303
304
* Gets all direct uses of the result of this instruction. The result can be
Original file line number Diff line number Diff line change @@ -297,7 +297,8 @@ class Instruction extends Construction::TStageInstruction {
297
297
/**
298
298
* Gets the opcode that specifies the operation performed by this instruction.
299
299
*/
300
- final Opcode getOpcode ( ) { result = Construction:: getInstructionOpcode ( this ) }
300
+ pragma [ inline]
301
+ final Opcode getOpcode ( ) { Construction:: getInstructionOpcode ( result , this ) }
301
302
302
303
/**
303
304
* Gets all direct uses of the result of this instruction. The result can be
Original file line number Diff line number Diff line change @@ -339,14 +339,14 @@ private module Cached {
339
339
}
340
340
341
341
cached
342
- Opcode getInstructionOpcode ( Instruction instr ) {
343
- result = getOldInstruction ( instr ) .getOpcode ( )
342
+ predicate getInstructionOpcode ( Opcode opcode , Instruction instr ) {
343
+ opcode = getOldInstruction ( instr ) .getOpcode ( )
344
344
or
345
- instr = phiInstruction ( _, _) and result instanceof Opcode:: Phi
345
+ instr = phiInstruction ( _, _) and opcode instanceof Opcode:: Phi
346
346
or
347
- instr = chiInstruction ( _) and result instanceof Opcode:: Chi
347
+ instr = chiInstruction ( _) and opcode instanceof Opcode:: Chi
348
348
or
349
- instr = unreachedInstruction ( _) and result instanceof Opcode:: Unreached
349
+ instr = unreachedInstruction ( _) and opcode instanceof Opcode:: Unreached
350
350
}
351
351
352
352
cached
You can’t perform that action at this time.
0 commit comments