summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* native_log2: Switch to generic native intrinsic inc fileJan Vesely2017-11-103-8/+29
| | | | | | | | | v2: Add __CLC_XCONCAT instead of function name redirection Use __CLC_XCONCAT for intrinsic functions as well Reviewer: Jeroen Ketema Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 317932
* Fix for skipped CMake configuration on debuginfo-tests.Zachary Turner2017-11-101-0/+7
| | | | | | | This should have been part of the change to debuginfo-tests, but it was left out. This should get the buildbots green. llvm-svn: 317931
* sanitizer_common: Try looking up symbols with RTLD_DEFAULT if RTLD_NEXT does ↵Peter Collingbourne2017-11-104-0/+33
| | | | | | | | | | | | | | not work. If the lookup using RTLD_NEXT failed, the sanitizer runtime library is later in the library search order than the DSO that we are trying to intercept, which means that we cannot intercept this function. We still want the address of the real definition, though, so look it up using RTLD_DEFAULT. Differential Revision: https://reviews.llvm.org/D39779 llvm-svn: 317930
* [compiler-rt] Fix const and volatile qualifier warningsKuba Mracek2017-11-104-18/+19
| | | | | | | | Building with a new clang produces a bunch of warnings about dropped 'const' and 'volatile' qualifiers on pointers. Let's fix them. Differential Revision: https://reviews.llvm.org/D39861 llvm-svn: 317929
* [OMPT] Fix assertion for OpenMP code generated with outdated compilersJoachim Protze2017-11-103-7/+13
| | | | | | | | | | | | For up-to-date compilers, this assertion is reasonable, but it breaks compatibility with the typical compiler installed on most systems. This patch changes the default value to what we had when there was no compiler support. A warning about the outdated compiler is printed during runtime, when this point is reached. Differential Revision: https://reviews.llvm.org/D39890 llvm-svn: 317928
* [cfi-verify] Made FileAnalysis operate on a GraphResult rather than build ↵Mitch Phillips2017-11-104-64/+127
| | | | | | | | | | | | | | | | one and validate it. Refactors the behaviour of building graphs out of FileAnalysis, allowing for analysis of the GraphResult by the callee without having to rebuild the graph. Means when we want to analyse the constructed graph (planned for later revisions), we don't do repeated work. Also makes CFI verification in FileAnalysis now return an enum that allows us to differentiate why something failed, not just that it did/didn't fail. Reviewers: vlad.tsyrklevich Subscribers: kcc, pcc, llvm-commits Differential Revision: https://reviews.llvm.org/D39764 llvm-svn: 317927
* [DAGcombine] Do not replace truncate node by itself when doing constant ↵Amaury Sechet2017-11-101-3/+9
| | | | | | folding, this trigger needless extra rounds of combine for nothing. NFC llvm-svn: 317926
* [debuginfo-tests] Make debuginfo-tests work in a standard configuration.Zachary Turner2017-11-1026-28/+153
| | | | | | | | | | | | | | | | | | | Previously, debuginfo-tests was expected to be checked out into clang/test and then the tests would automatically run as part of check-clang. This is not a standard workflow for handling external projects, and it brings with it some serious drawbacks such as the inability to depend on things other than clang, which we will need going forward. The goal of this patch is to migrate towards a more standard workflow. To ease the transition for build bot maintainers, this patch tries not to break the existing workflow, but instead simply deprecate it to give maintainers a chance to update the build infrastructure. Differential Revision: https://reviews.llvm.org/D39605 llvm-svn: 317925
* [AMDGPU] AMDGPUUsage.rst minor correctionsTony Tye2017-11-101-14/+16
| | | | | | Differential Revision: https://reviews.llvm.org/D39887 llvm-svn: 317924
* [SimplifyCFG] Use auto * when the type is obvious. NFCI.Davide Italiano2017-11-101-11/+8
| | | | llvm-svn: 317923
* [polly] Remove redundant return [NFC]Mandeep Singh Grang2017-11-101-1/+0
| | | | | | | | | | | | | | Reviewers: grosser, bollu Reviewed By: grosser Subscribers: nemanjai, kbarton, llvm-commits Tags: #polly Differential Revision: https://reviews.llvm.org/D39916 llvm-svn: 317922
* Recommit r317904: [Hexagon] Create HexagonISelDAGToDAG.h, NFCKrzysztof Parzyszek2017-11-102-109/+139
| | | | | | | The Windows builder did not reconstruct the HexagonGenDAGISel.inc file after the TableGen binary has changed. llvm-svn: 317921
* AMDGPU/NFC: Split Processors.td into GCNProcessors.td and R600Processors.tdKonstantin Zhuravlyov2017-11-104-218/+258
| | | | | | Differential Revision: https://reviews.llvm.org/D39880 llvm-svn: 317920
* [lldb] Remove unused method declarationAlexander Shaposhnikov2017-11-101-4/+0
| | | | | | | | | | FindCompleteObjCDefinitionType is not used anywhere and there is no implementation of it, only a declaration. Test plan: make check-lldb Differential revision: https://reviews.llvm.org/D39884 llvm-svn: 317919
* Expand IRBuilder interface for atomic memcpy to require pointer alignments. ↵Daniel Neilson2017-11-103-19/+28
| | | | | | | | | | | | | | | (NFC) Summary: The specification of the @llvm.memcpy.element.unordered.atomic intrinsic requires that the pointer arguments have alignments of at least the element size. The existing IRBuilder interface to create a call to this intrinsic does not allow for providing the alignment of these pointer args. Having an interface that makes it easy to construct invalid intrinsic calls doesn't seem sensible, so this patch simply adds the requirement that one provide the argument alignments when using IRBuilder to create atomic memcpy calls. llvm-svn: 317918
* AMDGPU: Add -mxnack/-mno-xnack options that set +/-xnack featureKonstantin Zhuravlyov2017-11-102-1/+10
| | | | | | Differential Revision: https://reviews.llvm.org/D39878 llvm-svn: 317917
* Revert "[Hexagon] Create HexagonISelDAGToDAG.h, NFC"Krzysztof Parzyszek2017-11-102-139/+109
| | | | | | This reverts r317904: broke Windows build. llvm-svn: 317916
* [X86] Merge the template method selectAddrOfGatherScatterNode into ↵Craig Topper2017-11-101-25/+16
| | | | | | | | selectVectorAddr. NFCI Just need to initialize a couple variables differently based on the node type. No need for a whole separate template method. llvm-svn: 317915
* [tsan] Move code of sigaction_impl and signal_implVitaly Buka2017-11-101-50/+49
| | | | | | | | They need to be after sanitizer_signal_interceptors.inc to use READ function Part of https://github.com/google/sanitizers/issues/637 llvm-svn: 317914
* [tsan] Extract sigaction_impl and signal_implVitaly Buka2017-11-101-0/+13
| | | | | | | | Preparation for switching to sanitizer_signal_interceptors.inc Part of https://github.com/google/sanitizers/issues/637 llvm-svn: 317913
* Add back target triple to test which I accidentally removed.Adrian Prantl2017-11-101-0/+1
| | | | llvm-svn: 317912
* [CVP] Remove some {s|u}add.with.overflow checks.Sanjoy Das2017-11-102-0/+424
| | | | | | | | | | | | | | | | | | | | | | | Summary: This adds logic to CVP to remove some overflow checks. It uses LVI to remove operations with at least one constant. Specifically, this can remove many overflow intrinsics immediately following an overflow check in the source code, such as: if (x < INT_MAX) ... x + 1 ... Patch by Joel Galenson! Reviewers: sanjoy, regehr Reviewed By: sanjoy Subscribers: fhahn, pirama, srhines, llvm-commits Differential Revision: https://reviews.llvm.org/D39483 llvm-svn: 317911
* Use DenseMap instead of std::map in fixupExportsReid Kleckner2017-11-101-1/+1
| | | | | | | Some DLLs have many exports, and this data structure shows up in the profile of linking content.dll. llvm-svn: 317910
* AMDGPU/NFC: Move getAMDGPUTargetFeatures to AMDGPU toolchainKonstantin Zhuravlyov2017-11-103-19/+24
| | | | | | Differential Revision: https://reviews.llvm.org/D39877 llvm-svn: 317909
* [RISCV] Silence an unused variable warning in release builds [NFC]Mandeep Singh Grang2017-11-102-5/+5
| | | | | | | | | | | | | | | | | | Summary: Also minor cleanups: 1. Avoided multiple calls to Fixup.getKind() 2. Avoided multiple calls to getFixupKindInfo() 3. Removed a redundant return. Reviewers: asb, apazos Reviewed By: asb Subscribers: rbar, johnrusso, llvm-commits Differential Revision: https://reviews.llvm.org/D39881 llvm-svn: 317908
* [scudo] Bump the Android API level requirement to 21 for getauxvalKostya Kortchinsky2017-11-101-3/+3
| | | | | | | | | | | | | | | | | | | | Summary: `getauxval` was introduced in 18 & 21 depending on the architecture. Bump the requirement to 21. It also turns out that the NDK is finicky: NDK r13b doesn't include sys/auxv.h when creating a standalone toolchain at API level 19 for ARM. So 18 didn't work well with older NDKs. Reviewers: alekseyshl Reviewed By: alekseyshl Subscribers: aemerson, srhines, llvm-commits, kristof.beyls Differential Revision: https://reviews.llvm.org/D39905 llvm-svn: 317907
* [msan] Remove INTERCEPT_FUNCTION for sigaction and signalVitaly Buka2017-11-101-2/+0
| | | | | | Already done in InitializeSignalInterceptors() llvm-svn: 317906
* [X86] Add test case to demonstrate failure to fold the address computation ↵Craig Topper2017-11-101-2/+226
| | | | | | of a simple gather from a global array. NFC llvm-svn: 317905
* [Hexagon] Create HexagonISelDAGToDAG.h, NFCKrzysztof Parzyszek2017-11-102-109/+139
| | | | llvm-svn: 317904
* Allow separation of declarations and definitions in <Target>ISelDAGToDAG.incKrzysztof Parzyszek2017-11-102-17/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the ability to include the member function declarations in the instruction selector class separately from the member bodies. Defining GET_DAGISEL_DECL macro to any value will only include the member declarations. To include bodies, define GET_DAGISEL_BODY macro to be the selector class name. Example: class FooDAGToDAGISel : public SelectionDAGISel { // Pull in declarations only. #define GET_DAGISEL_DECL #include "FooISelDAGToDAG.inc" }; // Include the function bodies (with names qualified with the provided // class name). #define GET_DAGISEL_BODY FooDAGToDAGISel #include "FooISelDAGToDAG.inc" When neither of the two macros are defined, the function bodies are emitted inline (in the same way as before this patch). Differential Revision: https://reviews.llvm.org/D39596 llvm-svn: 317903
* [ADT] Rewrite mapped_iterator in terms of iterator_adaptor_base.Lang Hames2017-11-103-75/+68
| | | | | | | | | | | | | | | | | | Summary: This eliminates the boilerplate implementation of the iterator interface in mapped_iterator. This patch also adds unit tests that verify that the mapped function is applied by operator* and operator->, and that references returned by the map function are returned via operator*. Reviewers: dblaikie, chandlerc Subscribers: llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D39855 llvm-svn: 317902
* [clang-format] Handle leading comments in using declarationDaniel Jasper2017-11-102-4/+13
| | | | | | | | | | This fixes clang-format internal assertion for the following code: /* override */ using std::string; Patch by Igor Sugak. Thank you. llvm-svn: 317901
* [X86] Add a def file to CPU vendor, type, and subtype encodings used by Host.cppCraig Topper2017-11-103-271/+241
| | | | | | | | | | | | | | | | | | | | | | | Summary: I want to leverage this to clean up some of the code in clang. This will allow us to simplify D39521 which was trying to do some of the same. If we accurately keep the code in Host.cpp synced with new CPUs added to compile-rt/libgcc we should be able to use this file as a proxy for what's implemented in the libraries. The entries for the CPUs recognized by the libraries use separate macros that define additional parameters like the name for __builtin_cpu_is and an alias string for the couple cases where __builtin_cpu_is accepts two different names. All of the macros contain an ARCHNAME that is usually the same as the __builtin_cpu_is string, but sometimes isn't. This represents the name recognized by X86.td and -march. I'm following the precedent set by ARM and AArch64 and adding this information to lib/Support/TargetParser.cpp Reviewers: erichkeane, echristo, asbirlea Reviewed By: echristo Subscribers: llvm-commits, aemerson, kristof.beyls Differential Revision: https://reviews.llvm.org/D39782 llvm-svn: 317900
* LTO: don't fatal when value for cache key already existsBob Haarman2017-11-101-2/+15
| | | | | | | | | | | | | | | | | | | | Summary: LTO/Caching.cpp uses file rename to atomically set the value for a cache key. On Windows, this fails when the destination file already exists. Previously, LLVM would report_fatal_error in such cases. However, because the old and the new value for the cache key are supposed to be equivalent, it actually doesn't matter which one we keep. This change makes it so that failing the rename when an openable file with the desired name already exists causes us to report success instead of fataling. Reviewers: pcc, hans Subscribers: mehdi_amini, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D39874 llvm-svn: 317899
* [NFC] Pacify bbot for OpenMP 'teams distribute parallel for'Carlo Bertolli2017-11-101-1/+1
| | | | llvm-svn: 317898
* [python] [tests] Rewrite to use standard unittest moduleMichal Gorny2017-11-1018-1596/+1658
| | | | | | | | | | | | | | | | | | | | | | | | | Rewrite the tests from using plain 'assert' mixed with some nosetests methods to the standard unittest module layout. Improve the code to use the most canonical assertion methods whenever possible. This has a few major advantages: - the code uses standard methods now, resulting in a reduced number of WTFs whenever someone with basic Python knowledge gets to read it, - completely unnecessary dependency on nosetests is removed since the standard library supplies all that is necessary for the tests to run, - the tests can be run via any test runner, including the one built-in in Python, - the failure output for most of the tests is improved from 'assertion x == y failed' to actually telling the values. Differential Revision: https://reviews.llvm.org/D39763 llvm-svn: 317897
* Move test into X86 subdirectory.Adrian Prantl2017-11-101-1/+0
| | | | llvm-svn: 317896
* [WebAssembly] Fix stack offsets of return values from call lowering.Jatin Bhateja2017-11-102-3/+14
| | | | | | | | | | | | | | Summary: Fixes PR35220 Reviewers: vadimcn, alexcrichton Reviewed By: alexcrichton Subscribers: pepyakin, alexcrichton, jfb, dschuff, sbc100, jgravelle-google, llvm-commits, aheejin Differential Revision: https://reviews.llvm.org/D39866 llvm-svn: 317895
* [AArch64][SVE] Asm: More concise test formatFlorian Hahn2017-11-108-232/+240
| | | | | | | | | | | | | | | | | | | | | | Change the test format for SVE assembler/disassembler tests to be less verbose and have both tests in the same file. The tests check the following: * All instructions are assembled correctly into the right encoding. * All instructions are disassembled correctly (into the preferred assembly format) * Without -mattr=+sve the instructions are not assembled. * Without -mattr=+sve the instructions are not disassembled. This patch also adds several negative tests for SVE add/sub. Patch by Sander De Smalen. Reviewed by: rengolin, fhahn Differential Revision: https://reviews.llvm.org/D39792 llvm-svn: 317894
* [OpenMP] Parse+Sema for copyin clause of 'teams distribute parallel for'Carlo Bertolli2017-11-103-8/+125
| | | | | | | | https://reviews.llvm.org/D39902 Simply leverage existing implementation and verify correct functioning with two regression tests. llvm-svn: 317893
* [X86] Add scheduling tests for DAA/DASSimon Pilgrim2017-11-101-2/+168
| | | | llvm-svn: 317892
* [OpenMP] diagnose assign to firstprivate const, patch by Joel E. DennyAlexey Bataev2017-11-102-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: [OpenMP] diagnose assign to firstprivate const Clang does not diagnose assignments to const variables declared firstprivate. Furthermore, codegen is broken such that, at run time, such assignments simply have no effect. For example, the following prints 0 not 1: int main() { const int i = 0; #pragma omp parallel firstprivate(i) { i=1; printf("%d\n", i); } return 0; } This commit makes these assignments a compile error, which is consistent with other OpenMP compilers I've tried (pgcc 17.4-0, gcc 6.3.0). Reviewers: ABataev Reviewed By: ABataev Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D39859 llvm-svn: 317891
* [OMPT] Purge OMPT_BLAME and OMPT_TRACEJonas Hahnfeld2017-11-102-9/+5
| | | | | | This was replace by OMPT_OPTIONAL. llvm-svn: 317890
* [llvm-opt-fuzzer] Add missed library dependence. Fir for rL317883Igor Laevsky2017-11-101-0/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D39555 llvm-svn: 317889
* [X86] Test non-i64 shld/shll tests on x86_64 targets as well as i686Simon Pilgrim2017-11-101-161/+286
| | | | llvm-svn: 317888
* [llvm-opt-fuzzer] Fix unused variable warning after rL317883Igor Laevsky2017-11-101-0/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D39555 llvm-svn: 317887
* [clang-format] Support python-style comments in text protosKrasimir Georgiev2017-11-105-7/+128
| | | | | | | | | | | | | | Summary: This patch adds support for python-style comments in text protos. Reviewers: djasper Reviewed By: djasper Subscribers: bkramer, cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D39806 llvm-svn: 317886
* [X86] Add scheduling testsSimon Pilgrim2017-11-101-10/+289
| | | | | | | | - CBW etc sign extensions - CLC/CLD/CMC flag modifiers - CPUID llvm-svn: 317885
* [AMDGPU] Prevent Machine Copy Propagation from replacing live copy with the ↵Alexander Timofeev2017-11-102-0/+29
| | | | | | | | dead one Differential revision: https://reviews.llvm.org/D38754 llvm-svn: 317884
* [llvm-opt-fuzzer] Introduce llvm-opt-fuzzer for fuzzing optimization passesIgor Laevsky2017-11-106-0/+364
| | | | | | | | | This change adds generic fuzzing tools capable of running libFuzzer tests on any optimization pass or combination of them. Differential Revision: https://reviews.llvm.org/D39555 llvm-svn: 317883
OpenPOWER on IntegriCloud