1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
Go to file
Bill Wendling 991234752d Handle code gen for the unreachable instruction if it's the only instruction in
the function. We'll just turn it into a "trap" instruction instead.

The problem with not handling this is that it might generate a prologue without
the equivalent epilogue to go with it:

$ cat t.ll
define void @foo() {
entry:
  unreachable
}
$ llc -o - t.ll -relocation-model=pic -disable-fp-elim -unwind-tables
        .section        __TEXT,__text,regular,pure_instructions
        .globl  _foo
        .align  4, 0x90
_foo:                                   ## @foo
Leh_func_begin0:
## BB#0:                                ## %entry
        pushq   %rbp
Ltmp0:
        movq    %rsp, %rbp
Ltmp1:
Leh_func_end0:
...

The unwind tables then have bad data in them causing all sorts of problems.

Fixes <rdar://problem/8096481>.

llvm-svn: 108473
2010-07-15 23:32:40 +00:00
autoconf
bindings Implement the "linker_private_weak" linkage type. This will be used for 2010-07-01 21:55:59 +00:00
cmake
docs Don't pass StringRef by reference. 2010-07-14 22:38:02 +00:00
examples Convert some tab stops into spaces. 2010-07-12 08:16:59 +00:00
include Split -enable-finite-only-fp-math to two options: 2010-07-15 22:07:12 +00:00
lib Handle code gen for the unreachable instruction if it's the only instruction in 2010-07-15 23:32:40 +00:00
projects
runtime
test Handle code gen for the unreachable instruction if it's the only instruction in 2010-07-15 23:32:40 +00:00
tools Remove some broken code to check the DISABLE_EDIS flag (edis is now in the 2010-07-14 22:41:51 +00:00
unittests Switch from EXPECT_EQ({true,false, ...) to the more canonical 2010-07-13 17:28:05 +00:00
utils Remove the entire docs directory from Apple-style builds. 2010-07-14 23:49:18 +00:00
website
build-for-llvm-top.sh
CMakeLists.txt
configure
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
Makefile Issue the warning about being slow whenever optimization is disabled, 2010-07-07 16:48:16 +00:00
Makefile.common
Makefile.config.in typo in comment, regeneration not necessary 2010-07-07 13:58:46 +00:00
Makefile.rules build/Darwin: Add a missing directory dependency. 2010-07-15 21:51:52 +00:00
ModuleInfo.txt
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.