llvm/lib
Bill Wendling 5388e6f9b3 Support lowering of empty aggregates.
This crash was pretty common while compiling Rust for iOS (armv7). Reason -
SjLj preparation step was lowering aggregate arguments as ExtractValue +
InsertValue. ExtractValue has assertion which checks that there is some data in
value, which is not true in case of empty (no fields) structures. Rust uses
them quite extensively so this patch uses a 'select true, %val, undef'
instruction to lower the argument.

Patch by Valerii Hiora.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212922 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-14 06:22:36 +00:00
..
Analysis Templatify DominanceFrontier. 2014-07-12 21:59:52 +00:00
AsmParser Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
Bitcode Fix a bug in the conversion to ErrorOr. 2014-07-04 20:05:56 +00:00
CodeGen Support lowering of empty aggregates. 2014-07-14 06:22:36 +00:00
DebugInfo
ExecutionEngine [RuntimeDyld] Fix stub size and offset for AArch64 in RuntimeDyldMachO.h. 2014-07-12 00:16:47 +00:00
IR IR: Allow comdats to be applied to globals with internal linkage 2014-07-13 04:56:11 +00:00
IRReader Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
LineEditor
Linker
LTO Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
MC MC: make MCWin64EHInstruction a POD-like struct 2014-07-13 19:03:45 +00:00
Object Object/LLVMBuild.txt: Sort required_libraries by alphabetical order. 2014-07-14 02:52:08 +00:00
Option Generic: add range-adapter for option parsing. 2014-07-09 13:03:37 +00:00
ProfileData Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
Support Move the API and implementation of clang::driver::getARMCPUForMArch() to llvm::Triple::getARMCPUForArch(). 2014-07-11 21:44:54 +00:00
TableGen Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
Target NVPTX/LLVMBuild.txt: Add "Scalar" to required_libraries. It is really referenced. 2014-07-14 02:52:19 +00:00
Transforms [CMake] Add LLVM_LINK_COMPONENTS to loadable modules, LLVMHello and BugpointPasses, on Win32. 2014-07-13 13:36:48 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile