117 Commits

Author SHA1 Message Date
Artur K
ba110a64cb removed most of clang warnings / errors 2012-03-29 22:02:25 +02:00
Artur K
9cc5202ff7 Pre branch commit 2012-03-18 11:35:56 +01:00
Artur K
fee4d6fe9a A few changes to libdisasm 2012-03-18 11:35:13 +01:00
Artur K
71fc8bfef7 Added JumpTable class, and simplified LongJCond23/22 by using Assignment
class as an parameter.
2012-03-17 23:42:46 +01:00
Artur K
7b63b45dd5 Some more method splitting , replaced a few argument that were using
ICODE, with LLInst
2012-03-17 23:35:48 +01:00
Artur K
d3a22fc03c Refactored BasicBlock::genDU1() into three utility methods.
Const'ized a few pointers in locident.cpp
2012-03-17 23:15:27 +01:00
Artur K
61392772e1 More work on LLOperand,
Adding accessors for src operand to LLIns
2012-03-17 23:09:35 +01:00
Artur K
26b9ab1e00 Added setters/creation methods to LLOperand
Moved PROG global into Project instance. Still need to refactor all
usages of prog.
Split fseek offset calculation in frontend.cpp to allow for easier
debugging.
Added alreadyDecoded method to CIcodeRec
LONGID_TYPE now has a method matching srcDstRegMatch icode's src a dst
regs
2012-03-17 22:57:54 +01:00
Artur K
dc8e7156a8 LLOperand no longer inherits from llvm::MCOperand, it contains one
instead.
Added BB accessors to ICODE and typedef'd BB to MachineBasicBlock
Removed an unused method in ICODE, and a parameter in isLong23
2012-03-17 22:38:54 +01:00
Artur K
467ff56356 Added libdisasm to 3rd_party.
Started the move of 'prog' global into Project.
2012-03-17 21:36:10 +01:00
Artur K
b85106498e More ranges 2012-03-15 23:22:02 +01:00
Artur K
4dd97b0709 Using boost now 2012-03-15 18:55:27 +01:00
Artur K
a740690e04 Replaced memory tags #defines with eAreaType enum
Added replaceExpr, which replaces expression, and deletes the old one.
Moved subReg* family to Machine_X86, also moved there a few float op
decoding parts.
A few more usages of cCode global replaced with ostreams
Refactored compoundCond().
2012-03-13 22:10:07 +01:00
Artur K
c2e5ac2694 Added global 'Project' class, and DccFrontend 2012-03-13 09:04:32 +01:00
Artur K
902a5ec3d8 Extracted commonalities between SYM and STKSYM into SymbolCommon and
between SYMTAB and STKFRAME into SymbolTableCommon<STKSYM>
2012-03-13 01:22:13 +01:00
Artur K
d3e62a99aa Replaced return type of insertCallGraph with bool
renamed two locals in newRegArg, and used range based for in it
2012-03-13 00:43:05 +01:00
Artur K
fe250a822d Removed 2 lingering TRUE/FALSE references
Removed 2 calls to cCode.appendDecl in walkCondExpr, replaced with
ostringstream usage + 1 call to cCode.appendDecl
Created Type helper class = TypeContainer
2012-03-13 00:35:32 +01:00
Artur K
14b06c252e Replaced all TRUE/FALSE macro usages with true/false booleans 2012-03-13 00:28:04 +01:00
Artur K
d39449124a writeProcComments is now member of Function, at it has an ostream based overload, also added gmock framework to dependencies 2012-03-13 00:16:09 +01:00
Artur K
bc395da6ab lots of changes, created Disassembler class, removed a few globals etc. 2012-03-11 02:48:19 +01:00
Artur K
87e41f5a8a renamed sigs 2012-03-10 22:50:30 +01:00
Artur K
3bcbb7a2cf Removed lints 2012-03-10 22:46:15 +01:00
Artur K
eb6c1ac939 more fixes 2012-03-08 21:47:59 +01:00
Artur K
69d848ca78 Basic block is purer range now, it does not hold start and length members, it can be used in range based fors now 2012-03-08 00:20:13 +01:00
Artur K
fc0d35cf06 More eReg's and fixed writeBitVector for registers 2012-03-07 22:34:36 +01:00
Artur K
e0740f5ff7 Moved most of register definitions to use eReg enum 2012-03-07 21:52:46 +01:00
Artur K
2a99eef3a1 added sigs to git 2012-03-06 23:59:13 +01:00
Artur K
a85d460fe6 Linting 1 2012-03-06 23:58:16 +01:00
Artur K
ddd501de1f COND_EXPR splitting preparations 2012-03-06 08:35:45 +01:00
Artur K
d7ddc86d76 Fixed synthetic instructions for DIV and XCHG to handle Byte wide operations, and also in case of XCHG memory, also fixed assembly generation for IN/OUT operations and all string instructions MOVS etc. 2012-03-04 00:30:53 +01:00
Artur K
32d1b71e79 LLInst opcode is private now, added accessors and moved a few functions into LLInst 2012-03-01 00:40:29 +01:00
Artur K
4c7df165ee removed integer offset idLong constructor 2012-02-29 23:35:25 +01:00
Artur K
5d42fb0624 removed dependence on numeric offset in checkLongEq and it's family 2012-02-29 23:30:31 +01:00
Artur K
0ad46c3986 renamed flag methods in LLInst 2012-02-29 22:26:23 +01:00
Artur K
6b7d3f6209 Started separation between Low level and higher level instructions 2012-02-29 18:13:43 +01:00
Artur K
0eab9d1db5 Moved some more enums into Enums.h, removed multiple defs of LH macro, fixed missed initialization in STATE 2012-02-29 12:05:39 +01:00
Artur K
a0a6f7cc0e lots of small things 2012-02-29 00:59:19 +01:00
Artur K
493225ad64 Replaced a few places which used ICODE * in favour of ICODE &, also split HLTYPE attriubtes into 3 classes with virtual methods 2012-02-28 21:17:50 +01:00
Artur K
e0503c71a3 moved struct DU_ICODE into ICODE, alse replaced newRegArg pointer params with iterators 2012-02-28 16:50:15 +01:00
Artur K
fbf8cc3a7a ICODE::DU1 idx[][] is now an array of structures containing vectors<iICODE>, seems that while changing that some dataflow issues were fixed 2012-02-28 16:38:36 +01:00
Artur K
3cb26d99d2 CIcodeRec is no longer an Array, it's now a list, will help with iterator stability 2012-02-28 03:06:34 +01:00
Artur K
f131b7e619 missing files 2012-02-27 21:28:55 +01:00
Artur K
777a260300 fixed refactoring bugs 2012-02-27 21:26:54 +01:00
Artur K
11ae65efba Refactoring idioms into objects with match/action methods 2012-02-26 23:58:06 +01:00
Artur K
bf2d099cd9 Refactoring idioms into objects with match/action methods 2012-02-26 23:57:33 +01:00
Artur K
74c5966579 liveIn/Out def/use changed to use bitset<32> 2012-02-26 17:47:25 +01:00
Artur K
15deb26f2b Test input switching scripts 2012-02-26 00:13:04 +01:00
Artur K
268a015d01 removed some more dependencies on array indices, refactored out forward Long Defs checking 2012-02-26 00:11:55 +01:00
Artur K
9a6788fd2d removed ip dword from findIdioms, it's using iterators now, also switched to using iterators in IDX_ARRAY 2012-02-25 22:38:22 +01:00
Artur K
95ec23eceb llvm - 2012-02-24 03:22:49 +01:00