LLVM backend for 6502
Go to file
Chandler Carruth ba94204e94 Teach the inline cost analysis about calls that can be simplified and
how to propagate constants through insert and extract value
instructions.

With the recent improvements to instsimplify, this allows inline cost
analysis to constant fold through intrinsic functions, including notably
the with.overflow intrinsic math routines which often show up inside of
STL abstractions. This is yet another piece in the puzzle of breaking
down the code for:

  void f() {
    std::vector<int> v;
    v.push_back(1);
  }

But it still isn't enough. There are a pile of bugs in inline cost still
blocking this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171195 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-28 14:23:32 +00:00
autoconf Fix quoting in configure. Patch by Krzysztof Parzyszek! 2012-12-26 10:48:49 +00:00
bindings [python] Add markup option to disassembler 2012-12-01 21:57:30 +00:00
cmake [CMake] AddLLVM.cmake: Tweak the corner case that "check-all" doesn't have any tests. 2012-12-24 22:43:59 +00:00
docs docs: Add FAQ about "storing to a virtual register". 2012-12-27 10:23:04 +00:00
examples Sort the #include lines of the examples/... tree. 2012-12-04 10:16:57 +00:00
include Teach instsimplify to use the constant folder where appropriate for 2012-12-28 14:23:29 +00:00
lib Teach the inline cost analysis about calls that can be simplified and 2012-12-28 14:23:32 +00:00
projects Clean up the sample include orderings, not that it really matters... 2012-12-04 10:46:21 +00:00
runtime libprofile/CommonProfiling.c: Fix according to C89. 2012-11-02 01:32:02 +00:00
test Teach the inline cost analysis about calls that can be simplified and 2012-12-28 14:23:32 +00:00
tools Add a function to get the segment name of a section. 2012-12-21 03:47:03 +00:00
unittests Test that a landingpad gets the name provided when it was created (see commit 2012-12-21 12:03:03 +00:00
utils Fix comment typo 2012-12-26 18:15:42 +00:00
.arcconfig Add .arcconfig to the repository. Useful if someone wants to use phabricator's command line tool. 2012-12-01 12:07:58 +00:00
.gitignore Add extra vim swap file pattern 2012-10-09 23:48:34 +00:00
CMakeLists.txt Fix spelling 2012-12-13 15:25:07 +00:00
CODE_OWNERS.TXT R600: Add entry in CODE_OWNERS.TXT 2012-12-19 22:10:35 +00:00
configure Fix quoting in configure. Patch by Krzysztof Parzyszek! 2012-12-26 10:48:49 +00:00
CREDITS.TXT Update my email address. 2012-11-29 21:17:26 +00:00
LICENSE.TXT Few more small CellSPU removals. 2012-11-14 22:13:56 +00:00
llvm.spec.in
LLVMBuild.txt
Makefile [c-index-test] When building with BUILD_CLANG_ONLY=YES, include c-index-test. 2012-11-06 19:54:46 +00:00
Makefile.common Makefile.common: Update a description, s/Source/SOURCES/ , according to MakefileGuide.html#control-variables . 2012-12-07 01:43:23 +00:00
Makefile.config.in Add options to disable building of ARCMT, Rewriter and Static Analyzer 2012-12-13 16:07:19 +00:00
Makefile.rules Remove edis - the enhanced disassembler. Fixes PR14654. 2012-12-19 19:55:47 +00:00
README.txt Test commit. 2012-11-29 16:19:11 +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.

If you're writing a package for LLVM, see docs/Packaging.html for our
suggestions.