Commit Graph

  • 130d2c7589 Error if function using indirect jmp touches redzone master Nolan Leake 2020-07-07 14:29:31 -0700
  • fe8082af97 Comment fix. Nolan Leake 2020-05-14 16:23:55 -0700
  • faef3fcd5b Detect rep; movs as a load from memory. lvi Nolan Leake 2020-05-14 15:15:50 -0700
  • c1312e2956 Switch from not; not; lfence; ret to shl; lfence; ret. Nolan Leake 2020-05-14 15:09:45 -0700
  • f6d8aed1a9 Verifier caught a bug in two of the mitigations. Nolan Leake 2020-05-14 14:31:19 -0700
  • f40c55f512 Fix detection of loads. Nolan Leake 2020-05-14 11:20:12 -0700
  • 061fb7d1e7 Extend LFence insertion pass to mitigate LVI. Nolan Leake 2020-04-30 16:56:16 -0700
  • 2ece5fa87a Spectre-mitigation pass -insert-lfences rebase Nolan Leake 2019-02-11 01:31:34 -0800
  • 0655e9a71f add opt-in LFenceInsertion pass for spectre mitigation Nolan Leake 2019-08-26 14:25:02 -0700
  • 9d4a9c0e82 follow PIC table jump-on register across reg2reg moves Jeffrey Griffin 2019-08-26 11:19:26 -0700
  • 7e63dc16ee Fix aggregator w.r.t. split functions Rafael Auler 2019-08-23 12:18:31 -0700
  • 7fd4544586 Tighter control of jump table detection Maksim Panchenko 2019-08-19 14:06:36 -0700
  • 753c1e1ee4 Fix misleading output Maksim Panchenko 2019-08-19 17:11:42 -0700
  • d36e6fc435 Encode instrumentation tables in file Rafael Auler 2019-08-02 11:20:13 -0700
  • c6fa8fb91d Support instrumentation via runtime library Rafael Auler 2019-07-24 14:03:43 -0700
  • 6a339b9949 update parallel parallel_bolt_hhvm.test laith sakka 2019-08-05 13:56:48 -0700
  • f353064d08 Add test for parallel mode laith sakka 2019-07-30 17:55:27 -0700
  • 5a485bd2d8 Rewrite frame analysis using parallel utilities laith sakka 2019-07-25 11:57:08 -0700
  • 1895790cab Rewrite ICF using parallel utilities laith sakka 2019-07-24 17:13:15 -0700
  • b782793df5 Add option to verify instruction encoder/decoder Maksim Panchenko 2019-07-31 16:03:49 -0700
  • 490fedfb4b Enforce strict mode for perf2bolt Maksim Panchenko 2019-06-11 13:24:10 -0700
  • b2258a5314 Fix race condition in buildCFG laith sakka 2019-07-25 14:41:57 -0700
  • f069640bf3 Run hfsort+ in parallel laith sakka 2019-07-23 15:49:02 -0700
  • 75a18d4aad Add code padding verification Maksim Panchenko 2019-07-23 20:48:41 -0700
  • 9e322d2a6d Fix processing PLT without relocs Maksim Panchenko 2019-07-24 22:08:36 -0700
  • e8144c0d6d Fix white space Maksim Panchenko 2019-07-24 17:54:14 -0700
  • 7c8ea6450e Run findSubprograms in preprocessDebugInfo in parallel laith sakka 2019-07-17 20:54:53 -0700
  • b965f62407 Lock-based parallelization for updateDebugInfo laith sakka 2019-07-17 14:58:17 -0700
  • 495f6c1737 Target compilation based on LLVM CMake configuration (#60) Pierre RAMOIN 2019-07-24 11:05:08 -0700
  • 108b67d892 Fix issue printing CTCs without annotations Maksim Panchenko 2019-07-22 20:57:19 -0700
  • 7d5b72ea49 Run shrink wrapping in parallel laith sakka 2019-07-02 10:48:43 -0700
  • b8a5ae9471 Run buildCFG in disassembly in parallel laith sakka 2019-07-12 07:25:50 -0700
  • 5fa33f3084 run finalize functions in parallel Summary: laith sakka 2019-07-10 10:59:56 -0700
  • a1f4793b70 run aligner pass in parallel laith sakka 2019-07-09 17:59:41 -0700
  • 227b921898 Run reorder blocks in parallel laith sakka 2019-07-08 12:32:58 -0700
  • acb8749ccf Support duplicating jump tables Rafael Auler 2019-07-02 16:56:41 -0700
  • e0fe32729a Restrict creation of jump tables Rafael Auler 2019-07-10 15:41:34 -0700
  • 5de692014f Create a general interface to implement parallel tasks easily and apply it to run EliminateUnreachableBlocks in parallel. laith sakka 2019-07-03 17:23:19 -0700
  • bce6479435 Run cleanAnnotations within frame analysis in parallel laith sakka 2019-07-02 13:42:17 -0700
  • 01e75a8c9f Clean SPTMap in frame anaylsis in parallel laith sakka 2019-06-19 18:01:00 -0700
  • c8cda8a4be run SPT in parallel, and split annotation allocator laith sakka 2019-06-14 19:56:11 -0700
  • 8dfe2267b8 Prioritize Jump Table ICP target by frequency and indice count Wenlei He 2019-07-02 15:51:20 -0700
  • 5bdb9857c2 Fix out-of-bounds entry points Maksim Panchenko 2019-06-28 11:53:34 -0700
  • 303346b57c Introduce strict relocation mode Maksim Panchenko 2019-06-28 09:21:27 -0700
  • 86de981e90 Ignore false function references Maksim Panchenko 2019-06-27 03:20:17 -0700
  • 9c0b72b76c Force non-relocation mode for heatmap generation wenlei 2019-06-26 11:06:46 -0700
  • c8aea9f568 Initial experimental instrumentation pass Rafael Auler 2019-06-19 20:10:49 -0700
  • e67d72ca13 Ignore empty funcs in relocation mode Rafael Auler 2019-06-24 20:23:22 -0700
  • 9058415d17 Add option to print profile bias stats Rafael Auler 2019-06-10 17:26:48 -0700
  • 8c428d62d7 Parallelize ICF Pass laith sakka 2019-05-31 16:45:31 -0700
  • 86ed045912 Check instruction boundaries while populating jump tables Maksim Panchenko 2019-06-13 15:31:30 -0700
  • 9d160e29dc Delay populating jump tables Maksim Panchenko 2019-06-12 18:21:02 -0700
  • 39195b099f Use singleton instances for SPT (stack pointer tracking) in FrameAnalysis. laith sakka 2019-06-06 12:58:14 -0700
  • 1fba68f849 Option to use event PC with LBR stack Maksim Panchenko 2019-06-06 19:38:06 -0700
  • 0af97f2a82 Fix MCF for LBR samples Rafael Auler 2019-06-05 13:37:09 -0700
  • f3f36a96cc Better handling of address references Maksim Panchenko 2019-06-04 15:30:22 -0700
  • 7a38eb2d37 Compile Bolt using std 14. laith sakka 2019-06-05 10:32:29 -0700
  • 32f147aee1 Support data collection in bolted binaries Rafael Auler 2019-04-12 17:33:46 -0700
  • 89e112a748 Update SDT locations after bolt reordering Laith Sakka 2019-05-17 07:58:27 -0700
  • 8d1124f84e Use regex matching for function names passed on command line Maksim Panchenko 2019-05-29 18:33:09 -0700
  • 9d99ab8592 Minor-fix: remove duplicate definition of SPT optimization timer Summary: Laith Sakka 2019-05-22 15:03:42 -0700
  • 77d27b5983 Fix white space Maksim Panchenko 2019-05-23 15:49:36 -0700
  • 3ecda6eccb Better verification of jump tables Maksim Panchenko 2019-05-22 18:14:34 -0700
  • 721b037ab2 Refactor handling of interproc refs Maksim Panchenko 2019-05-22 11:26:58 -0700
  • 24847345a0 Add an option to specialize memcpy() for 1 byte copy Maksim Panchenko 2019-05-20 20:11:40 -0700
  • ea49a61463 Preserve nops that are SDT markers in binaries and disable SDT conflicting optimizations lsakka 2019-05-16 12:46:32 -0700
  • a0fe82caa2 Parse statically defined tracepoint markers from .note.stapsdt section lsakka 2019-05-15 17:19:18 -0700
  • 414ea2254e Improve ICP activation policy and hot jt processing Rafael Auler 2019-05-02 12:28:34 -0700
  • 76b97902ed Move JumpTable management to BinaryContext Maksim Panchenko 2019-05-02 17:42:06 -0700
  • 2771404c36 Pass -f flag to perf Maksim Panchenko 2019-04-30 17:08:22 -0700
  • 155eedaf2f Limit jump table size by containing object Maksim Panchenko 2019-04-30 15:47:10 -0700
  • 85eb82a23d Move DynoStats out of BinaryFunction Maksim Panchenko 2019-04-29 12:51:10 -0700
  • 9bf3324c3b Strip debug sections by default Maksim Panchenko 2019-04-26 15:30:12 -0700
  • 02f4d9be2b Fix symboltable update bug Rafael Auler 2019-04-26 19:52:36 -0700
  • d1bb2e73af Fix profile reading in non-reloc mode Maksim Panchenko 2019-04-26 16:32:28 -0700
  • 1cba184e00 Fix print report for pre-aggregated profile Maksim Panchenko 2019-04-25 16:34:50 -0700
  • e98a81c170 Automatically enable -hot-text Maksim Panchenko 2019-04-25 17:00:05 -0700
  • c94edca4d1 Minimize BOLT's diff with LLVM by removing trivial changes (NFC) Brian Gesiak 2019-04-24 08:24:15 -0700
  • 32fd328ade Update symbols for secondary entry points Rafael Auler 2019-04-18 16:32:22 -0700
  • 449c43120f Fix casting issues on macOS Brian Gesiak 2019-04-22 08:27:50 -0700
  • 58a4f2fd42 Only build enabled targets Brian Gesiak 2019-04-22 08:19:02 -0700
  • 71d734e9ed Fix non-determinism in shrink wrapping Rafael Auler 2019-04-17 18:20:56 -0700
  • dd45439d19 Process CFIs for functions with FDE size mismatch Maksim Panchenko 2019-04-17 15:17:55 -0700
  • b52cc1b764 Basic support for split functions Maksim Panchenko 2019-04-16 10:24:34 -0700
  • 491695350a Fix an issue with std:errc Maksim Panchenko 2019-04-15 16:42:49 -0700
  • 96bf250d9b Fix adjustFunctionBoundaries w.r.t. entry points Rafael Auler 2019-04-16 14:35:29 -0700
  • f8d4184063 Add another section to the list of hot text movers Maksim Panchenko 2019-04-16 10:39:05 -0700
  • dd54572c9e Abort processing if the profile has no valid data Maksim Panchenko 2019-04-15 14:03:01 -0700
  • 3941112452 Reduce warnings for non-simple functions Maksim Panchenko 2019-04-15 11:56:55 -0700
  • 83de75bc91 Handle R_X86_64_converted_reloc_bit Maksim Panchenko 2019-04-11 17:11:08 -0700
  • c31ad699df Include <numeric> for std::iota Maksim Panchenko 2019-04-09 21:22:41 -0700
  • 1963f5cd26 Sort basic block successors for printing Maksim Panchenko 2019-04-09 11:27:23 -0700
  • 7cacc8888a Add interface to extract values from static addresses Maksim Panchenko 2019-04-09 12:29:40 -0700
  • a9642d2664 Indentation fix Maksim Panchenko 2019-04-09 11:31:45 -0700
  • b754aa70cd Print a better message if perf.data lacks LBR Rafael Auler 2019-04-05 17:27:25 -0700
  • 0109ba0130 Convert DW_AT_(low|high)_pc to DW_AT_ranges only if necessary Maksim Panchenko 2019-04-01 20:26:41 -0700
  • 85e16a2954 Detect internal references into a middle of instruction Maksim Panchenko 2019-04-03 22:31:12 -0700
  • c7ee7d0e81 Move BinaryFunctions into a BinaryContext and more Maksim Panchenko 2019-04-03 15:52:01 -0700
  • 00f309f1be Dedup .debug_abbrev section patches Maksim Panchenko 2019-03-29 14:22:54 -0700
  • a36d0144ed Do not write jump table section headers Maksim Panchenko 2019-03-27 13:58:31 -0700