1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
Go to file
Richard Osborne 871fa66400 [XCore] Prefer to word align functions.
The behaviour of the XCore's instruction buffer means that the performance
of the same code sequence can differ depending on whether it starts at a 4
byte aligned address or not. Since we don't model the instruction buffer
in the backend we have no way of knowing for sure if it is beneficial to
word align a specific function. However, in the absence of precise
modelling, it is better on balance to word align functions because:

* It makes a fetch-nop while executing the prologue slightly less likely.
* If we don't word align functions then a small perturbation in one
  function can have a dramatic knock on effect. If the size of the function
  changes it might change the alignment and therefore the performance of
  all the functions that happen to follow it in the binary. This butterfly
  effect makes it harder to reason about and measure the performance of
  code.

llvm-svn: 202163
2014-02-25 16:37:15 +00:00
autoconf Add aarch64 to config.guess 2014-02-25 09:30:54 +00:00
bindings [python-bindings] Remove some cruft that snuck in. 2014-02-23 04:43:26 +00:00
cmake TableGen.cmake: Functionalize and reformat. 2014-02-23 12:54:15 +00:00
docs Make DisableIntegratedAS a TargetOption. 2014-02-21 03:13:54 +00:00
examples Replace the F_Binary flag with a F_Text one. 2014-02-24 18:20:12 +00:00
include Add some convenience accessors for the underlying Use of an operand. 2014-02-25 03:34:17 +00:00
lib [XCore] Prefer to word align functions. 2014-02-25 16:37:15 +00:00
projects Remove dead code, we already require cmake 2.8.8. 2014-02-16 14:36:26 +00:00
test [XCore] Prefer to word align functions. 2014-02-25 16:37:15 +00:00
tools llvm-dwarfdump: Support for debug_line.dwo section for file names for type units under fission. 2014-02-24 23:58:54 +00:00
unittests Disable old JIT unittests for AARch64 2014-02-25 09:31:05 +00:00
utils Replace the F_Binary flag with a F_Text one. 2014-02-24 18:20:12 +00:00
.arcconfig
.clang-format
.gitignore Added .DS_Store entry in .gitignore for ignoring .DS_Store files in the source 2014-01-25 15:15:16 +00:00
CMakeLists.txt Permit CMAKE_INSTALL_RPATH to be set on command line 2014-02-24 22:23:43 +00:00
CODE_OWNERS.TXT Add myself as owner for libc++ 2014-02-18 14:03:17 +00:00
configure Add version, arch, system libs, and targets to Makefile.config 2014-02-09 16:36:42 +00:00
CREDITS.TXT Fix documentation typos 2013-12-20 00:33:39 +00:00
LICENSE.TXT Update the copyright credits -- Happy new year 2014! 2014-01-01 08:27:31 +00:00
llvm.spec.in
LLVMBuild.txt Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
Makefile Provide CMake package modules in install tree 2014-02-09 16:37:02 +00:00
Makefile.common
Makefile.config.in Add version, arch, system libs, and targets to Makefile.config 2014-02-09 16:36:42 +00:00
Makefile.rules Provide CMake package modules in install tree 2014-02-09 16:37:02 +00:00
README.txt Revert "Test commit to check e-mail address. Please discard this." 2013-10-04 10:59:13 +00:00

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 documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

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