Commit Graph

1429 Commits

Author SHA1 Message Date
Alessandro Di Federico 711b798be6 Refactoring
* Fix whitespaces
* Fix case of method names
2015-11-07 15:02:11 +01:00
Alessandro Di Federico ee850e39bc Introduce C++ wrapper of the PTC library
* s/PTC/PTCInterface/
* Implement InstructionArgumentsIterator
* Implement Instrcution and CallInstruction
2015-11-07 15:02:11 +01:00
Alessandro Di Federico 4a151eaa82 Fix handling of debug information
* Don't output a source line if it's identical to the last printed one
* Invoke DIBuilder::finalize as appropriate
* Fix off-by-one in line number computation
2015-11-07 15:02:05 +01:00
Alessandro Di Federico f6ae68516d Use llc from the given LLVM installation 2015-11-07 15:01:34 +01:00
Alessandro Di Federico bd898de98f Fix propagation of OutputPath and DebugPath 2015-11-07 15:01:34 +01:00
Alessandro Di Federico 282fa2b40b Import functional-style iterators 2015-11-07 15:01:34 +01:00
Alessandro Di Federico 9795191f11 Add support for 64-bit local variables 2015-11-07 15:01:16 +01:00
Alessandro Di Federico fd1070b708 Disable RTTI 2015-11-07 14:24:20 +01:00
Alessandro Di Federico c5d510f4d6 Introduce using namespace std in ptctollvmir.cpp 2015-10-27 17:44:25 +01:00
Alessandro Di Federico 9007943839 Refactor the Translate function
* Create the CodeGenerator class from most of the logic that was in the
  Translate function.
* Extract debug information handling logic from the Translate function and move
  it into the DebugManager class.
* Add include guards.
* Remove some dead code and add and fix documentation.
2015-10-27 17:19:52 +01:00
Alessandro Di Federico 15cfbee422 Make reference to QEMU install path and dlopen an absolute path 2015-10-27 11:56:08 +01:00
Alessandro Di Federico 9cf82f36d8 Introduce testing framework
* Import single-function calculator
* Create a puppet CMake project for cross-compiling
* Create a CMake manager for the tests
2015-10-27 09:13:14 +01:00
Alessandro Di Federico 2b5823c6bc Dump useful information in case an unsupported helper is called 2015-10-27 08:54:05 +01:00
Alessandro Di Federico a4fdf0f1b5 Improve debug info handling
* Add support to specify a path for debug source
* Annotate generated LLVM with original assembly and PTC
* As debug source, use the same .ll as the compiled one
2015-10-27 08:54:05 +01:00
Alessandro Di Federico cb3ef7b263 Make global names case-insensitive 2015-10-27 08:54:05 +01:00
Alessandro Di Federico 7f9b86787c Minor refactoring of CMakeLists.txt 2015-10-27 08:54:05 +01:00
Alessandro Di Federico 089bfd2461 Introduce support for LLVM IR debugging information 2015-10-27 08:54:05 +01:00
Alessandro Di Federico 3b0588b75d Add support for PTC debug info 2015-10-27 08:54:04 +01:00
Alessandro Di Federico 256718cac4 Draft support for debug information (original assembly only) 2015-10-27 08:54:04 +01:00
Alessandro Di Federico 4b3a333493 Add support for add2 and sub2 PTC instructions 2015-10-27 08:53:58 +01:00
Alessandro Di Federico 15a2aba050 Introduce JumpTargetManager 2015-10-17 22:47:34 +02:00
Alessandro Di Federico fe6b6f8df9 Introduce explicit program counter handling
* Add support for predefined variables in VariableManager.
* Add the program counter to the architecture descriptor.
2015-10-17 22:44:53 +02:00
Alessandro Di Federico e22268a5ca Introduce handling of branches local to a PTC basic block 2015-10-17 22:44:53 +02:00
Alessandro Di Federico bba0fb78f6 Fix typos, coding style issues and add some documentation 2015-10-17 22:44:53 +02:00
Alessandro Di Federico a97f955a15 Fix bug in handling operands of load and store instructions 2015-10-17 22:44:53 +02:00
Alessandro Di Federico 6579e83bcd Introduce a wrapper to create comparison instructions (CreateICmp) 2015-10-17 22:44:53 +02:00
Alessandro Di Federico 0669fd625c Rename main function to root and change its return type to void 2015-10-17 22:44:52 +02:00
Alessandro Di Federico 8f88625e94 Add metadata with original and PTC instructions to each new instruction
* Convert ptcdump.cpp to use streams and export more fine-grained functions
* Add documentation to ptcdump.h
* Create metadata for the original instruction when a
  PTC_INSTRUCTION_op_debug_insn_start instruction is met.
2015-10-17 22:44:42 +02:00
Alessandro Di Federico 5ee7b1dd8a Initial import 2015-09-26 15:17:32 +02:00