Static Value-Flow Analysis
Macros
AbsExtAPI.cpp File Reference
#include "AE/Svfexe/AbsExtAPI.h"
#include "AE/Svfexe/AbstractInterpretation.h"

Go to the source code of this file.

Macros

#define SSE_FUNC_PROCESS(LLVM_NAME, FUNC_NAME)
 

Macro Definition Documentation

◆ SSE_FUNC_PROCESS

#define SSE_FUNC_PROCESS (   LLVM_NAME,
  FUNC_NAME 
)
Value:
auto sse_##FUNC_NAME = [this](const CallICFGNode *callNode) { \
/* run real ext function */ \
AbstractState& as = getAbsStateFromTrace(callNode); \
u32_t rhs_id = callNode->getArgument(0)->getId(); \
if (!as.inVarToValTable(rhs_id)) return; \
u32_t rhs = as[rhs_id].getInterval().lb().getIntNumeral(); \
s32_t res = FUNC_NAME(rhs); \
u32_t lhsId = callNode->getRetICFGNode()->getActualRet()->getId(); \
as[lhsId] = IntervalValue(res); \
return; \
}; \
func_map[#FUNC_NAME] = sse_##FUNC_NAME;