- Oct 04, 2017
-
-
Rui Ueyama authored
We no longer call reserveSpace more than once, so it can be merged with its constructor. llvm-svn: 314867
-
Shoaib Meenai authored
When reporting a symbol conflict, LLD parses the debug info to report source location information. Sections have not been decompressed at this point, so if an object file contains zlib compressed debug info, LLD ends up passing this compressed debug info to the DWARF parser, which causes debug info parsing failures and can trigger assertions in the parser (as the test case demonstrates). Decompress debug sections when constructing the LLDDwarfObj to avoid this issue. This doesn't handle GNU-style compressed debug info sections (.zdebug_*), which at present are simply ignored by LLDDwarfObj; those can be done in a follow-up. Differential Revision: https://reviews.llvm.org/D38491 llvm-svn: 314866
-
Erik Pilkington authored
Fixes PR19741. Differential revision: https://reviews.llvm.org/D38483 llvm-svn: 314865
-
Eric Fiselier authored
This patch adds the newly standardized deduction guides for std::pair, allowing it to work class template deduction. llvm-svn: 314864
-
Adrian Prantl authored
llvm-svn: 314863
-
Rafael Espindola authored
llvm-svn: 314862
-
George Karpenkov authored
Fixes the test failure: temporary is now bound to std::string, tests fully pass on Linux. This reverts commit b36ee0924038e1d95ea74230c62d46e05f80587e. llvm-svn: 314859
-
Rui Ueyama authored
This function implements the three-way radix quicksort algorithm. This patch simplifies the implementation by using MutableArrayRef. llvm-svn: 314858
-
Balaram Makam authored
Summary: After r308422 we defer optimizations that can destroy loop canonical forms to LateSimplifyCFG. Running LateSimplifyCFG after expanding atomic operations can exploit more control-flow opportunities. Reviewers: mcrosier, t.p.northover, efriedma Reviewed By: efriedma Subscribers: aemerson, rengolin, javed.absar, llvm-commits, kristof.beyls Differential Revision: https://reviews.llvm.org/D38262 llvm-svn: 314857
-
Leonard Mosescu authored
llvm-svn: 314856
-
Adrian Prantl authored
llvm-svn: 314855
-
- Oct 03, 2017
-
-
Chris Bieneman authored
* Turn off embedded compiler-rt builds in stage1 * Support generating Xcode toolchains from Stage2 build configurations llvm-svn: 314854
-
Konstantin Zhuravlyov authored
llvm-svn: 314853
-
Konstantin Zhuravlyov authored
llvm-svn: 314852
-
Eli Friedman authored
r303188 removed all the uses of aliases for EABI functions from compiler-rt, because some of them had mismatched calling conventions. Obviously, we can't use aliases for functions which don't have the same calling convention, but that's only an issue for floating-point functions with the hardfloat ABI. In other cases, the stubs increase size and reduce performance for no benefit. This patch adds back the aliases, with appropriate checks to make sure they're only used in cases where the calling convention matches. llvm-svn: 314851
-
Jakub Kuderski authored
They started passing again by the DT::eraseNode fix in r314847. llvm-svn: 314850
-
Tim Hammerquist authored
Summary: At present, several gtests in the lldb open source codebase are using #include statements rooted at $(SOURCE_ROOT)/${LLDB_PROJECT_ROOT}. This patch cleans up this directory/include structure for both CMake and Xcode build systems. rdar://problem/33835795 Reviewers: zturner, jingham, beanz Reviewed By: beanz Subscribers: emaste, lldb-commits, mgorny Differential Revision: https://reviews.llvm.org/D36598 llvm-svn: 314849
-
-
Jakub Kuderski authored
This patch makes DT::eraseNode mark DFSInfo as invalid. Not marking it as invalid leads to DFS numbers getting corrupted and failing VerifyDFSNumbers check. This patch also makes children iterator const (NFC). llvm-svn: 314847
-
Konstantin Zhuravlyov authored
Differential Revision: https://reviews.llvm.org/D38387 llvm-svn: 314846
-
Reid Kleckner authored
This was dead when it landed in r252578. We have this functionality, if not for stack probe calls, but for regular calls in X86CallFrameOptimization.cpp. llvm-svn: 314845
-
Rafael Espindola authored
An archive looks like <header> <symbol table> <tail> The symbol table refers to offsets in the tail. A complication is that we would like to support symbol tables that use 64 bit offsets if it turns out that any of the offsets is too big. This patch changes the archive writer to first compute the tail. We cannot just compute one big StringRef since that would require reading every member upfront, but we can represent it as a series of StringRefs. Having done that it is much easier to compute the symbol table and all offsets are computed before it is written. With this if there is an accounting problem it will show up with a regular symbol table, not just when a 64 bit one is needed. llvm-svn: 314844
-
Konstantin Zhuravlyov authored
llvm-svn: 314843
-
Rui Ueyama authored
We have this comment in LinkerDriver::link After this, no new names except a few linker-synthesized ones will be added to the symbol table. but that was not true because new symbols could be added by processing the -u option. llvm-svn: 314842
-
Rui Ueyama authored
llvm-svn: 314841
-
Reid Kleckner authored
llvm-svn: 314840
-
Reid Kleckner authored
Both dbg.declare and dbg.value insertion had duplicate code for the two overloads with different insertion point conventions. llvm-svn: 314839
-
Richard Smith authored
Suppress -Wmissing-braces warning when aggregate-initializing a struct with a single field that is itself an aggregate. In C++, such initialization of std::array<T, N> types is guaranteed to work by the standard, is completely idiomatic, and the "suggested" alternative from Clang was technically invalid. llvm-svn: 314838
-
Sanjay Patel authored
Surprisingly, we have zero coverage for these patterns. Many of these are handled in InstSimplify, but it's not obvious what the rule for folding each case should be, so I've just stamped out everything. It should be possible to fold every case, but currently, we miss these: int ashr_slt(int x) { return (x >> 1) < 1; } int ashr_sgt(int x) { return (x >> 1) > 0; } https://godbolt.org/g/aB2hLE llvm-svn: 314837
-
Jessica Paquette authored
This commit does two things. Firstly, it cleans up some of the benefit calculation wrt outlined functions and candidates. Secondly, it fixes an off-by-one bug in the cost model which was caused by the benefit value of an OutlinedFunction and Candidate differing by 1. It updates the remarks test to reflect this change. llvm-svn: 314836
-
Stefan Pintilie authored
Partially revert a previous change from commit: https://llvm.org/svn/llvm-project/llvm/trunk@314026 The previous change caused regressions on Power 9. llvm-svn: 314835
-
Saleem Abdulrasool authored
Rather than hardcode the flag and check if the compiler supports it, use the CMake property to get the right flag spelling for the compiler. This makes it generally more portable. llvm-svn: 314834
-
Alexey Bataev authored
declaration. Patch allows using of the `#pragma omp declare target`| `#pragma omp end declare target` directives inside the structures if we need to mark as declare target only some static members. llvm-svn: 314833
-
Alexander Shaposhnikov authored
SymbolFileDWARFDwp contains m_debug_cu_index_map which was previously initialized incorrectly: before m_debug_cu_index.parse is called m_debug_cu_index is empty, thus the map was not actually getting populated properly. This diff moves this step into a private helper method and calls it after m_debug_cu_index.parse inside SymbolFileDWARFDwp::Create. Test plan: Build a toy test example main.cpp clang -gsplit-dwarf -g -O0 main.cpp -o main.exe llvm-dwp -e main.exe -o main.exe.dwp Build LLDB with ENABLE_DEBUG_PRINTF set. Run: lldb -- ./main.exe Check that the indexes are now correct (before this change they were empty) Check that debugging works (setting breakpoints, printing local variables (this was not working before)) Differential revision: http://reviews.llvm.org/D38492 llvm-svn: 314832
-
Tim Shen authored
The test retain-release.m fails with this patch. Differential Revision: https://reviews.llvm.org/D38487 llvm-svn: 314831
-
Craig Topper authored
[InstCombine] Use isSignBitCheck to simplify an if statement. Directly create new sign bit compares instead of manipulating the constant. NFCI Since we no longer had the direct constant compares, manipulating the constant seemeded less clear. llvm-svn: 314830
-
Tim Renouf authored
Summary: For the amdpal OS type: We write an AMDGPU_PAL_METADATA record in the .note section in the ELF (or as an assembler directive). It contains key=value pairs of 32 bit ints. It is a merge of metadata from codegen of the shaders, and metadata provided by the frontend as _amdgpu_pal_metadata IR metadata. Where both sources have a key=value with the same key, the two values are ORed together. This .note record is part of the amdpal ABI and will be documented in docs/AMDGPUUsage.rst in a future commit. Eventually the amdpal OS type will stop generating the .AMDGPU.config section once the frontend has safely moved over to using the .note records above instead of .AMDGPU.config. Reviewers: arsenm, nhaehnle, dstuttard Subscribers: kzhuravl, wdng, yaxunl, llvm-commits, t-tye Differential Revision: https://reviews.llvm.org/D37753 llvm-svn: 314829
-
Alexander Timofeev authored
instructions. Differential revision: https://reviews.llvm.org/D38293 llvm-svn: 314828
-
Hans Wennborg authored
llvm-svn: 314827
-
Hans Wennborg authored
llvm-svn: 314826
-