instruction property bits

Macros

#define IPROP_OPTIONAL   0x0001
 optional instruction
 
#define IPROP_PERSIST   0x0002
 persistent insn; they are not destroyed
 
#define IPROP_WILDMATCH   0x0004
 match multiple insns
 
#define IPROP_CLNPOP   0x0008
 the purpose of the instruction is to clean stack More...
 
#define IPROP_FPINSN   0x0010
 floating point insn
 
#define IPROP_FARCALL   0x0020
 call of a far function using push cs/call sequence
 
#define IPROP_TAILCALL   0x0040
 tail call
 
#define IPROP_ASSERT   0x0080
 assertion: usually mov #val, op. More...
 
#define IPROP_SPLIT   0x0700
 the instruction has been split:
 
#define IPROP_SPLIT1   0x0100
 into 1 byte
 
#define IPROP_SPLIT2   0x0200
 into 2 bytes
 
#define IPROP_SPLIT4   0x0300
 into 4 bytes
 
#define IPROP_SPLIT8   0x0400
 into 8 bytes
 
#define IPROP_COMBINED   0x0800
 insn has been modified because of a partial reference
 
#define IPROP_EXTSTX   0x1000
 this is m_ext propagated into m_stx
 
#define IPROP_IGNLOWSRC   0x2000
 low part of the instruction source operand More...
 
#define IPROP_INV_JX   0x4000
 inverted conditional jump
 
#define IPROP_WAS_NORET   0x8000
 was noret icall
 
#define IPROP_MULTI_MOV   0x10000
 the minsn was generated as part of insn that moves multiple registers More...
 
#define IPROP_DONT_PROP   0x20000
 may not propagate
 
#define IPROP_DONT_COMB   0x40000
 may not combine this instruction with others
 

Detailed Description

Macro Definition Documentation

◆ IPROP_ASSERT

#define IPROP_ASSERT   0x0080

assertion: usually mov #val, op.

assertions are used to help the optimizer. assertions are ignored when generating ctree

Definition at line 3291 of file hexrays.hpp.

◆ IPROP_CLNPOP

#define IPROP_CLNPOP   0x0008

the purpose of the instruction is to clean stack

(e.g. "pop ecx" is often used for that)

Definition at line 3286 of file hexrays.hpp.

◆ IPROP_IGNLOWSRC

#define IPROP_IGNLOWSRC   0x2000

low part of the instruction source operand

has been created artificially (this bit is used only for 'and x, 80...')

Definition at line 3303 of file hexrays.hpp.

◆ IPROP_MULTI_MOV

#define IPROP_MULTI_MOV   0x10000

the minsn was generated as part of insn that moves multiple registers

(example: STM on ARM may transfer multiple registers) bits that can be set by plugins:

Definition at line 3308 of file hexrays.hpp.