MMaksim Panchenko[BOLT] Fix EH trampoline backout code
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[BOLT] Fix tailcall-traps and basic-instr tests on ubuntu Summary: These tests are failing on opensource ubuntu. (cherry picked from FBD32514489) | 4 年前 | |
[BOLT][TEST] Imported small tests, removed duplicate input Summary: Imported small internal tests. - call_zero.s - cfi_expr_rewrite.s - cfi_insts_count.s - exceptions_pic.test - exceptions_run.test Removed duplicate input file (switch_statement.cpp) (cherry picked from FBD31355466) | 4 年前 | |
[BOLT][TEST] Imported small tests, removed duplicate input Summary: Imported small internal tests. - call_zero.s - cfi_expr_rewrite.s - cfi_insts_count.s - exceptions_pic.test - exceptions_run.test Removed duplicate input file (switch_statement.cpp) (cherry picked from FBD31355466) | 4 年前 | |
[BOLT] Split functions with exceptions in shared objects and PIEs Add functionality to allow splitting code with C++ exceptions in shared libraries and PIEs. To overcome a limitation in exception ranges format, for functions with fragments spanning multiple sections, add trampoline landing pads in the same section as the corresponding throwing range. Reviewed By: Amir Differential Revision: https://reviews.llvm.org/D127936 | 3 年前 | |
[BOLT][TEST] Split runtime tests into test/runtime folder Summary: Create bolt/test/runtime folder and move tests that execute the binary. Move lit.local.cfg with host_arch check to the corresponding folder. Addresses issue facebookincubator/BOLT#132. AArch64/tls.c shows a different behavior with clang hence marked as XFAIL TODO: add a check for non-exec tests for a corresponding LLVM_TARGETS_TO_BUILD. (cherry picked from FBD31132234) | 4 年前 | |
[BOLT][TEST] Split runtime tests into test/runtime folder Summary: Create bolt/test/runtime folder and move tests that execute the binary. Move lit.local.cfg with host_arch check to the corresponding folder. Addresses issue facebookincubator/BOLT#132. AArch64/tls.c shows a different behavior with clang hence marked as XFAIL TODO: add a check for non-exec tests for a corresponding LLVM_TARGETS_TO_BUILD. (cherry picked from FBD31132234) | 4 年前 | |
[BOLT][TEST] Imported small tests Summary: Imported small internal tests: - indirect_goto.test - indirect_goto_pie.test - inlined_function_mixed.test (cherry picked from FBD31446571) | 4 年前 | |
[BOLT][TEST] Imported small tests Summary: Imported small internal tests: - invalid_profile.test - internal_call.test - internal_call_instrument.test (cherry picked from FBD31452386) | 4 年前 | |
[BOLT][TEST] Imported small tests Summary: Imported small internal tests: - invalid_profile.test - internal_call.test - internal_call_instrument.test (cherry picked from FBD31452386) | 4 年前 | |
[BOLT] Fix EH trampoline backout code When SplitFunctions pass adds a trampoline code for exception landing pads (limited to shared objects), it may increase the size of the hot fragment making it larger than the whole function pre-split. When this happens, the pass reverts the splitting action by restoring the original block order and marking all blocks hot. However, if createEHTrampolines() added new blocks to the CFG and modified invoke instructions, simply restoring the original block layout will not suffice as the new CFG has more blocks. For proper backout of the split, modify the original layout by merging in trampoline blocks immediately before their matching targets. As a result, the number of blocks increases, but the number of instructions and the function size remains the same as pre-split. Add an assertion for the number of blocks when updating a function layout. Reviewed By: rafauler Differential Revision: https://reviews.llvm.org/D128696 | 3 年前 | |
[BOLT][TEST] Imported small tests Summary: Imported small internal tests: - re-optimize.test - relaxed_tailcall.test - remove_unused.test - retpoline_synthetic.test (cherry picked from FBD31516680) | 4 年前 | |
[BOLT][TEST] Split runtime tests into test/runtime folder Summary: Create bolt/test/runtime folder and move tests that execute the binary. Move lit.local.cfg with host_arch check to the corresponding folder. Addresses issue facebookincubator/BOLT#132. AArch64/tls.c shows a different behavior with clang hence marked as XFAIL TODO: add a check for non-exec tests for a corresponding LLVM_TARGETS_TO_BUILD. (cherry picked from FBD31132234) | 4 年前 |