llvm-project/llvm
Evan Cheng 87c7b09d8d Some ARM implementaions, e.g. A-series, does return stack prediction. That is,
the processor keeps a return addresses stack (RAS) which stores the address
and the instruction execution state of the instruction after a function-call
type branch instruction.

Calling a "noreturn" function with normal call instructions (e.g. bl) can
corrupt RAS and causes 100% return misprediction so LLVM should use a
unconditional branch instead. i.e.
mov lr, pc
b _foo
The "mov lr, pc" is issued in order to get proper backtrace.

rdar://8979299

llvm-svn: 151623
2012-02-28 06:42:03 +00:00
..
autoconf Strip extraneous information, if present, from the linker version string on 2012-02-28 02:55:41 +00:00
bindings ocaml bindings: landing pad is now the last opcode. 2012-02-07 18:58:19 +00:00
cmake Enable -Wcovered-switch-default as it matches the switch style used in llvm. 2012-02-28 02:01:55 +00:00
docs Update tblgen command guide. Remove unused tblgen InstrEnumEmitter files. 2012-02-27 02:31:09 +00:00
examples Switch to a more idiomatic way of silencing unused variable warnings in 2012-02-20 00:02:49 +00:00
include Some ARM implementaions, e.g. A-series, does return stack prediction. That is, 2012-02-28 06:42:03 +00:00
lib Some ARM implementaions, e.g. A-series, does return stack prediction. That is, 2012-02-28 06:42:03 +00:00
projects Enable -Wcovered-switch-default as it matches the switch style used in llvm. 2012-02-28 02:01:55 +00:00
runtime Fixing a warning in MSVC (this is also a test commit) 2012-02-05 19:43:39 +00:00
test Some ARM implementaions, e.g. A-series, does return stack prediction. That is, 2012-02-28 06:42:03 +00:00
tools [Object] Add {begin,end}_dynamic_symbols stubs and implementation for ELF. 2012-02-28 00:40:37 +00:00
unittests Fix typos. 2012-02-22 16:01:54 +00:00
utils Convert generated intrinsic attributes to use an array lookup as Chris suggested in PR11951. 2012-02-28 06:32:00 +00:00
.gitignore git: Add tools/lldb to the ignore list. 2011-11-10 22:55:50 +00:00
CMakeLists.txt add LLVM_VERSION_MAJOR and _MINOR defines 2012-02-13 18:48:10 +00:00
CREDITS.TXT Update credits. 2012-02-16 18:54:41 +00:00
LICENSE.TXT Happy new year 2012! 2012-01-01 08:16:56 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile Makefile: add missing files to FilesToConfig 2012-01-17 02:56:49 +00:00
Makefile.common
Makefile.config.in Enable -Wcovered-switch-default as it matches the switch style used in llvm. 2012-02-28 02:01:55 +00:00
Makefile.rules Enable -Wcovered-switch-default as it matches the switch style used in llvm. 2012-02-28 02:01:55 +00:00
README.txt test commit 2012-02-07 08:18:05 +00:00
configure Strip extraneous information, if present, from the linker version string on 2012-02-28 02:55:41 +00:00
llvm.spec.in Tidy up. s/Low Level Virtual Machine/LLVM/. 2012-01-25 22:00:23 +00:00

README.txt

Low Level Virtual Machine (LLVM)
================================

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

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.