|
CCTLib
Calling-context and data-object attribution library for Intel Pin
|
#include <stdio.h>#include <stdlib.h>#include "pin.H"#include "pin_isa_compat.H"#include <map>#include <unordered_map>#include <list>#include <stdint.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/shm.h>#include <semaphore.h>#include <sys/stat.h>#include <fcntl.h>#include <iostream>#include <locale>#include <unistd.h>#include <sys/syscall.h>#include <assert.h>#include <sys/mman.h>#include <exception>#include <sys/time.h>#include <signal.h>#include <string.h>#include <setjmp.h>#include <sstream>#include <pthread.h>#include <google/sparse_hash_map>#include <google/dense_hash_map>#include "cctlib.H"
Include dependency graph for runtime_value_numbering_client.cpp:Go to the source code of this file.
Classes | |
| class | ThreadData_t |
| struct | MergedRedundantInfo |
| struct | RedundantInfoForPresentation |
Macros | |
| #define | PAGE_OFFSET_BITS (16LL) |
| #define | PAGE_OFFSET(addr) (addr & 0xFFFF) |
| #define | PAGE_OFFSET_MASK (0xFFFF) |
| #define | PAGE_SIZE (1 << PAGE_OFFSET_BITS) |
| #define | PTR_SIZE (sizeof(void*)) |
| #define | LEVEL_1_PAGE_TABLE_BITS (20) |
| #define | LEVEL_1_PAGE_TABLE_ENTRIES (1 << LEVEL_1_PAGE_TABLE_BITS) |
| #define | LEVEL_1_PAGE_TABLE_SIZE (LEVEL_1_PAGE_TABLE_ENTRIES * PTR_SIZE) |
| #define | LEVEL_2_PAGE_TABLE_BITS (12) |
| #define | LEVEL_2_PAGE_TABLE_ENTRIES (1 << LEVEL_2_PAGE_TABLE_BITS) |
| #define | LEVEL_2_PAGE_TABLE_SIZE (LEVEL_2_PAGE_TABLE_ENTRIES * PTR_SIZE) |
| #define | LEVEL_1_PAGE_TABLE_SLOT(addr) (((addr) >> (LEVEL_2_PAGE_TABLE_BITS + PAGE_OFFSET_BITS)) & 0xfffff) |
| #define | LEVEL_2_PAGE_TABLE_SLOT(addr) (((addr) >> (PAGE_OFFSET_BITS)) & 0xFFF) |
| #define | MAX_FILE_PATH (200) |
| #define | MAX_DEAD_CONTEXTS_TO_LOG (4000) |
| #define | MAX_LOG_NUM (110) |
| #define | MAX_OPERAND (6) |
| #define | SAMPLE_PERIOD (1000000) |
| #define | STOP_PERIOD (1000000000) |
| #define | VALUE_N (10) |
Typedefs | |
| using | OPMap = struct opMap { uint64_t vNum |
| using | OPInfo = struct opcodeInfo { OPCODE opCode |
Enumerations | |
| enum | AccessType { READ_ACCESS = 0 , WRITE_ACCESS = 1 , READ_ACCESS = 0 , WRITE_ACCESS = 1 } |
Functions | |
| bool | IsIgnorableIns (INS ins) |
| bool | IsMov (int opcode) |
| ThreadData_t * | GetTLS (THREADID threadid) |
| VOID | CleanValueNumbers (THREADID threadID) |
| void | UpdateValue (uint32_t reg, uint64_t value, ThreadData_t *td) |
| static uint8_t * | GetOrCreateShadowBaseAddress (uint64_t address) |
| uint64_t | getMemValueNum (uint64_t addr, THREADID threadid) |
| uint64_t | getRegValueNum (REG reg, THREADID threadid) |
| VOID | setMemValueNum (uint64_t addr, THREADID threadid, uint64_t value) |
| VOID | setRegValueNum (REG reg, ThreadData_t *td, uint64_t value) |
| uint64_t | getImmediateValueNum (uint64_t immediate, THREADID threadid) |
| void | recordRedundantOperation (uint32_t deadCtxt, uint32_t killerCtxt, ThreadData_t *td) |
| void | deleteString (uint64_t key, ThreadData_t *td) |
| void | removeOldstring (void *ip, uint64_t nValue, ThreadData_t *td) |
| void | checkMovValueNum (int opcode, uint64_t svalue, uint64_t target, THREADID threadid, void *ip, const uint32_t opHandle) |
| static void | sortSvalues (uint64_t *svalues, int count) |
| bool | IsCommutativeOp (int opcode) |
| uint64_t | checkOpcodeValueNum (int opcode, uint64_t svalues[], int sCount, THREADID threadid, void *ip, const uint32_t opHandle) |
| VOID | valueNumbering (void *op, bool movOrnot, THREADID threadid, void *ip, const uint32_t opHandle) |
| VOID | valueNumberingMem1 (void *op, void *addr, uint32_t rMem, uint32_t wMem, bool movOrnot, THREADID threadID, void *ip, const uint32_t opHandle) |
| VOID | valueNumberingMem2 (void *op, void *addr1, void *addr2, uint32_t rMem, uint32_t wMem, bool movOrnot, THREADID threadID, void *ip, const uint32_t opHandle) |
| VOID | valueNumberingMem3 (void *op, void *addr1, void *addr2, void *addr3, uint32_t rMem, uint32_t wMem, bool movOrnot, THREADID threadID, void *ip, const uint32_t opHandle) |
| VOID | valueNumberingMem4 (void *op, void *addr1, void *addr2, void *addr3, void *addr4, uint32_t rMem, uint32_t wMem, bool movOrnot, THREADID threadID, void *ip, const uint32_t opHandle) |
| VOID | Instruction (INS ins, VOID *v, const uint32_t opHandle) |
| VOID | ThreadStart (THREADID threadid, CONTEXT *ctxt, INT32 flags, VOID *v) |
| bool | MergedRedundantInfoComparer (const RedundantInfoForPresentation &first, const RedundantInfoForPresentation &second) |
| static void | DumpInfo (uint32_t oldIndex, uint32_t newIndex) |
| VOID | ImageUnload (IMG img, VOID *v) |
| VOID | RegDeadFini (INT32 code, VOID *v) |
| static INT32 | Usage () |
| void | InitValueNumbering (int argc, char *argv[]) |
| int | main (int argc, char *argv[]) |
Variables | |
| FILE * | gTraceFile |
| static uint64_t | gValue |
| static uint8_t ** | gL1PageTable [LEVEL_1_PAGE_TABLE_SIZE] |
| bool | Sample = true |
| uint64_t | Num_instructions = 0 |
| uint64_t | lastGValue |
| uint64_t | Num_redundant = 0 |
| uint64_t | Num_ins = 0 |
| uint32_t | ip |
| int | sCount |
| int | immeCount |
| int | tCount |
| REG | sRegs [MAX_OPERAND] |
| uint64_t | immediates [MAX_OPERAND] |
| REG | tRegs [MAX_OPERAND] |
| static TLS_KEY | tls_key |
| static PIN_MUTEX | gMutex |
| #define LEVEL_1_PAGE_TABLE_BITS (20) |
Definition at line 58 of file runtime_value_numbering_client.cpp.
| #define LEVEL_1_PAGE_TABLE_ENTRIES (1 << LEVEL_1_PAGE_TABLE_BITS) |
Definition at line 59 of file runtime_value_numbering_client.cpp.
| #define LEVEL_1_PAGE_TABLE_SIZE (LEVEL_1_PAGE_TABLE_ENTRIES * PTR_SIZE) |
Definition at line 60 of file runtime_value_numbering_client.cpp.
| #define LEVEL_1_PAGE_TABLE_SLOT | ( | addr | ) | (((addr) >> (LEVEL_2_PAGE_TABLE_BITS + PAGE_OFFSET_BITS)) & 0xfffff) |
Definition at line 66 of file runtime_value_numbering_client.cpp.
| #define LEVEL_2_PAGE_TABLE_BITS (12) |
Definition at line 62 of file runtime_value_numbering_client.cpp.
| #define LEVEL_2_PAGE_TABLE_ENTRIES (1 << LEVEL_2_PAGE_TABLE_BITS) |
Definition at line 63 of file runtime_value_numbering_client.cpp.
| #define LEVEL_2_PAGE_TABLE_SIZE (LEVEL_2_PAGE_TABLE_ENTRIES * PTR_SIZE) |
Definition at line 64 of file runtime_value_numbering_client.cpp.
| #define LEVEL_2_PAGE_TABLE_SLOT | ( | addr | ) | (((addr) >> (PAGE_OFFSET_BITS)) & 0xFFF) |
Definition at line 67 of file runtime_value_numbering_client.cpp.
| #define MAX_DEAD_CONTEXTS_TO_LOG (4000) |
Definition at line 72 of file runtime_value_numbering_client.cpp.
| #define MAX_FILE_PATH (200) |
Definition at line 71 of file runtime_value_numbering_client.cpp.
| #define MAX_LOG_NUM (110) |
Definition at line 73 of file runtime_value_numbering_client.cpp.
| #define MAX_OPERAND (6) |
Definition at line 74 of file runtime_value_numbering_client.cpp.
| #define PAGE_OFFSET | ( | addr | ) | (addr & 0xFFFF) |
Definition at line 48 of file runtime_value_numbering_client.cpp.
| #define PAGE_OFFSET_BITS (16LL) |
Definition at line 47 of file runtime_value_numbering_client.cpp.
| #define PAGE_OFFSET_MASK (0xFFFF) |
Definition at line 49 of file runtime_value_numbering_client.cpp.
| #define PAGE_SIZE (1 << PAGE_OFFSET_BITS) |
Definition at line 54 of file runtime_value_numbering_client.cpp.
| #define PTR_SIZE (sizeof(void*)) |
Definition at line 57 of file runtime_value_numbering_client.cpp.
| #define SAMPLE_PERIOD (1000000) |
Definition at line 75 of file runtime_value_numbering_client.cpp.
| #define STOP_PERIOD (1000000000) |
Definition at line 76 of file runtime_value_numbering_client.cpp.
| #define VALUE_N (10) |
Definition at line 77 of file runtime_value_numbering_client.cpp.
| using OPInfo = struct opcodeInfo { OPCODE opCode |
Definition at line 119 of file runtime_value_numbering_client.cpp.
| using OPMap = struct opMap { uint64_t vNum |
Definition at line 96 of file runtime_value_numbering_client.cpp.
| enum AccessType |
| Enumerator | |
|---|---|
| READ_ACCESS | |
| WRITE_ACCESS | |
| READ_ACCESS | |
| WRITE_ACCESS | |
Definition at line 79 of file runtime_value_numbering_client.cpp.
| void checkMovValueNum | ( | int | opcode, |
| uint64_t | svalue, | ||
| uint64_t | target, | ||
| THREADID | threadid, | ||
| void * | ip, | ||
| const uint32_t | opHandle | ||
| ) |
Definition at line 449 of file runtime_value_numbering_client.cpp.
References curCtxt, PinCCTLib::GetContextHandle(), GetTLS(), ip, Num_redundant, ThreadData_t::opcodeMap, ThreadData_t::opcodeMapIt, recordRedundantOperation(), and removeOldstring().
Referenced by valueNumberingMem1(), and valueNumberingMem2().
| uint64_t checkOpcodeValueNum | ( | int | opcode, |
| uint64_t | svalues[], | ||
| int | sCount, | ||
| THREADID | threadid, | ||
| void * | ip, | ||
| const uint32_t | opHandle | ||
| ) |
Definition at line 497 of file runtime_value_numbering_client.cpp.
References curCtxt, PinCCTLib::GetContextHandle(), GetTLS(), gValue, ip, IsCommutativeOp(), Num_redundant, ThreadData_t::opcodeMap, ThreadData_t::opcodeMapIt, recordRedundantOperation(), removeOldstring(), sCount, sortSvalues(), and value.
Referenced by valueNumbering(), valueNumberingMem1(), valueNumberingMem2(), valueNumberingMem3(), and valueNumberingMem4().
| VOID CleanValueNumbers | ( | THREADID | threadID | ) |
clean all the value numbers for the registers and memory locations
Definition at line 208 of file runtime_value_numbering_client.cpp.
References GetTLS(), gValue, ThreadData_t::immediateMap, lastGValue, ThreadData_t::opcodeMap, and ThreadData_t::regNumber.
Referenced by valueNumbering(), valueNumberingMem1(), valueNumberingMem2(), valueNumberingMem3(), and valueNumberingMem4().
| void deleteString | ( | uint64_t | key, |
| ThreadData_t * | td | ||
| ) |
Definition at line 379 of file runtime_value_numbering_client.cpp.
References ThreadData_t::opcodeMap, and ThreadData_t::opcodeMapIt.
Referenced by removeOldstring().
|
static |
Definition at line 1300 of file runtime_value_numbering_client.cpp.
References gTraceFile, and PinCCTLib::PrintFullCallingContext().
Referenced by ImageUnload().
|
inline |
Definition at line 354 of file runtime_value_numbering_client.cpp.
References GetTLS(), gValue, ThreadData_t::immediateMap, and ThreadData_t::immediateMapIt.
Referenced by Instruction().
|
inline |
Definition at line 312 of file runtime_value_numbering_client.cpp.
References GetOrCreateShadowBaseAddress(), gValue, lastGValue, PAGE_OFFSET, and PinCCTLib::status.
Referenced by valueNumberingMem1(), valueNumberingMem2(), valueNumberingMem3(), and valueNumberingMem4().
|
static |
Definition at line 299 of file runtime_value_numbering_client.cpp.
References address, gL1PageTable, LEVEL_1_PAGE_TABLE_SLOT, LEVEL_2_PAGE_TABLE_SIZE, LEVEL_2_PAGE_TABLE_SLOT, and PAGE_SIZE.
Referenced by getMemValueNum(), removeOldstring(), and setMemValueNum().
|
inline |
Definition at line 330 of file runtime_value_numbering_client.cpp.
References GetTLS(), gValue, and ThreadData_t::regNumber.
Referenced by valueNumbering(), valueNumberingMem1(), valueNumberingMem2(), valueNumberingMem3(), and valueNumberingMem4().
|
inline |
Definition at line 201 of file runtime_value_numbering_client.cpp.
References tls_key.
Referenced by checkMovValueNum(), checkOpcodeValueNum(), CleanValueNumbers(), getImmediateValueNum(), getRegValueNum(), ImageUnload(), valueNumbering(), valueNumberingMem1(), valueNumberingMem2(), valueNumberingMem3(), and valueNumberingMem4().
| VOID ImageUnload | ( | IMG | img, |
| VOID * | v | ||
| ) |
Definition at line 1310 of file runtime_value_numbering_client.cpp.
References MergedRedundantInfo::context1, MergedRedundantInfo::context2, RedundantInfoForPresentation::count, DumpInfo(), GetTLS(), gMutex, gTraceFile, ThreadData_t::immediateMap, PinCCTLib::IsSameSourceLine(), MAX_DEAD_CONTEXTS_TO_LOG, MAX_LOG_NUM, MergedRedundantInfoComparer(), Num_ins, Num_redundant, ThreadData_t::opcodeMap, RedundantInfoForPresentation::pMergedRedundantInfo, and ThreadData_t::redundantMap.
Referenced by InitValueNumbering().
| void InitValueNumbering | ( | int | argc, |
| char * | argv[] | ||
| ) |
Definition at line 1394 of file runtime_value_numbering_client.cpp.
References gMutex, gTraceFile, gValue, ImageUnload(), lastGValue, MAX_FILE_PATH, RegDeadFini(), ThreadStart(), and tls_key.
Referenced by main().
| VOID Instruction | ( | INS | ins, |
| VOID * | v, | ||
| const uint32_t | opHandle | ||
| ) |
Definition at line 1115 of file runtime_value_numbering_client.cpp.
References getImmediateValueNum(), IsIgnorableIns(), IsMov(), valueNumbering(), valueNumberingMem1(), valueNumberingMem2(), valueNumberingMem3(), and valueNumberingMem4().
Referenced by main().
| bool IsCommutativeOp | ( | int | opcode | ) |
Definition at line 491 of file runtime_value_numbering_client.cpp.
Referenced by checkOpcodeValueNum().
| bool IsIgnorableIns | ( | INS | ins | ) |
Definition at line 138 of file runtime_value_numbering_client.cpp.
References INS_IsMaskedJump().
Referenced by Instruction().
| bool IsMov | ( | int | opcode | ) |
Definition at line 150 of file runtime_value_numbering_client.cpp.
Referenced by Instruction().
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
Definition at line 1439 of file runtime_value_numbering_client.cpp.
References gTraceFile, InitValueNumbering(), Instruction(), INTERESTING_INS_ALL, PinCCTLib::PinCCTLibInit(), and Usage().
|
inline |
Definition at line 1296 of file runtime_value_numbering_client.cpp.
References RedundantInfoForPresentation::count.
Referenced by ImageUnload().
|
inline |
Definition at line 366 of file runtime_value_numbering_client.cpp.
References ThreadData_t::redundantMap, and ThreadData_t::redundantMapIt.
Referenced by checkMovValueNum(), and checkOpcodeValueNum().
| VOID RegDeadFini | ( | INT32 | code, |
| VOID * | v | ||
| ) |
Definition at line 1384 of file runtime_value_numbering_client.cpp.
References gTraceFile.
Referenced by InitValueNumbering().
| void removeOldstring | ( | void * | ip, |
| uint64_t | nValue, | ||
| ThreadData_t * | td | ||
| ) |
Definition at line 389 of file runtime_value_numbering_client.cpp.
References deleteString(), GetOrCreateShadowBaseAddress(), ip, PAGE_OFFSET, PinCCTLib::status, and VALUE_N.
Referenced by checkMovValueNum(), and checkOpcodeValueNum().
|
inline |
Definition at line 340 of file runtime_value_numbering_client.cpp.
References GetOrCreateShadowBaseAddress(), PAGE_OFFSET, PinCCTLib::status, and value.
Referenced by valueNumberingMem1(), valueNumberingMem2(), valueNumberingMem3(), and valueNumberingMem4().
|
inline |
Definition at line 347 of file runtime_value_numbering_client.cpp.
References UpdateValue(), and value.
Referenced by valueNumbering(), valueNumberingMem1(), valueNumberingMem2(), valueNumberingMem3(), and valueNumberingMem4().
|
inlinestatic |
Definition at line 475 of file runtime_value_numbering_client.cpp.
Referenced by checkOpcodeValueNum().
| VOID ThreadStart | ( | THREADID | threadid, |
| CONTEXT * | ctxt, | ||
| INT32 | flags, | ||
| VOID * | v | ||
| ) |
Definition at line 1266 of file runtime_value_numbering_client.cpp.
References tls_key.
Referenced by InitValueNumbering().
|
inline |
Definition at line 218 of file runtime_value_numbering_client.cpp.
References gValue, ThreadData_t::regNumber, and value.
Referenced by setRegValueNum().
|
static |
Definition at line 1388 of file runtime_value_numbering_client.cpp.
Referenced by main().
| VOID valueNumbering | ( | void * | op, |
| bool | movOrnot, | ||
| THREADID | threadid, | ||
| void * | ip, | ||
| const uint32_t | opHandle | ||
| ) |
Definition at line 564 of file runtime_value_numbering_client.cpp.
References checkOpcodeValueNum(), CleanValueNumbers(), getRegValueNum(), GetTLS(), gValue, ip, Num_ins, Num_instructions, Sample, SAMPLE_PERIOD, setRegValueNum(), STOP_PERIOD, and value.
Referenced by Instruction().
| VOID valueNumberingMem1 | ( | void * | op, |
| void * | addr, | ||
| uint32_t | rMem, | ||
| uint32_t | wMem, | ||
| bool | movOrnot, | ||
| THREADID | threadID, | ||
| void * | ip, | ||
| const uint32_t | opHandle | ||
| ) |
Definition at line 627 of file runtime_value_numbering_client.cpp.
References checkMovValueNum(), checkOpcodeValueNum(), CleanValueNumbers(), getMemValueNum(), getRegValueNum(), GetTLS(), gValue, ip, Num_ins, Num_instructions, Sample, SAMPLE_PERIOD, setMemValueNum(), setRegValueNum(), STOP_PERIOD, and value.
Referenced by Instruction().
| VOID valueNumberingMem2 | ( | void * | op, |
| void * | addr1, | ||
| void * | addr2, | ||
| uint32_t | rMem, | ||
| uint32_t | wMem, | ||
| bool | movOrnot, | ||
| THREADID | threadID, | ||
| void * | ip, | ||
| const uint32_t | opHandle | ||
| ) |
Definition at line 728 of file runtime_value_numbering_client.cpp.
References checkMovValueNum(), checkOpcodeValueNum(), CleanValueNumbers(), getMemValueNum(), getRegValueNum(), GetTLS(), gValue, ip, Num_ins, Num_instructions, Sample, SAMPLE_PERIOD, setMemValueNum(), setRegValueNum(), STOP_PERIOD, and value.
Referenced by Instruction().
| VOID valueNumberingMem3 | ( | void * | op, |
| void * | addr1, | ||
| void * | addr2, | ||
| void * | addr3, | ||
| uint32_t | rMem, | ||
| uint32_t | wMem, | ||
| bool | movOrnot, | ||
| THREADID | threadID, | ||
| void * | ip, | ||
| const uint32_t | opHandle | ||
| ) |
Definition at line 824 of file runtime_value_numbering_client.cpp.
References checkOpcodeValueNum(), CleanValueNumbers(), getMemValueNum(), getRegValueNum(), GetTLS(), gValue, ip, Num_ins, Num_instructions, Sample, SAMPLE_PERIOD, setMemValueNum(), setRegValueNum(), STOP_PERIOD, and value.
Referenced by Instruction().
| VOID valueNumberingMem4 | ( | void * | op, |
| void * | addr1, | ||
| void * | addr2, | ||
| void * | addr3, | ||
| void * | addr4, | ||
| uint32_t | rMem, | ||
| uint32_t | wMem, | ||
| bool | movOrnot, | ||
| THREADID | threadID, | ||
| void * | ip, | ||
| const uint32_t | opHandle | ||
| ) |
Definition at line 956 of file runtime_value_numbering_client.cpp.
References checkOpcodeValueNum(), CleanValueNumbers(), getMemValueNum(), getRegValueNum(), GetTLS(), gValue, ip, Num_ins, Num_instructions, Sample, SAMPLE_PERIOD, setMemValueNum(), setRegValueNum(), STOP_PERIOD, and value.
Referenced by Instruction().
|
static |
Definition at line 86 of file runtime_value_numbering_client.cpp.
Referenced by GetOrCreateShadowBaseAddress().
|
static |
Definition at line 131 of file runtime_value_numbering_client.cpp.
Referenced by ImageUnload(), and InitValueNumbering().
| FILE* gTraceFile |
Definition at line 84 of file runtime_value_numbering_client.cpp.
Referenced by DumpInfo(), ImageUnload(), InitValueNumbering(), main(), and RegDeadFini().
|
static |
Definition at line 85 of file runtime_value_numbering_client.cpp.
Referenced by checkOpcodeValueNum(), CleanValueNumbers(), getImmediateValueNum(), getMemValueNum(), getRegValueNum(), InitValueNumbering(), UpdateValue(), valueNumbering(), valueNumberingMem1(), valueNumberingMem2(), valueNumberingMem3(), and valueNumberingMem4().
| int immeCount |
Definition at line 122 of file runtime_value_numbering_client.cpp.
| uint64_t immediates[MAX_OPERAND] |
Definition at line 125 of file runtime_value_numbering_client.cpp.
| uint32_t ip |
Definition at line 98 of file runtime_value_numbering_client.cpp.
Referenced by Checker(), checkMovValueNum(), checkOpcodeValueNum(), PinCCTLib::DumpCallStack(), FloatOperandSize(), PinCCTLib::GetDecodedInstFromIP(), PinCCTLib::GetFullCallingContextInSitu(), PinCCTLib::GetFullCallingContextPostmortem(), PinCCTLib::GetInstructionLength(), PinCCTLib::GetIPFromInfo(), PinCCTLib::GetLineFromInfo(), PinCCTLib::GetNormalizedIpVectorClippedToMainOneAheadIp(), PinCCTLib::GetParentIPs(), PinCCTLib::hpcrun_insert_path(), PinCCTLib::IsCallInstruction(), IsFloatInstruction(), IsFloatInstructionAndOkToApproximate(), IsFloatInstructionOld(), PinCCTLib::IsValidIP(), PinCCTLib::IsValidPLTSignature(), removeOldstring(), PinCCTLib::SetIPFromInfo(), PinCCTLib::splay(), valueNumbering(), valueNumberingMem1(), valueNumberingMem2(), valueNumberingMem3(), and valueNumberingMem4().
| uint64_t lastGValue |
Definition at line 90 of file runtime_value_numbering_client.cpp.
Referenced by CleanValueNumbers(), getMemValueNum(), and InitValueNumbering().
| uint64_t Num_ins = 0 |
Definition at line 94 of file runtime_value_numbering_client.cpp.
Referenced by ImageUnload(), valueNumbering(), valueNumberingMem1(), valueNumberingMem2(), valueNumberingMem3(), and valueNumberingMem4().
| uint64_t Num_instructions = 0 |
Definition at line 89 of file runtime_value_numbering_client.cpp.
Referenced by valueNumbering(), valueNumberingMem1(), valueNumberingMem2(), valueNumberingMem3(), and valueNumberingMem4().
| uint64_t Num_redundant = 0 |
Definition at line 93 of file runtime_value_numbering_client.cpp.
Referenced by checkMovValueNum(), checkOpcodeValueNum(), and ImageUnload().
| bool Sample = true |
Definition at line 88 of file runtime_value_numbering_client.cpp.
Referenced by valueNumbering(), valueNumberingMem1(), valueNumberingMem2(), valueNumberingMem3(), and valueNumberingMem4().
| int sCount |
Definition at line 121 of file runtime_value_numbering_client.cpp.
Referenced by checkOpcodeValueNum().
| REG sRegs[MAX_OPERAND] |
Definition at line 124 of file runtime_value_numbering_client.cpp.
| int tCount |
Definition at line 123 of file runtime_value_numbering_client.cpp.
|
static |
Definition at line 130 of file runtime_value_numbering_client.cpp.
Referenced by GetTLS(), InitValueNumbering(), and ThreadStart().
| REG tRegs[MAX_OPERAND] |
Definition at line 126 of file runtime_value_numbering_client.cpp.