Go to file
whitequark 4f9c59f863 [OR1K] Add the EPCR special-purpose register to register state.
This makes it possible to unwind hardware exception stack frames,
which necessarily save every register and so need an extra column
for storing the return address. CFI for the exception handler could
then look as follows:

.globl exception_vector
exception_vector:
    .cfi_startproc
    .cfi_signal_frame
    .cfi_return_column 32
    l.addi  r1, r1, -0x100
    .cfi_def_cfa_offset 0x100
    l.sw    0x00(r1), r2
    .cfi_offset 2, 0x00-0x100
    l.sw    0x04(r1), r3
    .cfi_offset 3, 0x04-0x100
    l.sw    0x08(r1), r4
    .cfi_offset 4, 0x08-0x100
    l.mfspr r3, r0, SPR_EPCR_BASE
    l.sw    0x78(r1), r3
    .cfi_offset 32, 0x78-0x100
    l.jal   exception_handler
     l.nop
    l.lwz   r2, 0x00(r1)
    l.lwz   r3, 0x04(r1)
    l.lwz   r4, 0x08(r1)
    l.jr    r9
     l.nop
    .cfi_endproc

This register could, of course, also be accessed by the trace
callback or personality function, if so desired.

llvm-svn: 332513
2018-05-16 19:09:48 +00:00
clang [Sema] Fix assertion when constructor is disabled with partially specialized template. 2018-05-16 18:28:58 +00:00
clang-tools-extra [clangd] Parse all comments in Sema and completion. 2018-05-16 12:32:49 +00:00
compiler-rt [libFuzzer] add a symbolic execution puzzle (difficult for today's libFuzzer). 2018-05-16 18:19:30 +00:00
debuginfo-tests
libclc rootn: Use denormal path only 2018-05-15 04:22:43 +00:00
libcxx Emit an error when include <atomic> after <stdatomic.h> 2018-05-15 22:38:31 +00:00
libcxxabi Fix test failure for missing _LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS 2018-05-03 12:44:27 +00:00
libunwind [OR1K] Add the EPCR special-purpose register to register state. 2018-05-16 19:09:48 +00:00
lld [WebAssembly] Fix R_WEBASSEMBLY_FUNCTION_OFFSET_I32 relocation entries 2018-05-15 22:27:50 +00:00
lldb Fix FileSpecTest after LLVM changes to remove_dots (https://reviews.llvm.org/D46887) 2018-05-16 18:37:00 +00:00
llgo
llvm [X86] Fix typo in instregex for CVTSI642SDrr 2018-05-16 18:31:17 +00:00
openmp [libomptarget-nvptx-bc] Pass found CUDA installations 2018-05-16 17:20:27 +00:00
parallel-libs
polly [DeLICM] Avoid assertion on out-of-quota. 2018-05-16 16:39:51 +00:00
README.md

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.