- 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
-
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
-
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
-
- May 26, 2016
-
-
Dan Liew authored
This partially fixes the compilation of the LibFuzzer unit test on OSX using AppleClang. llvm-svn: 270926
-
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
-
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
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
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
-
Chad Rosier authored
Canonicalize (srl (bswap i32 x), 16) to (rotr (bswap i32 x), 16), if the high 16-bits of x are zero. Similarly, canonicalize (srl (bswap i64 x), 32) to (rotr (bswap i64 x), 32), if the high 32-bits of x are zero. test_rev_w_srl16: test_rev_w_srl16: and w8, w0, #0xffff and w8, w0, #0xffff rev w8, w8 ---> rev16 w0, w8 lsr w0, w8, #16 test_rev_x_srl32: test_rev_x_srl32: rev x8, x8 ---> rev32 x0, x8 lsr x0, x8, #32 llvm-svn: 270896
-
Changpeng Fang authored
Summary: Enable load-store-opt by default, and update LIT tests. Reviewers: arsenm Differential Revision: http://reviews.llvm.org/D20694 llvm-svn: 270894
-
Michael Kuperstein authored
r270777 improved the precision of alloca vs. inbounbds GEP alias queries: if we have (a) an inbounds GEP and (b) a pointer based on an alloca, and the beginning of the object the GEP points to would have a negative offset with respect to the alloca, then the GEP can not alias pointer (b). This makes the same logic fire when (b) is based on a GlobalVariable instead of an alloca. Differential Revision: http://reviews.llvm.org/D20652 llvm-svn: 270893
-
David Majnemer authored
An exception could prevent a store from occurring but MemCpyOpt's callslot optimization would fire anyway, causing the store to occur. This fixes PR27849. llvm-svn: 270892
-
Rafael Espindola authored
llvm-svn: 270889
-
Michael Kuperstein authored
This fixes PR27879. Differential Revision: http://reviews.llvm.org/D20659 llvm-svn: 270888
-
Krzysztof Parzyszek authored
Require that Hexagon is a registered target. llvm-svn: 270887
-
Krzysztof Parzyszek authored
llvm-svn: 270885
-
Rafael Espindola authored
It looks like this doesn't get a lot of use. llvm-svn: 270883
-