- Nov 02, 2016
-
-
Shoaib Meenai authored
At least with cmake 3.6.1, the default build type setting was having no effect; the generated CMakeCache.txt still had an empty CMAKE_BUILD_TYPE. Force the variable to be set to achieve the desired behavior. Differential Revision: https://reviews.llvm.org/D26200 llvm-svn: 285789
-
Eric Fiselier authored
llvm-svn: 285788
-
Dean Michael Berris authored
Summary: We define a new trampoline that's a hybrid between the exit and entry trampolines with the following properties: - Saves all of the callee-saved registers according to the x86_64 calling conventions. - Indicate to the log handler function being called that this is a function exit event. This fixes a bug that is a result of not saving enough of the register states, and that the log handler is clobbering registers that would be used by the function being tail-exited into manifesting as runtime errors. Reviewers: rSerge, echristo, majnemer Subscribers: mehdi_amini, llvm-commits Differential Revision: https://reviews.llvm.org/D26020 llvm-svn: 285787
-
Eric Fiselier authored
Previously __libcpp_is_constructible checked the validity of reference construction using 'eat<To>(declval<From>())' but this doesn't consider From's explicit conversion operators. This patch teaches __libcpp_is_constructible how to handle these cases. To do this we need to check the validity using 'static_cast<To>(declval<From>())'. Unfortunately static_cast allows additional base-to-derived and lvalue-to-rvalue conversions, which have to be checked for and manually rejected. While implementing these changes I discovered that Clang incorrectly rejects `static_cast<int&&>(declval<float&>())` even though `int &&X(declval<float&>())` is well formed. In order to tolerate this bug the `__eat<T>(...)` needs to be left in-place. Otherwise it could be replaced entirely with the new static_cast implementation. Thanks to Walter Brown for providing the test cases. llvm-svn: 285786
-
Peter Collingbourne authored
We need to zero extend the byte in order to correctly shift it into a 64-bit value. llvm-svn: 285785
-
Rui Ueyama authored
Previously, we added strings from DynamicSection::finalize(). It was a bit tricky because finalize() is supposed to fix the final size of the section, but adding new strings would change the size of .dynstr section. So there was a dependency between finalize functions of .dynamic and .dynstr. However, I noticed that we can elimiante the dependency by simply add strings early; we don't have to do that in finalize() but can do from DynamicSection's ctor. This patch defines a new function, DynamicSection::addEntries, to add .dynamic entries that doesn't depend on other sections. llvm-svn: 285784
-
Brad Smith authored
It was noticed this caused performance regressions and deadlocks. PR30768. Reorder the code to make it clearer what is tested. PPC now disables the use of std::call_once only with libstdc++ with the reordering of the code, as was the original intent. llvm-svn: 285782
-
Jim Ingham authored
We really shouldn't be sending events for SB API's, dunno when we started doing that. We don't do it for other things. But first restore the status quo. llvm-svn: 285781
-
Michael Gottesman authored
This is the reverse_iterator analogue of getIterator(). llvm-svn: 285780
-
Richard Smith authored
redeclaration in C++1z mode. We need the exception specification in order for the function's type to be complete. llvm-svn: 285779
-
Eugene Zelenko authored
Release notes checks order and consistent Clang-tidy readability-redundant-declaration description. llvm-svn: 285778
-
Peter Collingbourne authored
Should unbreak ocaml binding tests. Also added an llvm-dis test that checks for the same thing. llvm-svn: 285777
-
Rui Ueyama authored
llvm-svn: 285776
-
Rui Ueyama authored
llvm-svn: 285775
-
Peter Collingbourne authored
These interfaces are no longer used. Differential Revision: https://reviews.llvm.org/D26222 llvm-svn: 285774
-
Peter Collingbourne authored
As proposed on llvm-dev: http://lists.llvm.org/pipermail/llvm-dev/2016-October/106595.html This change also fixes an API oddity where BitstreamCursor::Read() would return zero for the first read past the end of the bitstream, but would report_fatal_error for subsequent reads. Now we always report_fatal_error for all reads past the end. Updated clients to check for the end of the bitstream before reading from it. I also needed to add padding to the invalid bitcode tests in test/Bitcode/. This is because the streaming interface was not checking that the file size is a multiple of 4. Differential Revision: https://reviews.llvm.org/D26219 llvm-svn: 285773
-
Vedant Kumar authored
llvm-svn: 285772
-
Alex Bradbury authored
This is enough to compile and link but doesn't yet do anything particularly useful. Once an ASM parser and printer are added in the next two patches, the whole thing can be usefully tested. Differential Revision: https://reviews.llvm.org/D23562 llvm-svn: 285770
-
Alex Bradbury authored
For now, only add instruction definitions for basic ALU operations. Our initial target is a working MC layer rather than codegen, so appropriate SelectionDAG patterns will come later. Differential Revision: https://reviews.llvm.org/D23561 llvm-svn: 285769
-
Matt Arsenault authored
llvm-svn: 285768
-
Rui Ueyama authored
llvm-svn: 285767
-
Rui Ueyama authored
This is now doable because this code doesn't have to be in the dynamic scope of Writer::run(). llvm-svn: 285766
-
Matt Arsenault authored
This is already done with VGPR immediates and saves 4 bytes. llvm-svn: 285765
-
Rui Ueyama authored
llvm-svn: 285764
-
Rui Ueyama authored
llvm-svn: 285763
-
- Nov 01, 2016
-
-
Matt Arsenault authored
This is the conservatively correct way because it's easy to move or replace a scalar immediate. This was incorrect in the case when the register class wasn't known from the static instruction definition, but still needed to be an SGPR. The main example of this is inlineasm has an SGPR constraint. Also start verifying the register classes of inlineasm operands. llvm-svn: 285762
-
Jim Ingham authored
llvm-svn: 285761
-
Rui Ueyama authored
You can now write make<T>(Args) instead of new (alloc<T>()) T(Args). llvm-svn: 285760
-
Devin Coughlin authored
Change "use of 'self'..." to "Use of 'self'...". The convention is to start diagnostics with a capital letter. rdar://problem/28322494 llvm-svn: 285759
-
Eric Christopher authored
Move the initialization of PreferredLoopExit into runOnMachineFunction to be near the other function specific initializations. llvm-svn: 285758
-
Sam McCall authored
Summary: Currently PreferredLoopExit is set only in buildLoopChains, which is never called if there are no MachineLoops. MSan is currently broken by this: http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/145/steps/check-llvm%20msan/logs/stdio This is a naive fix to get things green again. iteratee: you may have a better fix. This change will also mean PreferredLoopExit will not carry over if buildCFGChains() is called a second time in runOnMachineFunction, this appears to be the right thing. Reviewers: bkramer, iteratee, echristo Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D26069 llvm-svn: 285757
-
Matt Arsenault authored
These are only used in the spill to VMEM path. Move them to the one use. llvm-svn: 285756
-
Rafael Espindola authored
llvm-svn: 285755
-
Rafael Espindola authored
We no longer use the section names in this test. llvm-svn: 285754
-
Rafael Espindola authored
This saves a field that is not always used. It also avoids failing a program that doesn't need the section names. llvm-svn: 285753
-
Malcolm Parsons authored
Summary: Unnamed bitfields cannot be initialized. Bitfields cannot be in-class initialized. Reviewers: alexfh, hokein, aaron.ballman Subscribers: Prazek, nemanjai, cfe-commits Differential Revision: https://reviews.llvm.org/D26119 llvm-svn: 285752
-
Rui Ueyama authored
<N> where "foo (<N>)" is the offset of string "foo" in the string table. llvm-svn: 285751
-
George Burgess IV authored
Patch by bryant. Differential Revision: https://reviews.llvm.org/D26126 llvm-svn: 285750
-
Zachary Turner authored
llvm-svn: 285749
-
Rafael Espindola authored
This patch replaces GAlloc<ELFT>::<sometype>.Allocate() with alloc<sometype<ELFT>>(). Patch by Rui! llvm-svn: 285748
-