Commit Graph

  • d7c2ca7f7e General improvements on debugging information Alessandro Di Federico 2016-12-01 23:11:14 +01:00
  • f67f7aef77 Reorganize testsuite Alessandro Di Federico 2016-11-26 22:36:38 +01:00
  • 387f2c6688 Improve ConditionalReachingDefintionPass Alessandro Di Federico 2016-11-26 19:17:32 +01:00
  • ec12b5ec0d ConditionNumberingPass: track the defining BBs Alessandro Di Federico 2016-11-26 18:46:43 +01:00
  • fe907a38b5 Enforce LHS >= 0 only in ULE and ULT comparisons Alessandro Di Federico 2016-11-26 18:44:23 +01:00
  • 4add54fcde Make PSM debugging information more verbose Alessandro Di Federico 2016-11-26 18:42:56 +01:00
  • 85a39958d7 Increase maximum exploration depth in PSM to 10 Alessandro Di Federico 2016-11-26 18:42:30 +01:00
  • 56d551f2c1 revamb-dump: add support for - for stdout Alessandro Di Federico 2016-11-26 17:29:30 +01:00
  • b649681c21 CpuLoopExitPass: fix bug using a possible nullptr Alessandro Di Federico 2016-11-26 17:27:18 +01:00
  • e7383f0662 Consider infinite loops as killer basic blocks Alessandro Di Federico 2016-10-25 05:10:59 +02:00
  • df5bf548e2 Do not "purge" non-empty basic blocks Alessandro Di Federico 2016-10-25 04:58:03 +02:00
  • 090366150a Backport CollectNoreturn::runOnFunction Alessandro Di Federico 2016-10-25 02:39:59 +02:00
  • d3d731596d Rework the noreturn detection Alessandro Di Federico 2016-10-24 21:01:51 +02:00
  • 09e25267e7 Introduce the NoFunctionCallsCFG CFG form Alessandro Di Federico 2016-10-24 20:59:27 +02:00
  • c579da6043 Add support to switch between different CFG forms Alessandro Di Federico 2016-10-24 20:54:08 +02:00
  • 800ae6e717 Looking for function calls, consider delay slots Alessandro Di Federico 2016-10-24 20:38:51 +02:00
  • c069700bc5 Keep the CFG simple: do not jump to the dispatcher Alessandro Di Federico 2016-10-21 23:20:02 +02:00
  • e577f74bfa Introduce revamb-dump Alessandro Di Federico 2016-10-22 17:00:44 +02:00
  • 04ab209dde Leave calls to newpc in the final output Alessandro Di Federico 2016-10-24 20:49:51 +02:00
  • 0cf1d2b44a Associate to noreturn BBs a noreturn metadata Alessandro Di Federico 2016-10-20 17:06:30 +02:00
  • 5ca3200114 Update command line description of revamb Alessandro Di Federico 2016-10-20 17:03:22 +02:00
  • 786c809e6f Associate each BB with the functions it belongs to Alessandro Di Federico 2016-10-20 16:59:06 +02:00
  • bc6a732ad7 Don't compute function boundaries by default Alessandro Di Federico 2016-10-18 01:43:56 +02:00
  • 4f60a23d9a JTM::readRawValue: fix endianess bug Alessandro Di Federico 2016-10-01 22:40:15 +02:00
  • 83ea2caacd Isolate ELF code and remove architecture parameter Alessandro Di Federico 2016-09-28 16:30:09 +02:00
  • 4460770b07 Handle binaries without syscalls correctly Alessandro Di Federico 2016-09-28 00:03:48 +02:00
  • c50dcc5c5d Use symbols to produce meaningful names Alessandro Di Federico 2016-09-28 00:03:13 +02:00
  • d48715494d Improve installation cg-revng/master cg-revng/develop Alessandro Di Federico 2016-09-22 21:57:00 +02:00
  • 59c871afc5 Make revamb portable Alessandro Di Federico 2016-09-22 18:45:59 +02:00
  • ccd5795d37 Remove wrong assertion related to forced BVs Alessandro Di Federico 2016-09-21 21:39:00 +02:00
  • 95cf77d3b3 Downgrade from C++14 to C++11 Alessandro Di Federico 2016-09-21 04:50:17 +02:00
  • d01ee1f437 Copyright notices, license and credits Alessandro Di Federico 2016-09-20 22:26:28 +02:00
  • 53b1dfbb5d Improve autodetection of QEMU's location Alessandro Di Federico 2016-09-20 19:55:59 +02:00
  • b98c163c3e Implement the path function in support.c Alessandro Di Federico 2016-09-20 01:26:13 +02:00
  • f0c12bfac4 Fixes to the testing infrastructure Alessandro Di Federico 2016-09-17 15:31:15 +02:00
  • c7990ae60c Autodetect the compiler to use Alessandro Di Federico 2016-09-15 06:48:43 +02:00
  • 29879c8de2 Remove some dead code Alessandro Di Federico 2016-09-14 18:54:10 +02:00
  • adb45173ef Preserve user's CMAKE_CXX_FLAGS Alessandro Di Federico 2016-09-14 18:52:16 +02:00
  • 5af920a69d Enforce 80 columns Alessandro Di Federico 2016-09-12 17:41:50 +02:00
  • 4acae6beed Limit propagation of reaching definitions Alessandro Di Federico 2016-09-14 18:15:01 +02:00
  • cc87ad607d Introduce NoreturnAnalysis Alessandro Di Federico 2016-09-14 17:55:48 +02:00
  • 37de0a0002 Introduce FunctionBoundariesDetectionPass Alessandro Di Federico 2016-09-13 06:53:33 +02:00
  • 8dfda3d55a Keep track of memory ranges read by SET Alessandro Di Federico 2016-09-04 22:44:31 +02:00
  • f168621aa7 If OSRA provides no useful information, use SET Alessandro Di Federico 2016-09-06 00:31:59 +02:00
  • e9834e25b9 Exploit the power of unsigned comparisons Alessandro Di Federico 2016-09-05 02:06:06 +02:00
  • 621095c31a Create OSRs also for trunc and zext instructions Alessandro Di Federico 2016-09-06 21:34:32 +02:00
  • bdc0c221bd Consider AllocaInst in RDA Alessandro Di Federico 2016-09-06 21:33:48 +02:00
  • f51c0c2771 Ignore undef values in SET Alessandro Di Federico 2016-09-06 21:32:44 +02:00
  • 65190dc20e OSRA: bugfixes about constant bounded values Alessandro Di Federico 2016-09-06 00:31:12 +02:00
  • 51d73d6b18 Register analysis passes as such Alessandro Di Federico 2016-08-31 07:46:58 +02:00
  • 46fe86225b Free memory after analyses Alessandro Di Federico 2016-08-31 07:43:45 +02:00
  • 7e8ac596b5 Minimize pathSensitiveMerge usage Alessandro Di Federico 2016-08-30 19:11:01 +02:00
  • 785e74dafe CRDP: use an hash table of SmallVectors for RD Alessandro Di Federico 2016-08-29 01:02:38 +02:00
  • bd9face7fe Add braces around std::array initializers Alessandro Di Federico 2016-08-28 17:59:51 +02:00
  • 5671806fe0 Anticipate specializations in Reachingdefinitions Alessandro Di Federico 2016-08-28 17:49:31 +02:00
  • 168bac9079 Merge of BV: handle the [0,1] | [2,3] case Alessandro Di Federico 2016-08-30 17:05:57 +02:00
  • c1742184e7 OSRA: subscription for the update of load reachers Alessandro Di Federico 2016-08-30 16:59:21 +02:00
  • 65baa9fec0 Let SET always try to register the jump target Alessandro Di Federico 2016-08-28 02:09:29 +02:00
  • e177c5f2ff Expose the JumpTarget class to JTM users Alessandro Di Federico 2016-08-28 02:05:35 +02:00
  • 1254f400c3 Introduce OnceQueue Alessandro Di Federico 2016-08-28 01:51:58 +02:00
  • 7859f9de78 Keep track of how jump targets have been met Alessandro Di Federico 2016-08-24 23:00:14 +02:00
  • 4ae7cdadaa Dismiss JumpTargetManager::registerBlock Alessandro Di Federico 2016-08-24 18:43:33 +02:00
  • 27b4e46525 Draft tracking of reasons for registering JTs Alessandro Di Federico 2016-08-24 06:56:58 +02:00
  • 1d87dced75 Drop the concept of "reliable" jump target Alessandro Di Federico 2016-08-24 05:34:35 +02:00
  • 6c5c0ad8f7 Add support for using section information Alessandro Di Federico 2016-08-23 22:12:24 +02:00
  • 9487f0e400 Assign labels to tests Alessandro Di Federico 2016-08-23 04:53:18 +02:00
  • dd7e05d6c1 exitTBCleanup: don't delete with pending uses Alessandro Di Federico 2016-08-20 02:57:33 +02:00
  • f4d71cf926 OSRA: improve handling of multi-defined loads Alessandro Di Federico 2016-08-20 01:59:30 +02:00
  • 37f54ffc8d Handle some undef cases building ConstantExprs Alessandro Di Federico 2016-08-20 01:55:15 +02:00
  • a372b878bd OSRA constraints: handle reaching definitions Alessandro Di Federico 2016-08-20 01:54:37 +02:00
  • 00a1e49f81 OSRA: handle load/store using reaching definitions Alessandro Di Federico 2016-08-20 01:53:06 +02:00
  • deae1f841e SimplifyComparisonsPass: transform in analysis Alessandro Di Federico 2016-08-20 00:31:49 +02:00
  • 475ed2390e Introduce ConditionalReachingDefinitionsPass Alessandro Di Federico 2016-08-20 01:45:54 +02:00
  • fcf9603456 Improve and isolate MemoryAccess Alessandro Di Federico 2016-08-20 01:36:29 +02:00
  • ce5aa5507d Remove argument from OSRAPass::identifyOperands Alessandro Di Federico 2016-08-20 01:34:16 +02:00
  • e3952732f0 OSRA: add proper support for constant - x Alessandro Di Federico 2016-08-20 01:31:42 +02:00
  • 850fbf1bbe OSRA: represent constants as BV constraint Alessandro Di Federico 2016-08-20 01:22:44 +02:00
  • c21c1b190b Give a sensible name to all the basic blocks Alessandro Di Federico 2016-08-20 00:43:30 +02:00
  • bfcb58bade Debug info: replace pointers with sensible names Alessandro Di Federico 2016-08-20 00:38:10 +02:00
  • 8e589238bf Various bugfixes in merging BVs Alessandro Di Federico 2016-08-20 00:27:27 +02:00
  • b360797d2d ScopedDebugFeature: scope-limited debug feature Alessandro Di Federico 2016-08-20 00:23:02 +02:00
  • 4d4127b1d0 SET: cast to correct type while materializing Alessandro Di Federico 2016-08-20 00:21:53 +02:00
  • 9c86833004 Introduce forceFallthroughAfterHelper Alessandro Di Federico 2016-08-03 21:51:28 +02:00
  • d3a6442af2 Factor out and improve visitSuccessors Alessandro Di Federico 2016-08-03 21:44:48 +02:00
  • ecdfab70a9 OSRA: don't propagate dead stores Alessandro Di Federico 2016-08-03 21:42:14 +02:00
  • 7d55f3dd6b Handle multiple stores reaching a load Alessandro Di Federico 2016-08-03 21:41:17 +02:00
  • 25aeb144eb Introduce isa_with_op Alessandro Di Federico 2016-08-03 20:48:44 +02:00
  • 7ea0eafea6 If operandsByType fails, return a nullptr tuple Alessandro Di Federico 2016-08-03 20:48:11 +02:00
  • d0f5944133 Factor out reusable data structures Alessandro Di Federico 2016-08-03 20:47:09 +02:00
  • 430a7261b3 Introduce SimplifyComparisonPass Alessandro Di Federico 2016-08-03 20:45:39 +02:00
  • 56c37f6cf6 Force execution of pinJTS Alessandro Di Federico 2016-08-03 20:41:55 +02:00
  • ba54372759 Check for "sum jumps" more often Alessandro Di Federico 2016-08-03 20:15:46 +02:00
  • acf7063aa6 Fix bugs in JumpTargetManager::getPC Alessandro Di Federico 2016-08-03 20:14:47 +02:00
  • f473731b0f Temporaly disable assertion Alessandro Di Federico 2016-07-17 18:14:41 +02:00
  • 23818e9da4 OSRA: handle register-relative memory accesses Alessandro Di Federico 2016-07-17 18:03:58 +02:00
  • c0dbb6c5e7 Introduce pinning of potential jump targets Alessandro Di Federico 2016-07-15 22:42:57 +02:00
  • 45dc6b3197 SET: track possible destinations of jumps Alessandro Di Federico 2016-07-15 22:39:59 +02:00
  • 7d4e95b45e Associate BoundedValue to constant OSRs Alessandro Di Federico 2016-07-15 22:36:55 +02:00
  • 08be097123 Fix typos, add an assert, spread some const-ness Alessandro Di Federico 2016-07-15 22:30:58 +02:00
  • 4547b4731f Drop leftovers from weakness Alessandro Di Federico 2016-06-20 20:29:48 +02:00