LLVM backend for 6502
Go to file
Benjamin Kramer 914f8c4825 When the legalizer is splitting vector shifts, the result may not have the right shift amount type.
Fix that by adding a cast to the shift expander. This came up with vector shifts
on sse-less X86 CPUs.

   <2 x i64>       = shl <2 x i64> <2 x i64>
-> i64,i64         = shl i64 i64; shl i64 i64
-> i32,i32,i32,i32 = shl_parts i32 i32 i64; shl_parts i32 i32 i64

Now we cast the last two i64s to the right type. Fixes the crash in PR14668.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173615 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-27 11:19:11 +00:00
autoconf Disable Uninitialized Use Warnings for Broken gcc Versions 2013-01-15 18:21:15 +00:00
bindings
cmake Disable MSVC's warning about noreturn destructors 2013-01-25 15:36:13 +00:00
docs Documentation: fix syntax error 2013-01-26 13:30:13 +00:00
examples
include Fix miscompile. Add back the use of the ArrayRef version of the ::get method. 2013-01-27 10:28:39 +00:00
lib When the legalizer is splitting vector shifts, the result may not have the right shift amount type. 2013-01-27 11:19:11 +00:00
projects
runtime
test When the legalizer is splitting vector shifts, the result may not have the right shift amount type. 2013-01-27 11:19:11 +00:00
tools Add DIContext::getLineInfoForAddressRange() function and test. This function allows a caller to obtain a table of line information for a function using the function's address and size. 2013-01-26 00:28:05 +00:00
unittests Fix test to not use the AttributeSet's AttributeWithIndex creation method. 2013-01-27 03:39:10 +00:00
utils Use the AttributeSet instead of AttributeWithIndex. 2013-01-27 03:25:05 +00:00
.arcconfig
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT Update CODE_OWNERS.TXT. 2013-01-15 09:37:45 +00:00
configure Disable Uninitialized Use Warnings for Broken gcc Versions 2013-01-15 18:21:15 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Introduce llvm::sys::getProcessTriple() function. 2013-01-16 17:27:22 +00:00
Makefile.rules Pass NO_MISSING_FIELD_INITIALIZERS to Compiler Flags 2013-01-18 23:22:52 +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 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.