LLVM backend for 6502
Go to file
Chris Lattner 1a3257bbf5 Make SROA produce a vector only when the alloca is actually
accessed at least once as a vector.  This prevents it from
compiling the example in not-a-vector into:

define double @test(double %A, double %B) {
	%tmp4 = insertelement <7 x double> undef, double %A, i32 0
	%tmp = insertelement <7 x double> %tmp4, double %B, i32 4
	%tmp2 = extractelement <7 x double> %tmp, i32 4
	ret double %tmp2
}

instead, producing the integer code.  Producing vectors when they
aren't otherwise in the program is dangerous because a lot of other
code treats them carefully and doesn't want to break them down.
OTOH, many things want to break down tasty i448's.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63638 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 18:15:05 +00:00
autoconf Add the ability to pass the path to binutils source to configure. This is 2009-02-03 07:10:08 +00:00
bindings Rename getABITypeSize to getTypePaddedSize, as 2009-01-12 20:38:59 +00:00
cmake CMake: Tests PERL availability with PERL_EXECUTABLE variable. 2009-01-22 01:20:31 +00:00
docs Improve -fno-opt style option processing to not require an extra 2009-02-02 22:48:49 +00:00
examples reapply Sanjiv's patch to genericize memcpy/memset/memmove to take an 2008-11-21 16:42:48 +00:00
include add a method to BumpPtrAllocator that allows allocating elements 2009-02-03 07:39:50 +00:00
lib Make SROA produce a vector only when the alloca is actually 2009-02-03 18:15:05 +00:00
projects Add "sample" documentation to sample project. 2008-09-15 05:31:29 +00:00
runtime Fixing the stack walker. 2008-01-24 05:16:36 +00:00
test Make SROA produce a vector only when the alloca is actually 2009-02-03 18:15:05 +00:00
tools Add LLVM plugin for gold. 2009-02-03 07:13:24 +00:00
unittests APInt's countLeadingOnes() was broken for negative i128 values, 2009-01-27 18:06:03 +00:00
utils Fix PR3453 and probably a bunch of other potential 2009-02-01 18:06:53 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 Update hand-crafted VC++ build. 2009-02-02 19:22:02 +00:00
Xcode Remove Stacker.html from Xcode project. 2008-10-14 23:23:59 +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 Enable PACKAGE_VERSION in cmake builds, this unbreaks the clang build with cmake. 2009-01-28 17:49:03 +00:00
configure Regenerate configure. 2009-02-03 07:10:30 +00:00
CREDITS.TXT Adding your's truly to CREDITS.TXT 2009-01-19 15:04:29 +00:00
LICENSE.TXT Renamed Google Test license file from COPYING to LICENSE.TXT to match LLVM 2009-01-05 17:42:15 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile Add targets to support the installation of clang in isolation. 2009-01-19 19:48:23 +00:00
Makefile.common Removed trailing whitespace from Makefiles. 2009-01-09 16:44:42 +00:00
Makefile.config.in Add the ability to pass the path to binutils source to configure. This is 2009-02-03 07:10:08 +00:00
Makefile.rules Perform optional clang building. 2009-01-24 00:00:41 +00:00
ModuleInfo.txt Patch to build llvm with srcdir != objdir from 2009-01-23 08:42:38 +00:00
README.txt Remove extra lines 2008-07-28 20:50:25 +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.