Commit Graph

  • afbb3531f5 Name of the BasicBlockNode is now a StringRef Andrea Gussoni 2019-03-29 17:17:45 +01:00
  • 2c3056527d Remove any pointer to BasicBlock inside BBNode Andrea Gussoni 2019-03-29 16:21:54 +01:00
  • e9f2b4239a Remove backedges refresh Andrea Gussoni 2019-04-14 20:16:51 +02:00
  • 2f2b1f6ffe revng script: wrap executables Alessandro Di Federico 2019-04-12 19:17:23 +02:00
  • 743b2e522c Fix switches with empty cases Pietro Fezzardi 2019-04-12 18:24:55 +02:00
  • e8b59c2ff0 Update Backedges instead of refreshing it Andrea Gussoni 2019-04-12 15:01:49 +02:00
  • d75e5f3b6a Improve detection of external function calls Alessandro Di Federico 2019-04-11 17:52:14 +02:00
  • d50fbe969a Update documentation and add revng. to metadata Alessandro Di Federico 2019-04-11 10:36:19 +02:00
  • 2a5081328c NRA: do not iterate while deleting calls Alessandro Di Federico 2019-04-11 10:38:45 +02:00
  • 9f4711b770 Improve revng help and ASAN support Alessandro Di Federico 2019-04-11 10:38:18 +02:00
  • b3da9f0429 Fix wrong assertion on binary ExprNode expressions Pietro Fezzardi 2019-04-11 18:14:23 +02:00
  • 16c3d87a3b Fix check nodes with only then or else branch Andrea Gussoni 2019-04-11 17:45:10 +02:00
  • d77ad08917 Drop leftover references to revamb Alessandro Di Federico 2019-04-11 10:38:03 +02:00
  • d7e62c8777 New SCS merge step for abnormal retreating. Andrea Gussoni 2019-04-11 16:44:59 +02:00
  • ad31920b63 Fix for default SetNode membership. Andrea Gussoni 2019-04-11 16:35:10 +02:00
  • 0afaa0412c Create new break/continue for each edge Andrea Gussoni 2019-04-11 16:32:56 +02:00
  • c3654b5ef7 Additional asserts to verify restructuring Andrea Gussoni 2019-04-11 16:29:46 +02:00
  • b1cf76ef4b removeNotReachables removes from MetaRegion Andrea Gussoni 2019-04-09 20:12:41 +02:00
  • 17d6256de7 Add isDAG method for RegionCFG Andrea Gussoni 2019-04-09 20:11:04 +02:00
  • 5aee9c2711 Fix iterator usage and map access Andrea Gussoni 2019-04-09 20:07:35 +02:00
  • 34913cad29 Fix predecessor iterator invalidation. Andrea Gussoni 2019-04-09 11:55:00 +02:00
  • 486ddeb4b6 Fix first iteration outling edges movement Andrea Gussoni 2019-04-09 11:38:44 +02:00
  • 3f01eed105 Fix setTrue, setFalse, and removePredecessor Pietro Fezzardi 2019-04-09 11:27:48 +02:00
  • eddd6e1924 Change a use of addEdge with moveEdgeTarget Andrea Gussoni 2019-04-09 10:49:10 +02:00
  • f061095caa Fix first iteration outling Andrea Gussoni 2019-04-09 10:33:57 +02:00
  • 3ee8eb964b Fix addEdge usage in favor of moveEdgeTarget Andrea Gussoni 2019-04-09 09:41:00 +02:00
  • 0648b41585 Fix wrong removal of edges Pietro Fezzardi 2019-04-08 19:06:27 +02:00
  • 05fb7a6ccc Fix the conditional nodes blacklisting Andrea Gussoni 2019-04-08 09:58:09 +02:00
  • ed3d1b1ab8 Properly print bool variables from stdbool.h Pietro Fezzardi 2019-04-05 18:52:13 +02:00
  • dda91e8c90 ClassSentinel prevent test failures Alessandro Di Federico 2019-04-04 22:56:34 +02:00
  • 51a58a5513 Add support for PE32+ (x86-64) Alain Carlucci 2019-02-14 10:52:35 +01:00
  • 28a9804143 Print int types from inttypes.h Pietro Fezzardi 2019-04-04 17:30:48 +02:00
  • 3f7965cf7f Fix emission of global struct types Pietro Fezzardi 2019-04-02 16:19:27 +02:00
  • 490b5eaef8 Apply clang format Pietro Fezzardi 2019-04-02 15:30:17 +02:00
  • 9e4c5f0ece Add support for functions returning structs Pietro Fezzardi 2019-04-02 11:57:07 +02:00
  • 6e710dede1 Remove unused variable Pietro Fezzardi 2019-03-29 11:17:21 +01:00
  • 8329b822e0 Run PHIASAPAssignmentInfo only on isolated funcs Pietro Fezzardi 2019-03-28 17:59:11 +01:00
  • a231d013d0 improve lazy serialization of branch conditions Pietro Fezzardi 2019-03-28 17:58:40 +01:00
  • 9dc97a360e ASTBuildAnalysis: skip over Stores of undef values Pietro Fezzardi 2019-03-28 17:58:02 +01:00
  • b514cc9399 Add virtual destructors for ExprNode Pietro Fezzardi 2019-03-28 11:20:25 +01:00
  • e6e2f52aa2 Add virtual destructors to ASTNodes Pietro Fezzardi 2019-03-28 10:59:58 +01:00
  • 25d9a8f3d5 Handle Set/Check nodes for loop state variables Pietro Fezzardi 2019-03-26 13:51:06 +01:00
  • d50f9d0036 Improve prototypes of ASTNode members Pietro Fezzardi 2019-03-25 16:08:41 +01:00
  • 9dc26b6d05 Create SwitchCheckNode Andrea Gussoni 2019-03-21 12:11:40 +01:00
  • a5175908dc Fix emission of statements after decompiler rework Pietro Fezzardi 2019-03-21 11:59:06 +01:00
  • fd66e59e25 Fix emission of switches Pietro Fezzardi 2019-03-21 10:46:40 +01:00
  • 8993ae644d Fix flattening of ExprNode Pietro Fezzardi 2019-03-21 10:46:25 +01:00
  • 65e1d9e35b Emit switch Pietro Fezzardi 2019-03-20 12:20:56 +01:00
  • dadbf54631 Rework decompiler Pietro Fezzardi 2019-03-19 13:09:43 +01:00
  • 00ce604293 Accessors for the ExprNode Andrea Gussoni 2019-03-20 17:00:39 +01:00
  • c778004638 Apply short circuit only when possible. Andrea Gussoni 2019-03-20 16:57:41 +01:00
  • 8aaae2548b IfNode now using ExprNode Andrea Gussoni 2019-03-20 15:12:45 +01:00
  • 0cc9ddbdd5 Add llvm::Value condition to SwitchNode. Andrea Gussoni 2019-03-19 14:52:13 +01:00
  • 3cf9ffd3ca Move beautify passes in DecompilationPass Andrea Gussoni 2019-03-14 18:03:36 +01:00
  • c930d1a7fd Remove pointer to CFGNode from ASTNode. Andrea Gussoni 2019-03-14 12:15:05 +01:00
  • 77a6601837 Use new MarkForSerialization in CDecompilerAction Pietro Fezzardi 2019-03-14 09:43:08 +01:00
  • bc6e2fcb01 Add MarkForSerialization MonotoneFramework Pietro Fezzardi 2019-03-13 14:53:19 +01:00
  • d4dec0136c CDecompilerPass depends on PHIASAPAssigmentInfo Pietro Fezzardi 2019-03-12 18:40:43 +01:00
  • debdb6a9f4 Move PHIASAPAssignmentInfo in separate library Pietro Fezzardi 2019-03-12 18:40:19 +01:00
  • b4758ae02d Move PHI analysis in PHIASAPAssignmentInfo Pietro Fezzardi 2019-03-12 18:29:50 +01:00
  • d5fbf88e68 Add skeleton for PHIASAPAssignmentInfo Pass Pietro Fezzardi 2019-03-12 16:57:42 +01:00
  • 785638dc30 Add missing LICENSE header in file Pietro Fezzardi 2019-03-12 16:54:19 +01:00
  • c2f5c636ff Use uniform convention for include guards Pietro Fezzardi 2019-03-12 16:53:14 +01:00
  • 7e4bbfb2d2 Fix flattening for CheckNode and SetNode Andrea Gussoni 2019-03-13 17:33:44 +01:00
  • b1510fbc8e Add ifCheckNode AST type Andrea Gussoni 2019-03-13 12:05:07 +01:00
  • ca89792a30 Add SetNode AST type Andrea Gussoni 2019-03-12 15:40:41 +01:00
  • 2e49e21925 Removed Switch BBNode and IfEqual AST node Andrea Gussoni 2019-03-12 14:23:42 +01:00
  • 4a49a60b99 Fix and convention enforcing Andrea Gussoni 2019-03-12 13:49:53 +01:00
  • 9d7e2f25b7 Fix IfNode branch order for Switch match. Andrea Gussoni 2019-03-11 18:50:03 +01:00
  • 2640bbfeeb Use uniform naming for decompiler source files Pietro Fezzardi 2019-03-11 17:29:24 +01:00
  • 5ed050dead DecompilationPass: remove dependency on enforcing Pietro Fezzardi 2019-03-11 16:57:46 +01:00
  • 0711d00c4b Flattening: remove Check and Set BasicBlockNodes Pietro Fezzardi 2019-03-11 16:56:06 +01:00
  • 5b8ebd505c BasicBlockNode: add getNodeType method Pietro Fezzardi 2019-03-11 10:54:03 +01:00
  • 094c435296 Fix assertion for 128 bit operations Pietro Fezzardi 2019-03-08 16:27:52 +01:00
  • f15dd3da89 Match SwitchNode on AST Andrea Gussoni 2019-03-11 17:57:56 +01:00
  • 969b5e7601 Remove reference to original switch Andrea Gussoni 2019-03-11 11:24:18 +01:00
  • 27192a251f Improved IfEqualNode then and else match Andrea Gussoni 2019-03-08 15:44:29 +01:00
  • 9f00e3125e Add SwitchNode AST type Andrea Gussoni 2019-03-08 13:18:54 +01:00
  • f905a42ff6 Add SwitchNode AST type Andrea Gussoni 2019-03-07 18:07:52 +01:00
  • f41453e3f3 Add IfEqualNode AST type Andrea Gussoni 2019-03-07 18:03:38 +01:00
  • f27597b999 Introduce the Switch BasicBlockNode type Andrea Gussoni 2019-03-07 17:56:01 +01:00
  • b07176f898 Boilerplate for switch handling Andrea Gussoni 2019-03-06 17:41:34 +01:00
  • c05974478c Add RemoveUnexpectedPCPass Andrea Gussoni 2019-03-07 12:50:59 +01:00
  • 2bce929e4a Parenthesize negated conditions in if and loops Pietro Fezzardi 2019-03-08 13:00:41 +01:00
  • 20cec12b5e After semplification while loops might be empty Andrea Gussoni 2019-03-05 16:52:17 +01:00
  • 318c7dabd7 Add computation before continue nodes Andrea Gussoni 2019-03-05 11:10:35 +01:00
  • 8ca3bbdf91 Negate loop condition when necessary Andrea Gussoni 2019-03-05 09:48:28 +01:00
  • eb78d6121f Match do-while and while loops Andrea Gussoni 2019-02-13 20:44:11 +01:00
  • aee582a586 Make pass names compliant to the convention Andrea Gussoni 2019-03-08 15:26:46 +01:00
  • 8337f70ca6 Merge branch 'feature/preliminary-c' Alessandro Di Federico 2019-03-08 15:25:39 +01:00
  • 939c632e3b Remove spurious debug messages Andrea Gussoni 2019-03-08 15:17:31 +01:00
  • 63f0efbada Temporarily disable OSRA-related failing tests Alessandro Di Federico 2019-03-08 15:04:33 +01:00
  • 76135b76fb Add RemoveDbgMetadata FunctionPass Pietro Fezzardi 2019-03-01 11:58:14 +01:00
  • 28ceefcac3 SA: unify management of CSV indices Alessandro Di Federico 2019-03-06 18:35:26 +01:00
  • 02273d58e6 Add ABI registers for architectures missing them Alessandro Di Federico 2019-03-06 18:36:22 +01:00
  • 489e4b1d87 ABI analysis: ignore non-CSV used by helpers Alessandro Di Federico 2019-03-06 18:35:56 +01:00
  • 5904e78bdb Disable exceptions Alessandro Di Federico 2019-03-06 15:01:14 +01:00
  • c2d39fb702 SA: reorganize the way functions are registered Alessandro Di Federico 2019-03-04 20:28:22 +01:00
  • baef567365 ABI: ECSR are not "No" for function calls Alessandro Di Federico 2019-03-04 20:23:50 +01:00
  • 9b070d8856 SA: use deque were appropriate Alessandro Di Federico 2019-03-04 20:23:19 +01:00