Assembly profiler for mips32

Summary:
Implementation of assembly profiler for MIPS32 using EmulateInstruction which currently scans only prologue/epilogue assembly instructions. It uses llvm::MCDisassembler to decode assembly instructions.

Reviewers: clayborg, jasonmolenda

Differential Revision: http://reviews.llvm.org/D9769

llvm-svn: 237420
This commit is contained in:
Bhushan D. Attarde
2015-05-15 06:53:30 +00:00
parent ea8c25a802
commit 794a4d5a9f
11 changed files with 769 additions and 1 deletions

View File

@@ -18,6 +18,7 @@
#include "Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h"
#include "Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h"
#include "Plugins/Instruction/ARM/EmulateInstructionARM.h"
#include "Plugins/Instruction/MIPS/EmulateInstructionMIPS.h"
#include "Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h"
#include "Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h"
#include "Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.h"
@@ -113,6 +114,7 @@ SystemInitializerCommon::Initialize()
platform_android::PlatformAndroid::Initialize();
EmulateInstructionARM::Initialize();
EmulateInstructionMIPS::Initialize();
EmulateInstructionMIPS64::Initialize();
//----------------------------------------------------------------------
@@ -163,6 +165,7 @@ SystemInitializerCommon::Terminate()
PlatformiOSSimulator::Terminate();
EmulateInstructionARM::Terminate();
EmulateInstructionMIPS::Terminate();
EmulateInstructionMIPS64::Terminate();
#if defined(__APPLE__)