LLVM backend for 6502
Go to file
Chandler Carruth 89576cea3f [GMR] Fix a long-standing bug in GlobalsModRef where it failed to clear
out the per-function modref data structures when functions were deleted
or when globals were deleted.

I don't actually know how the global deletion side of this bug hasn't
been hit before, but for the other it just-so-happens that functions
aren't likely to be deleted in the particular part of the LTO pipeline
where we currently enable GMR, so we got lucky.

With this patch, I can self-host with GMR enabled in the normal pass
pipeline!

I was a bit concerned about the compile-time impact of this chang, which
is part of what motivated my prior string of patches to make the
per-function datastructure very dense and fast to walk. With those
changes in place, I can't measure a significant compile time difference
(the difference is around 0.1% which is *way* below the noise) before
and after this patch when building a linked bitcode for all of Clang.

Differential Revision: http://reviews.llvm.org/D11453

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243385 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-28 06:01:57 +00:00
autoconf Update the trunk version to 3.8.0svn. 2015-07-14 22:35:57 +00:00
bindings Fix llvm-config to emit the linker flag for the combined shared object built by autoconfig/make instead of the individual components. 2015-07-27 18:26:30 +00:00
cmake build: fix small typo in cmake doxygen build 2015-07-24 01:14:25 +00:00
docs DI/Verifier: Fix argument bitrot in DILocalVariable 2015-07-24 23:59:25 +00:00
examples DI/Verifier: Fix argument bitrot in DILocalVariable 2015-07-24 23:59:25 +00:00
include [LDist][LVer] Explicitly pass the set of memchecks to LoopVersioning, NFC 2015-07-28 05:01:53 +00:00
lib [GMR] Fix a long-standing bug in GlobalsModRef where it failed to clear 2015-07-28 06:01:57 +00:00
projects build: make libunwind a proper project 2015-04-25 01:47:39 +00:00
resources In MSVC builds embed a VERSIONINFO resource in our exe and DLL files. 2015-06-12 15:58:29 +00:00
test FileCheck'ify some wc/grep based tests; NFCI. 2015-07-28 03:50:09 +00:00
tools Fix llvm-config to emit the linker flag for the combined shared object built by autoconfig/make instead of the individual components. 2015-07-27 18:26:30 +00:00
unittests IR: Expose the method 'getLocalSlot' in the module slot tracker. 2015-07-27 22:31:04 +00:00
utils test-release.sh: Defer test errors until the end 2015-07-24 16:16:09 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore Minor updates to gitignore so that symlinks are ignored in the projects dir. 2015-07-07 20:24:58 +00:00
CMakeLists.txt Update the trunk version to 3.8.0svn. 2015-07-14 22:35:57 +00:00
CODE_OWNERS.TXT [WebAssembly] Initial WebAssembly backend 2015-06-29 23:51:55 +00:00
configure Update the trunk version to 3.8.0svn. 2015-07-14 22:35:57 +00:00
CREDITS.TXT [WebAssembly] Initial WebAssembly backend 2015-06-29 23:51:55 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Disallow in-source builds (as we already do for the cmake build). 2015-07-01 18:09:21 +00:00
Makefile.rules
README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for LLVM,
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.