MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / GetCondition

Function GetCondition

arch/arm64/il.cpp:27–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25}
26
27static ExprId GetCondition(LowLevelILFunction& il, Condition cond)
28{
29 switch (cond)
30 {
31 case COND_EQ:
32 return il.FlagGroup(IL_FLAG_GROUP_EQ);
33 case COND_NE:
34 return il.FlagGroup(IL_FLAG_GROUP_NE);
35 case COND_CS:
36 return il.FlagGroup(IL_FLAG_GROUP_CS);
37 case COND_CC:
38 return il.FlagGroup(IL_FLAG_GROUP_CC);
39 case COND_MI:
40 return il.FlagGroup(IL_FLAG_GROUP_MI);
41 case COND_PL:
42 return il.FlagGroup(IL_FLAG_GROUP_PL);
43 case COND_VS:
44 return il.FlagGroup(IL_FLAG_GROUP_VS);
45 case COND_VC:
46 return il.FlagGroup(IL_FLAG_GROUP_VC);
47 case COND_HI:
48 return il.FlagGroup(IL_FLAG_GROUP_HI);
49 case COND_LS:
50 return il.FlagGroup(IL_FLAG_GROUP_LS);
51 case COND_GE:
52 return il.FlagGroup(IL_FLAG_GROUP_GE);
53 case COND_LT:
54 return il.FlagGroup(IL_FLAG_GROUP_LT);
55 case COND_GT:
56 return il.FlagGroup(IL_FLAG_GROUP_GT);
57 case COND_LE:
58 return il.FlagGroup(IL_FLAG_GROUP_LE);
59 case COND_AL:
60 return il.Const(0, 1); // Always branch
61 case COND_NV:
62 default:
63 return il.Const(0, 0); // Never branch
64 }
65}
66
67static void GenIfElse(LowLevelILFunction& il, ExprId clause, ExprId trueCase, ExprId falseCase)
68{

Callers 1

Calls 2

FlagGroupMethod · 0.80
ConstMethod · 0.45

Tested by

no test coverage detected