LLVM backend for 6502
Go to file
Evan Cheng 2f435511e9 Many of the SSE patterns should not be selected when AVX is available. This led to the following code in X86Subtarget.cpp
if (HasAVX)
    X86SSELevel = NoMMXSSE;

This is so patterns that are predicated on hasSSE3, etc. would not be selected when avx is available. Instead, the AVX variant is selected.
However, this breaks instructions which do not have AVX variants.

The right way to fix this is for the SSE but not-AVX patterns to predicate on something like hasSSE3() && !hasAVX().
Then we can take out the hack in X86Subtarget.cpp. Patterns which do not have AVX variants do not need to change.

However, we need to audit all the patterns before we make the change. This patch is workaround that fixes one specific case,
the prefetch instructions. rdar://10538297


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146163 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08 19:00:42 +00:00
autoconf configure: Don't warn about compiler-rt checked out into projects/. 2011-12-07 22:07:03 +00:00
bindings
cmake build/CMake: Finish removal of add_llvm_library_dependencies. 2011-11-29 19:25:30 +00:00
docs Also pass in correct initializer here. 2011-12-07 18:18:11 +00:00
examples EngineBuilder: support for custom TargetOptions. Fixes the 2011-12-07 23:58:57 +00:00
include Fix 80-column. 2011-12-08 00:38:45 +00:00
lib Many of the SSE patterns should not be selected when AVX is available. This led to the following code in X86Subtarget.cpp 2011-12-08 19:00:42 +00:00
projects
runtime
test Revert r146143, "Fix bug 9905: Failure in code selection for llvm intrinsics 2011-12-08 17:32:18 +00:00
tools Update bcanalyzer to handle new USELIST_BLOCK/USELIST_CODE_ENTRY. 2011-12-07 21:45:13 +00:00
unittests Add support for vectors of pointers. 2011-12-05 06:29:09 +00:00
utils ARM: NEON SHLL instruction immediate operand range checking. 2011-12-07 01:07:24 +00:00
.gitignore
CMakeLists.txt llvm-config: Replace with C++ version (was llvm-config-2). 2011-12-01 20:18:09 +00:00
configure configure: Don't warn about compiler-rt checked out into projects/. 2011-12-07 22:07:03 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile llvm-config: Replace with C++ version (was llvm-config-2). 2011-12-01 20:18:09 +00:00
Makefile.common
Makefile.config.in Add an optional separate install prefix for internal components. rdar://10217046 2011-11-28 07:59:52 +00:00
Makefile.rules Add a deterministic finite automaton based packetizer for VLIW architectures 2011-12-01 21:10:21 +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 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.