1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
Go to file
Duncan Sands 6939ae53ac Split the init.trampoline intrinsic, which currently combines GCC's
init.trampoline and adjust.trampoline intrinsics, into two intrinsics
like in GCC.  While having one combined intrinsic is tempting, it is
not natural because typically the trampoline initialization needs to
be done in one function, and the result of adjust trampoline is needed
in a different (nested) function.  To get around this llvm-gcc hacks the
nested function lowering code to insert an additional parent variable
holding the adjust.trampoline result that can be accessed from the child
function.  Dragonegg doesn't have the luxury of tweaking GCC code, so it
stored the result of adjust.trampoline in the memory GCC set aside for
the trampoline itself (this is always available in the child function),
and set up some new memory (using an alloca) to hold the trampoline.
Unfortunately this breaks Go which allocates trampoline memory on the
heap and wants to use it even after the parent has exited (!).  Rather
than doing even more hacks to get Go working, it seemed best to just use
two intrinsics like in GCC.  Patch mostly by Sanjoy Das.

llvm-svn: 139140
2011-09-06 13:37:06 +00:00
autoconf Update config.sub, config.guess and configure. 2011-08-23 06:43:49 +00:00
bindings Remove the build_unwind function from the OCaml bindings. 2011-08-10 01:10:17 +00:00
cmake Complete the removal of FindBison from CMake. Noticed this when browsing 2011-09-04 23:29:12 +00:00
docs Split the init.trampoline intrinsic, which currently combines GCC's 2011-09-06 13:37:06 +00:00
examples Move TargetRegistry and TargetSelect from Target to Support where they belong. 2011-08-24 18:08:43 +00:00
include Split the init.trampoline intrinsic, which currently combines GCC's 2011-09-06 13:37:06 +00:00
lib Split the init.trampoline intrinsic, which currently combines GCC's 2011-09-06 13:37:06 +00:00
projects Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
runtime Use version 402 for the GCDA files when compiling for Apple. 2011-07-28 18:12:20 +00:00
test Split the init.trampoline intrinsic, which currently combines GCC's 2011-09-06 13:37:06 +00:00
tools As a (rather delayed) followup to r136738 which stopped building the 2011-09-04 23:32:05 +00:00
unittests Exclude more arm jit failures pending PR10783. 2011-09-03 01:08:35 +00:00
utils valgrind: Suppress glibc's optiized strcasecmp harder. 2011-09-03 17:59:31 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
.gitignore .gitignore: Ignore /autom4te.cache. We can execute "PATH=/path/to/autotools/bin autoconf/AutoRegen.sh". 2011-08-12 07:47:50 +00:00
build-for-llvm-top.sh Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
CMakeLists.txt Added the infrastructute necessary for MIPS JIT support. Patch by Vladimir 2011-07-21 16:28:51 +00:00
configure Update config.sub, config.guess and configure. 2011-08-23 06:43:49 +00:00
CREDITS.TXT I am the code owner for Clang's IR generation; this has been true 2011-08-02 01:38:19 +00:00
LICENSE.TXT Happy new year. 2011-06-12 15:26:54 +00:00
llvm.spec.in
Makefile Install libprofile_rt.dylib where it's more available for gcov support. 2011-06-10 21:47:14 +00:00
Makefile.common Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Makefile.config.in build/configure: Add support for --with-extra-ld-options flag (to provide extra 2011-06-16 22:30:38 +00:00
Makefile.rules TableGen'erated MC lowering for simple pseudo-instructions. 2011-07-08 17:36:35 +00:00
ModuleInfo.txt Remove trailing space. This is just an excuse to poke the 2010-10-05 20:32:15 +00:00
README.txt reverting test commit 2011-05-12 17:38:08 +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 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.