- May 27, 2016
-
-
Hans Wennborg authored
llvm-svn: 270936
-
Mitch Bodart authored
CriticalAntiDepBreaker was not correctly tracking defs of the high X86 byte registers, leading to incorrect use of a busy register to break an antidependence. Fixes pr27681, and its duplicates pr27580, pr27804. Differential Revision: http://reviews.llvm.org/D20456 llvm-svn: 270935
-
Rui Ueyama authored
llvm-svn: 270934
-
Easwaran Raman authored
Differential revision: http://reviews.llvm.org/D20655 llvm-svn: 270933
-
Greg Clayton authored
We have seen cases where we have been unable to find an argument type for a function, or we find one from another language, and then we try to create a function type by calling: lldb_private::ClangASTContext::CreateFunctionType(clang::ASTContext*, lldb_private::CompilerType const&, lldb_private::CompilerType const*, unsigned int, bool, unsigned int) This fix will ensure that all arguments to lldb_private::ClangASTContext::CreateFunctionType() are in order by checking: - AST is valid - if arguments are specified we have a valid argument array - return type is valid - return type is a clang type - all argument types are valid - all argument types are clang types If any of these fail, we return an invalid CompilerType. If we don't return an invalid type, clang will crash anyway, and LLDB must not crash even in the presence of bad or missing debug info. <rdar://problem/25172715> llvm-svn: 270932
-
Justin Bogner authored
This just makes it a bit more clear that we don't intend to use a deleted node for anything here. llvm-svn: 270931
-
Xinliang David Li authored
llvm-svn: 270930
-
Kostya Serebryany authored
[libFuzzer] more refactoring around CurrentUnit. Also add a threading test on which we currently have a race (when reporting bugs from multiple threads) llvm-svn: 270929
-
Xinliang David Li authored
llvm-svn: 270928
-
- May 26, 2016
-
-
Asiri Rathnayake authored
NFC. llvm-svn: 270927
-
Dan Liew authored
This partially fixes the compilation of the LibFuzzer unit test on OSX using AppleClang. llvm-svn: 270926
-
Asiri Rathnayake authored
r270692 seems to have broken gcc builds of libunwind. This is because statements like: static_assert(check_fit<Registers_or1k, unw_context_t>::does_fit, "or1k registers do not fit into unw_context_t"); Do not work when static_assert is a macro taking two parameters, the extra comma separating the template parameters confuses the pre-processor. The fix is to change those statements to: static_assert((check_fit<Registers_or1k, unw_context_t>::does_fit), "or1k registers do not fit into unw_context_t"); Also fixed a gcc warning about a trivial un-intended narrowing. Differential revision: http://reviews.llvm.org/D20119 llvm-svn: 270925
-
Michael Zolotukhin authored
Condition might be simplified to a Constant, but it doesn't have to be ConstantInt, so we should dyn_cast, instead of cast. This fixes PR27886. llvm-svn: 270924
-
Adrian Prantl authored
This patch builds upon r270776 and speeds up LiveDebugValues::transferDebugValue() by adding an index that maps each DebugVariable to its open VarLoc. The transferDebugValue() function needs to close all open ranges for a given DebugVariable. Iterating over the set bits of OpenRanges is prohibitively slow in practice. I experimented with using the sorted map of VarLocs in the UniqueVector to iterate only over the range of VarLocs with a given DebugVariable, but the binary search turned out to be even more expensive than just iterating over the set bits in OpenRanges. Instead, this patch exploits the fact that there can only be one open location for each DebugVariable and redundantly stores this location in a DenseMap. This patch brings the time spent in the LiveDebugValues pass down to an almost neglectiable amount. http://llvm.org/bugs/show_bug.cgi?id=26055 http://reviews.llvm.org/D20636 rdar://problem/24091200 llvm-svn: 270923
-
Kostya Serebryany authored
llvm-svn: 270922
-
Chris Bieneman authored
Summary: * docs/WritingAnLLVMBackend.rst: Makefiles are no longer used. The users should use CMakeLists.txt. In order to add the target, the TARGETS_TO_BUILD is replaced with LLVM_ALL_TARGETS. Reviewers: gribozavr, void, beanz Subscribers: llvm-commits Patch By: Visoiu Mistrih Francis (thegameg) Differential Revision: http://reviews.llvm.org/D20700 llvm-svn: 270921
-
Chris Bieneman authored
This adds support for YAML round tripping dyld info lazy bindings. The storage and format of these is the same as regular bind opcodes, they are just interpreted differently by dyld, and can have DONE opcodes in the middle of the opcode lists. llvm-svn: 270920
-
Lang Hames authored
llvm-svn: 270919
-
Lang Hames authored
llvm-svn: 270918
-
Lang Hames authored
tutorial. llvm-svn: 270917
-
Lang Hames authored
This enforces idiomatic usage of ECError removing the option to construct them using make_error. llvm-svn: 270916
-
Sanjoy Das authored
llvm-svn: 270915
-
Lang Hames authored
llvm-svn: 270914
-
Dan Liew authored
Previously CMake would successfully configure and compile (with warnings about ``-fsanitize-coverage=...`` being unused) but the tests LibFuzzer tests would fail. Differential Revision: http://reviews.llvm.org/D20662 llvm-svn: 270913
-
Dan Liew authored
Previously the flags were only being set correctly when the build type was "Release". Now the build should work properly for all the supported build types. When building libFuzzer the optimization level respects whatever is used for the rest of LLVM but for the LibFuzzer tests we force -O0. Differential Revision: http://reviews.llvm.org/D20558 llvm-svn: 270912
-
Chris Bieneman authored
This adds support for YAML round tripping dyld info weak bindings. The storage and format of these is the same as regular bind opcodes, they are just interpreted differently by dyld. llvm-svn: 270911
-
Simon Atanasyan authored
MIPS .reginfo and .MIPS.options sections are consumed by the linker, and the linker produces a single output section. But it is possible that input files contain section symbol points to the corresponding input section. In case of generation a relocatable output we need to write such symbols to the output file. Fixes bug 27878. Differential Revision: http://reviews.llvm.org/D20688 llvm-svn: 270910
-
Lang Hames authored
llvm-svn: 270909
-
Lang Hames authored
Global variables and aliases are emitted eagerly, but there may not be any in the incoming module. In that case, we can save some memory and compile time by not building, emitting and tracking an empty globals module. llvm-svn: 270908
-
Rafael Espindola authored
llvm-svn: 270907
-
Rafael Espindola authored
We were creating a weak external that tried to reference a static symbol. That would always fail to link with link.exe. We now create an external symbol in the same position as the local and refer to that. This works with link.exe and matches what gas does. llvm-svn: 270906
-
Kostya Serebryany authored
llvm-svn: 270905
-
Richard Smith authored
pretty stack trace entries for all cases where we instantiate the definition of something, and include the fully-qualified name with template arguments in the name of the instantiated entity. llvm-svn: 270904
-
Richard Smith authored
crash was due to a stack overflow, chances are good that this would also cause a stack overflow. llvm-svn: 270903
-
Richard Smith authored
llvm-svn: 270902
-
Chris Bieneman authored
This adds support for YAML round tripping dyld info bind opcodes. Bind opcodes can have signed or unsigned LEB128 data, and they can have symbols associated with them. llvm-svn: 270901
-
Kostya Serebryany authored
[libFuzzer] reimplement the way we do -only_ascii to allow more 'const' in function declarations. Add a test for -only_ascii. NFC intended llvm-svn: 270900
-
Lang Hames authored
Symbol resolution should be done on the top layer of the stack unless there's a good reason to do otherwise. In this case it would have worked because OptimizeLayer::addModuleSet eagerly passes all modules down to the CompileLayer, meaning that searches in CompileLayer will find the definitions. In later chapters where the top layer's addModuleSet isn't a pass-through, this would break. llvm-svn: 270899
-
Krzysztof Parzyszek authored
The aggressive anti-dependency breaker can rename the restored callee- saved registers. To prevent this, mark these registers are live on all paths to the return/tail-call instructions, and add implicit use operands for them to these instructions. llvm-svn: 270898
-
Hans Wennborg authored
Re-commit r270748 "clang-cl: Treat dllimport explicit template instantiation definitions as declarations (PR27810, PR27811)" Also make explicit instantiation decls not apply to nested classes when targeting MSVC. That dll attributes are not inherited by inner classes might be the explanation for MSVC's behaviour here. llvm-svn: 270897
-