llvm-project/llvm
Justin Bogner 27fa77e102 SelectionDAG: Remove arbitrary and bug-prone complexity from SDLoc
The implementation of SDLoc has an extra layer of indirection here for
no particular reason, and was leading to problems where we were
dereferencing pointers to SDNodes that had already been deleted so
that we could get at the DebugLoc for a new SDNode. This is one of the
errors that came up often in PR26808.

Instead, we can just track the DebugLoc and IROrder directly. This
makes the code both easier to understand and more correct. It's also
basically NFC other than fixing a large number of places where we were
reading the memory of deleted SDNodes.

llvm-svn: 264470
2016-03-25 22:12:41 +00:00
..
bindings bindings/go: reinstate TargetMachine.TargetData 2016-03-15 05:04:06 +00:00
cmake cmake: include what you use 2016-03-08 18:56:00 +00:00
docs [Kaleidoscope] Rename Error -> LogError in Chapters 2-5. 2016-03-25 17:41:26 +00:00
examples [Kaleidoscope] Rename Error -> LogError in Chapters 2-5. 2016-03-25 17:41:26 +00:00
include SelectionDAG: Remove arbitrary and bug-prone complexity from SDLoc 2016-03-25 22:12:41 +00:00
lib [Object] Make MachOObjectFile's constructor private, provide a static create 2016-03-25 21:59:14 +00:00
projects Remove autoconf support 2016-01-26 21:29:08 +00:00
resources
test [X86] Emit a proper ADJCALLSTACKDOWN in EmitLoweredTLSAddr 2016-03-25 21:49:11 +00:00
tools [Object] Start threading Error through MachOObjectFile construction. 2016-03-25 17:25:34 +00:00
unittests [Support] Add Error::errorForOutParameter helper. 2016-03-25 21:56:35 +00:00
utils fix IR function name regex to allow hyphens 2016-03-25 17:00:12 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt llvm-shlib: Remove the option to override __cxa_atexit 2016-03-14 21:54:45 +00:00
CODE_OWNERS.TXT Add self to CODE_OWNERS 2016-03-08 19:01:15 +00:00
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt
configure Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm.spec.in

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 are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.