summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [ObjectYAML] Support for DWARF line tablesChris Bieneman2017-01-1010-13/+1005
| | | | | | | | | | This patch re-lands r291470, which failed on Linux bots. The issue (I believe) was undefined behavior because the size of llvm::dwarf::LineNumberOps was not explcitly specified or consistently respected. The updated patch adds an explcit underlying type to the enum and preserves the size more correctly. Original description: This patch adds support for the DWARF debug_lines section. The line table state machine opcodes are preserved, so this can be used to test the state machine evaluation directly. llvm-svn: 291541
* [OpenMP] Support the 'is_device_ptr' clause with 'target parallel for' pragmaKelvin Li2017-01-104-3/+631
| | | | | | | | This patch is to add support of the 'is_device_ptr' clause with the 'target parallel for' pragma. Differential Revision: https://reviews.llvm.org/D28255 llvm-svn: 291540
* Make cmake link flag naming consistentFrancis Ricci2017-01-1016-90/+90
| | | | | | | | | | | | | | | | | | | Summary: The build system was inconsistent in its naming conventions for link flags. This patch changes all uses of LINKFLAGS to LINK_FLAGS, for consistency with cmake's LINK_FLAGS property. This patch should make it easier to search the source code for uses of link flags, as well as providing the benefit of improved style and consistency. Reviewers: compnerd, beanz Subscribers: kubabrecka, llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D28506 llvm-svn: 291539
* [XRay] Use regular expression for finding symbolsDean Michael Berris2017-01-101-4/+4
| | | | | | | | Un-break the test in Windows. Follow-up on D24376. llvm-svn: 291538
* [OpenMP] Support the 'is_device_ptr' clause with 'target parallel for simd' ↵Kelvin Li2017-01-104-3/+660
| | | | | | | | | | pragma This patch is to add support of the 'is_device_ptr' clause with the 'target parallel for simd' pragma. Differential Revision: https://reviews.llvm.org/D28402 llvm-svn: 291537
* threading_support: delete the critical sectionSaleem Abdulrasool2017-01-101-1/+1
| | | | | | | Although the CriticalSection itself doesnt need to be destroyed, there may be debug data associated with it. Plug a possible small leak. llvm-svn: 291536
* [X86] When lowering uniform shifts, use X86ISD::VZEXT instead of using a ↵Craig Topper2017-01-101-4/+4
| | | | | | | | ZERO_EXTEND_VECTOR_INREG. If we emit the ZERO_EXTEND_VECTOR_INREG too late it doesn't get lowered properly and makes it through to isel and fails. Fixes PR31593. llvm-svn: 291535
* [DAGCombiner] Remove code for optimizing select (xor Cond, 0), X, Y -> ↵Craig Topper2017-01-101-4/+0
| | | | | | select Cond, X, Y. Just let combine on the xor itself take care of it. llvm-svn: 291534
* [XRay] Fixup includes for modules buildDean Michael Berris2017-01-101-2/+0
| | | | | | | | Remove unnecessary system header include. Follow-up to D24376. llvm-svn: 291533
* Fix a typo and also test a new machine for commit. NFC.Xin Tong2017-01-101-1/+1
| | | | llvm-svn: 291532
* [XRay] Don't include <unistd.h> unnecessarilyDean Michael Berris2017-01-101-1/+0
| | | | | | Follow-up to D24376. llvm-svn: 291531
* [StructurizeCfg] Update dominator info.Serge Pavlov2017-01-104-4/+46
| | | | | | | | | | | | | | In some cases StructurizeCfg updates root node, but dominator info remains unchanges, it causes crash when expensive checks are enabled. To cope with this problem a new method was added to DominatorTreeBase that allows adding new root nodes, it is called in StructurizeCfg to put dominator tree in sync. This change fixes PR27488. Differential Revision: https://reviews.llvm.org/D28114 llvm-svn: 291530
* [XRay] Implement `llvm-xray convert` -- trace file conversionDean Michael Berris2017-01-1020-7/+947
| | | | | | | | | | | | | | | | | | | | This is the second part of a multi-part change to define additional subcommands to the `llvm-xray` tool. This change defines a conversion subcommand to take XRay log files, and turns them from one format to another (binary or YAML). This currently only supports the first version of the log file format, defined in the compiler-rt runtime. Depends on D21987. Reviewers: dblaikie, echristo Subscribers: mehdi_amini, dberris, beanz, llvm-commits Differential Revision: https://reviews.llvm.org/D24376 llvm-svn: 291529
* Don't classify variable template names as type templates.Richard Smith2017-01-102-1/+7
| | | | llvm-svn: 291528
* Revert r291526: Re-enable /linkrepro test on Windows.Rui Ueyama2017-01-101-1/+1
| | | | | | | | | | | | | | | This broke the following two bots: lld-x86_64-win7: the test failed because a diff command is not available on that bot. That's a configuration error of the bot and will be fixed soon. llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast: "tar xf" failed on that bot. I suspect that it is due to the maximum path limitation on Windows. A build directory contains a buildbot name, so it's longer than usual on that machine. On Windows, many filesystem operations fail if a path is longer than 255 characters. I'll try to address that in another patch. llvm-svn: 291527
* Re-enable /linkrepro test on Windows.Rui Ueyama2017-01-101-1/+1
| | | | | | | I think generated tar files are more compatible with old tar commands because of r291494 and r291340, so I want to enable this test on buildbots. llvm-svn: 291526
* [NFC] Rename RAII ExpressionEvaluationContext variable from Unevaluated to ↵Faisal Vali2017-01-101-1/+1
| | | | | | | | ConstantEvaluated when parsing a constant expression. This renaming makes it consistent with the context it actually sets: Sema::ConstantEvaluated. llvm-svn: 291525
* ELF: Reserve space for copy relocations of read-only symbols in relro.Peter Collingbourne2017-01-109-14/+110
| | | | | | | | | | | | | | When reserving copy relocation space for a shared symbol, scan the DSO's program headers to see if the symbol is in a read-only segment. If so, reserve space for that symbol in a new synthetic section named .bss.rel.ro which will be covered by the relro program header. This fixes the security issue disclosed on the binutils mailing list at: https://sourceware.org/ml/libc-alpha/2016-12/msg00914.html Differential Revision: https://reviews.llvm.org/D28272 llvm-svn: 291524
* ELF: Place relro sections after non-relro sections in r/w segment.Peter Collingbourne2017-01-1085-618/+630
| | | | | | | | | | | | This is in preparation for my next change, which will introduce a relro nobits section. That requires that relro sections appear at the end of the progbits part of the r/w segment so that the relro nobits section can appear contiguously. Because of the amount of churn required in the test suite, I'm making this change separately. llvm-svn: 291523
* Stop limiting the number of TSan backtrace size to 8Kuba Mracek2017-01-101-1/+2
| | | | | | | | We currently limit the length of TSan returned backtraces to 8, which is not necessary (and a bug, most likely). Let's remove this. Differential Revision: https://reviews.llvm.org/D28035 llvm-svn: 291522
* Delete stray isl_map_dump call.Eli Friedman2017-01-101-2/+0
| | | | llvm-svn: 291521
* [CodeGen] Implement the SUnit::print() methodEvandro Menezes2017-01-101-9/+9
| | | | | | | | | | This method seems to have had a troubled life. This patch proposes that it replaces the recently added helper function dumpSUIdentifier. This way, the method can be used in other files using the SUnit class. Differential revision: https://reviews.llvm.org/D28488 llvm-svn: 291520
* Try once again to fix the MSVC build of AlignedCharArrayUnionReid Kleckner2017-01-101-2/+4
| | | | | | | | | | | | It was complaining about ambiguity between llvm::detail and llvm::support::detail: error C2872: 'detail': ambiguous symbol note: could be 'llvm::detail' note: or 'llvm::support::detail' Standardize on llvm::support::detail to hide these symbols further. llvm-svn: 291519
* [ThinLTO] Hash more part of the config to build cache entriesMehdi Amini2017-01-101-2/+34
| | | | | | | This has been fixed in the "new" LTO API used by Gold/LLD, this is fixing the same issue in the libLTO API used by ld64 (amongst other) llvm-svn: 291518
* [Chrono][Darwin] Include header for gettimeofdayBruno Cardoso Lopes2017-01-101-1/+1
| | | | | | | Followup on r291466 and include the proper header. This fixes: https://build.chromium.org/p/chromium.fyi/builders/ClangToTMac/builds/12620/steps/gclient%20runhooks/logs/stdio llvm-svn: 291517
* Add an assert for hasLoopInvariantOperandsXin Tong2017-01-101-0/+3
| | | | | | | | | | | | Summary: Add an assert for hasLoopInvariantOperands Reviewers: danielcdh, sanjoy Subscribers: mzolotukhin, llvm-commits Differential Revision: https://reviews.llvm.org/D28501 llvm-svn: 291516
* Revert the attempt to optimize the constexpr functions. MSVC does not handle ↵Reid Kleckner2017-01-101-4/+3
| | | | | | this yet llvm-svn: 291515
* Fix MSVC build of AlignedCharArrayUnionReid Kleckner2017-01-101-10/+8
| | | | | | | | Use constexpr recursion for alignof like we do for sizeof. Seems to work with Clang and MSVC. Also, don't recurse twice to avoid slowdowns in compilers that don't memoize constexpr results (Clang). llvm-svn: 291514
* [coroutines] Sema: Allow co_return all by itself.Gor Nishanov2017-01-103-17/+1
| | | | | | | | | | Reviewers: rsmith, EricWF Subscribers: mehdi_amini, llvm-commits, EricWF Differential Revision: https://reviews.llvm.org/D26038 llvm-svn: 291513
* Check that template template arguments match template template parametersRichard Smith2017-01-095-36/+53
| | | | | | | | | | | | | | | properly even when a non-type template parameter has a dependent type. Previously, if a non-type template parameter was dependent, but not dependent on an outer level of template parameter, we would not match the type of the parameter. Under [temp.arg.template], we are supposed to check that the types are equivalent, which means checking for syntactic equivalence in the dependent case. This also fixes some accepts-invalids when passing templates with auto-typed non-type template parameters as template template arguments. llvm-svn: 291512
* ASAN activate/deactive controls thread_local_quarantine_size_kb option.Alex Shlyapnikov2017-01-092-3/+11
| | | | | | | | | | | | Summary: Also, bypass quarantine altogether when quarantine size is set ot zero. Reviewers: eugenis Subscribers: kubabrecka, llvm-commits, mehdi_amini Differential Revision: https://reviews.llvm.org/D28480 llvm-svn: 291511
* Bypass quarantine when quarantine size is set ot zero.Alex Shlyapnikov2017-01-091-2/+14
| | | | llvm-svn: 291510
* ASAN activate/deactive controls thread_local_quarantine_size_kb option.Alex Shlyapnikov2017-01-093-14/+19
| | | | llvm-svn: 291509
* [cmake] Obtain LLVM_CMAKE_PATH from llvm-config if availableMichal Gorny2017-01-091-1/+12
| | | | | | | | Use the new --cmakedir option to obtain LLVM_CMAKE_PATH straight from llvm-config. Fallback to local reconstruction if llvm-config does not support this option. llvm-svn: 291508
* [cmake] Obtain LLVM_CMAKE_PATH from llvm-config if availableMichal Gorny2017-01-091-1/+12
| | | | | | | | Use the new --cmakedir option to obtain LLVM_CMAKE_PATH straight from llvm-config. Fallback to local reconstruction if llvm-config does not support this option. llvm-svn: 291506
* [cmake] Obtain LLVM_CMAKE_PATH from llvm-config if availableMichal Gorny2017-01-091-1/+12
| | | | | | | | Use the new --cmakedir option to obtain LLVM_CMAKE_PATH straight from llvm-config. Fallback to local reconstruction if llvm-config does not support this option. llvm-svn: 291505
* [cmake] Obtain LLVM_CMAKE_PATH from llvm-config if availableMichal Gorny2017-01-091-2/+12
| | | | | | | | Use the new --cmakedir option to obtain LLVM_CMAKE_PATH straight from llvm-config. Fallback to local reconstruction if llvm-config does not support this option. llvm-svn: 291504
* Lift the 10-type limit for AlignedCharArrayUnionSean Callanan2017-01-092-28/+39
| | | | | | | | | | This patch uses C++11 parameter packs and constexpr functions to allow AlignedCharArrayUnion to hold an arbitrary number of types. Differential Revision: https://reviews.llvm.org/D28429 llvm-svn: 291503
* [cmake] Obtain LLVM_CMAKE_PATH from llvm-configMichal Gorny2017-01-091-1/+2
| | | | | | | Use the new --cmakedir option to obtain LLVM_CMAKE_PATH straight from llvm-config instead of reconstructing it locally. llvm-svn: 291502
* [ELF] Fix `_gp` linker script testMeador Inge2017-01-091-7/+1
| | | | | | | | | | Rafael suggested in review to wrap the `.` in an `ABSOLUTE` op to force the section to be in the *ABS* "section": * http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20170109/417865.html llvm-svn: 291501
* [cmake] Obtain LLVM_CMAKE_PATH from llvm-configMichal Gorny2017-01-091-2/+3
| | | | | | | Use the new --cmakedir option to obtain LLVM_CMAKE_PATH straight from llvm-config instead of reconstructing it locally. llvm-svn: 291500
* Commit a test for match-full-lines.James Y Knight2017-01-092-14/+53
| | | | | | | | | | | I unfortunately neglected to add it in r260540, but it has been sitting in my working dir ever since. D'oh. Modified to work with r290069, which made the CHECK patterns themselves whitespace-sensitive as well, and remove the test added then, as this tests both strict and non-strict modes. llvm-svn: 291499
* [WebAssembly] Add return type annotations in fast isel.Dan Gohman2017-01-091-0/+3
| | | | llvm-svn: 291498
* Adorn __call_once_proxy with `inline` and `_LIBCPP_INLINE_VISIBILITY`Justin Bogner2017-01-091-0/+1
| | | | | | | As per discussion with mclow and EricWF on irc, this is small and simple enough to deserve being inlined. llvm-svn: 291497
* Support non-regular output files.Rui Ueyama2017-01-092-4/+7
| | | | | | | | | This patch enables something like "-o /dev/null". Previouly, it failed because such files cannot be renamed. Differential Revision: https://reviews.llvm.org/D28010 llvm-svn: 291496
* [cmake] Obtain LLVM_CMAKE_PATH from llvm-configMichal Gorny2017-01-091-2/+3
| | | | | | | | | Use the new --cmakedir option to obtain LLVM_CMAKE_PATH straight from llvm-config instead of reconstructing it locally. Differential Revision: https://reviews.llvm.org/D26900 llvm-svn: 291495
* TarWriter: Fix a bug in Ustar header.Rui Ueyama2017-01-093-2/+91
| | | | | | | | | | If we split a filename into `Name` and `Prefix`, `Prefix` is at most 145 bytes. We had a bug that didn't split a path correctly. This bug was pointed out by Rafael in the post commit review. This patch adds a unit test for TarWriter to verify the fix. llvm-svn: 291494
* Add a test for diagnose_if.George Burgess IV2017-01-091-0/+8
| | | | | | Forgot to add this file as a part of r291418. llvm-svn: 291493
* Swap two lines in __mutex_base. On systems with high clock rates, we could ↵Marshall Clow2017-01-091-1/+1
| | | | | | mistakenly return no_timeout when a mutex had timed out if we got a tick between these two lines. Thanks to Brian Cain for the bug report. llvm-svn: 291492
* Fixing test to work when the compiler defaults to a different C++ standard ↵Douglas Yung2017-01-091-3/+26
| | | | | | | | version. Differential Revision: https://reviews.llvm.org/D28418 llvm-svn: 291491
OpenPOWER on IntegriCloud