summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Make kmp_r_sched_t into a unionJonathan Peyton2017-11-292-30/+24
| | | | | | | | | | | This change makes kmp_r_sched_t type into a union for simpler comparisons and assignments Patch by Terry Wilmarth Differential Revision: https://reviews.llvm.org/D40374 llvm-svn: 319379
* Use Symbol::File directly.Rafael Espindola2017-11-299-53/+40
| | | | | | | We are already paying the cost of storing a InputFile in every Symbol, so use it uniformly. llvm-svn: 319378
* [CodeView] Factor some code out of TypeTableBuilder.Zachary Turner2017-11-293-43/+36
| | | | | | | | | | | This class had some code that would automatically remap type indices before hashing and serializing. The only caller of this method was the TypeStreamMerger anyway, and the method doesn't make general sense, and prevents making certain future improvements to the class. So, factoring this up one level into the TypeStreamMerger where it belongs. llvm-svn: 319377
* [AST] Fix some Clang-tidy modernize and Include What You Use warnings; other ↵Eugene Zelenko2017-11-292-232/+269
| | | | | | minor fixes (NFC). llvm-svn: 319376
* Fix aligned memory allocation in the stub libraryJonathan Peyton2017-11-291-9/+34
| | | | | | | | | | | | | | kmp_aligned_malloc() always returned NULL on Windows (stub library only) that may cause Fortran application crash. With this change all memory allocation functions were fixed to use aligned{m,re,rec}alloc() to allocate/reallocate memory. To deallocate that memory _aligned_free() is used in kmp_free(). Patch by Olga Malysheva Differential Revision: https://reviews.llvm.org/D40296 llvm-svn: 319375
* Warning is emitted when tiles are requested but cannot be usedJonathan Peyton2017-11-292-1/+15
| | | | | | | | | | | | | | Added two warnings: 1) Before building the topology map check if tiles are requested but the topo method is not hwloc; 2) After building the topology map check if tiles are requested but not detected by the library. Patch by Olga Malysheva Differential Revision: https://reviews.llvm.org/D40340 llvm-svn: 319374
* [Coverage] Emit gap areas in braces-optional statements (PR35387)Vedant Kumar2017-11-2913-56/+118
| | | | | | | | | | | | Emit a gap area starting after the r-paren location and ending at the start of the body for the braces-optional statements (for, for-each, while, etc). The count for the gap area equal to the body's count. This extends the fix in r317758. Fixes PR35387, rdar://35570345 Testing: stage2 coverage-enabled build of clang, check-clang llvm-svn: 319373
* Fix types of Fortran array elementsJonathan Peyton2017-11-296-12/+12
| | | | | | | | | | | | Fortran array elements made default integer in OMP_GET_PLACE_PROC_IDS and OMP_GET_PARTITION_PLACE_NUMS subroutines, otherwise call to them produces incorrect result. Patch by Olga Malysheva Differential Revision: https://reviews.llvm.org/D40356 llvm-svn: 319372
* Use llvm::StringSet instead of std::set.Rui Ueyama2017-11-291-3/+2
| | | | | | | | | std::set is pretty slow. We generally prefer llvm::StringSet if we don't need an sorted set. Differential Revision: https://reviews.llvm.org/D40579 llvm-svn: 319371
* Simplify. NFC.Rafael Espindola2017-11-291-2/+1
| | | | llvm-svn: 319370
* [Documentation] Sort Clang-tidy changes next way: new modules, new checks, ↵Eugene Zelenko2017-11-292-121/+116
| | | | | | | | renamed checks, extended checks, new check aliases. Sort checks in each section alphabetically. llvm-svn: 319369
* [SelectionDAG][X86] Teach promotion legalization for fp_to_sint/fp_to_uint ↵Craig Topper2017-11-293-23/+16
| | | | | | | | | | | | to insert an assertsext/assertzext based on the original type If we put in an assertsext/zext here, we're able to generate better truncate code using pack on pre-avx512 targets. Similar is already done during type legalization. This is the equivalent for op legalization Differential Revision: https://reviews.llvm.org/D40591 llvm-svn: 319368
* Don't crash on broken debug info.Rafael Espindola2017-11-292-5/+52
| | | | llvm-svn: 319367
* [XRay][compiler-rt][Darwin] Use dynamic initialisation as an alternativeDean Michael Berris2017-11-291-1/+8
| | | | | | | | | | | | | | | | Summary: In cases where we can't use the .preinit_array section (as in Darwin for example) we instead use dynamic initialisation. We know that this alternative approach will race with the initializers of other objects at global scope, but this is strictly better than nothing. Reviewers: kubamracek, nglevin Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D40599 llvm-svn: 319366
* [sanitizer] Add 'strip_env' flag to enable/disable removing sanitizer dylib ↵Kuba Mracek2017-11-293-0/+12
| | | | | | | | | | from DYLD_INSERT_LIBRARIES On macOS, we usually don't require launching the target with DYLD_INSERT_LIBRARIES anymore. However, it is still necessary when running a target that is not instrumented (and e.g. dlopen's an instrument library later). In any case, ASan and TSan currently remove themselves from the DYLD_INSERT_LIBRARIES environment variable to avoid passing it onto children. This works well e.g. when instrumenting a shell. A problem arises when the target is a non-instrumented shim (e.g. "xcrun") that either re-execs or launches a child that is supposed to get DYLD_INSERT_LIBRARIES propagated. To support this mode, this patch introduces 'strip_env' flag that can be used to keep DYLD_INSERT_LIBRARIES untouched. Differential Revision: https://reviews.llvm.org/D39991 llvm-svn: 319365
* Reformat switch statement added in r319297, NFCReid Kleckner2017-11-291-12/+12
| | | | llvm-svn: 319364
* [EH] Use __CxxFrameHandler3 for C++ EH in MS environmentsReid Kleckner2017-11-292-4/+21
| | | | | | | | Fixes regression introduced by r319297. MSVC environments still use SEH unwind opcodes but they should use the Microsoft C++ EH personality, not the mingw one. llvm-svn: 319363
* [OPENMP] Allow only loop control variables in distribute simdAlexey Bataev2017-11-2916-473/+188
| | | | | | | | | directives. According to the OpenMP standard, only loop control variables can be used in linear clauses of distribute-based simd directives. llvm-svn: 319362
* Replace a dyn_cast with a cast. NFC.Rafael Espindola2017-11-291-2/+2
| | | | llvm-svn: 319361
* Add the hasDefinition() AST matcher to match class declarations that also ↵Aaron Ballman2017-11-294-0/+42
| | | | | | | | have a definition. Patch by Julie Hockett. llvm-svn: 319360
* refactor: Unify+simplify DWARFCompileUnit ctor+Clear() into in-class ↵Jan Kratochvil2017-11-294-80/+47
| | | | | | | | | | | | | | initializers + Extract() It has no functionality effect. I was concerned about the worse performance of DWARFDebugInfo::Parse this way of allocating+destroying a CU for each iteration but I see it is now used only by DWARFDebugInfo::Dump so that is no longer a problem. Differential revision: https://reviews.llvm.org/D40212 llvm-svn: 319359
* [SourceLocations] Use stronger sort predicate to remove non-deterministic ↵Mandeep Singh Grang2017-11-291-2/+3
| | | | | | | | | | | | | | | | | | ordering Summary: This fixes the following failure uncovered by D39245: Clang :: Index/getcursor-preamble.m Reviewers: gbenyei, akyrtzi, bkramer, arphaman Reviewed By: arphaman Subscribers: arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D40618 llvm-svn: 319357
* [LLD] [COFF] Support ENTRY and SUBSYSTEM in .drectve sectionsRui Ueyama2017-11-293-12/+66
| | | | | | | | | | | | | Adds support for "/ENTRY" and "/SUBSYSTEM" linker options in .drectve sections. Some Mozilla binaries were using these directives and MSVC link.exe appears to allow them. No attempt is made to reconcile these with the options on the command line. Patch by David Major! Differential Revision: https://reviews.llvm.org/D39972 llvm-svn: 319356
* Remove `else` or `break` after `fatal`. NFC.Rui Ueyama2017-11-292-13/+8
| | | | | | | fatal() does not return, so we don't need `else` or `break` after a call of fatal. llvm-svn: 319355
* [WebAssembly] Fix fptoui lowering boundsDan Gohman2017-11-293-62/+99
| | | | | | | To fully avoid trapping on wasm, fptoui needs a second check to ensure that the operand isn't below the supported range. llvm-svn: 319354
* Add libstd++-4.8 exceptions to ubsan_blacklist.txtSam Clegg2017-11-291-0/+5
| | | | | | Differential Revision: https://reviews.llvm.org/D40589 llvm-svn: 319353
* [Hexagon] Remove HexagonISD::PACKHLKrzysztof Parzyszek2017-11-294-7/+2
| | | | llvm-svn: 319352
* [Hexagon] Create helpers extractVector and insertVector in loweringKrzysztof Parzyszek2017-11-292-139/+144
| | | | llvm-svn: 319351
* [scudo] Allow for compile-time choice of the SizeClassMapKostya Kortchinsky2017-11-291-11/+12
| | | | | | | | | | | | | | | | | | | | | | | | Summary: With this change, we allow someone to chose the `SizeClassMap` they want to use at compile time via a define. I feel somewhat unimaginative with the name of the defines, so if someone has a better idea, let me know. I have been alternating between those and `SCUDO_USE_xxx_SIZECLASSMAP` which is clearer but also longer. The issue with those is that it wouldn't be consistent with `SCUDO_TSD_EXCLUSIVE` that should probably become `SCUDO_USE_EXCLUSIVE_TSD` maybe? Anyway, naming is hard, and I am not sure what makes more sense! Reviewers: alekseyshl, flowerhack Reviewed By: alekseyshl Subscribers: llvm-commits, srhines Differential Revision: https://reviews.llvm.org/D40521 llvm-svn: 319350
* [compiler-rt] Switch from deprecated TARGET_IPHONE_SIMULATOR to ↵Kuba Mracek2017-11-291-1/+1
| | | | | | | | TARGET_OS_SIMULATOR Differential Revision: https://reviews.llvm.org/D39987 llvm-svn: 319349
* [asan] Fix macOS FindDynamicShadowStart to consider the last gap in the VM mapKuba Mracek2017-11-291-0/+5
| | | | | | | | It looks FindDynamicShadowStart has a bug: When iterating over the memory map, we will not consider the very last gap in the address space. Let's fix that. Differential Revision: https://reviews.llvm.org/D39989 llvm-svn: 319348
* [asan] Don't crash on fclose(NULL)Kuba Mracek2017-11-292-1/+14
| | | | | | | | It's explicitly forbidden to call fclose with NULL, but at least on Darwin, this succeeds and doesn't segfault. To maintain binary compatibility, ASan should survice fclose(NULL) as well. Differential Revision: https://reviews.llvm.org/D40053 llvm-svn: 319347
* [X86][AVX512] Tag RCP/RSQRT/GETEXP instructions scheduler classes (REVERSION)Simon Pilgrim2017-11-293-86/+59
| | | | | | Accidental commit of incomplete patch llvm-svn: 319346
* Make TypeTableBuilder inherit from TypeCollection.Zachary Turner2017-11-296-36/+72
| | | | | | | | | | | | | | A couple of places in LLD were passing references to TypeTableCollections around, which makes it hard to change the implementation at runtime. However, these cases only needed to iterate over the types in the collection, and TypeCollection already provides a handy abstract interface for this purpose. By implementing this interface, we can get rid of the need to pass TypeTableBuilder references around, which should allow us to swap the implementation at runtime in subsequent patches. llvm-svn: 319345
* [asan] Allow getpwnam(NULL) for binary compatibilityKuba Mracek2017-11-292-1/+17
| | | | | | | | Calling getpwnam(NULL) is probably a bug, but at least on Darwin, such a call succeeds without segfaulting. I have some existing code that relies on that. To maintain binary compatibility, ASan should also survive a call to getpwnam with NULL. Differential Revision: https://reviews.llvm.org/D40052 llvm-svn: 319344
* [CMake] Refactor testing infrastructureJonas Hahnfeld2017-11-2911-198/+172
| | | | | | | | | | | | | | | The code for the two OpenMP runtime libraries was very similar. Move to common CMake file that is included and provides a simple interface for adding testsuites. Also add a common check-openmp target that runs all testsuites that have been registered. Note that this renames all test options to the common OPENMP namespace, for example OPENMP_TEST_C_COMPILER instead of LIBOMP_TEST_COMPILER and so on. Differential Revision: https://reviews.llvm.org/D40082 llvm-svn: 319343
* [CMake] Refactor common settings and flagsJonas Hahnfeld2017-11-2912-103/+95
| | | | | | | | | | | | These are needed by both libraries, so we can do that in a common namespace and unify configuration parameters. Also make sure that the user isn't requesting libomptarget if the library cannot be built on the system. Issue an error in that case. Differential Revision: https://reviews.llvm.org/D40081 llvm-svn: 319342
* [CMake] Disallow direct configurationJonas Hahnfeld2017-11-2910-41/+28
| | | | | | | | | | As a first step, this allows us to generalize the detection of standalone builds and make it fully compatible when building in llvm/runtimes/ which automatically sets OPENMP_STANDLONE_BUILD. Differential Revision: https://reviews.llvm.org/D40080 llvm-svn: 319341
* Fix line endings in llvm-pdbutil.cppZachary Turner2017-11-291-11/+11
| | | | llvm-svn: 319340
* [sanitizer] Refactor how assembly files are handledKuba Mracek2017-11-297-114/+100
| | | | | | | | This renames ASM_TSAN_SYMBOL and ASM_TSAN_SYMBOL_INTERCEPTOR to just ASM_SYMBOL and ASM_SYMBOL_INTERCEPTOR, because they can be useful in more places than just TSan. Also introduce a CMake function to add ASM sources to a target. Differential Revision: https://reviews.llvm.org/D40143 llvm-svn: 319339
* [X86][AVX512] Tag RCP/RSQRT/GETEXP instructions scheduler classesSimon Pilgrim2017-11-293-59/+86
| | | | llvm-svn: 319338
* [X86][AVX512] Tag 3OP (shuffles, double-shifts and GFNI) instructions ↵Simon Pilgrim2017-11-293-222/+237
| | | | | | scheduler classes llvm-svn: 319337
* [clang-cl] Alias /wd4018 to -Wno-sign-compareReid Kleckner2017-11-291-0/+2
| | | | | | | | This warning is known to be noisy and projects frequently disable it. In particular, this should make building isl as bundled in polly with clang-cl a lot quieter. llvm-svn: 319336
* Replace another dyn_cast with a cast.Rafael Espindola2017-11-291-2/+2
| | | | llvm-svn: 319335
* Replace a dyn_cast with a cast.Rafael Espindola2017-11-291-2/+2
| | | | | | It is always accessed, so there is no value in a dyn_cast. llvm-svn: 319334
* [analyzer] Fix unreachable creating PathDiagnosticLocation with widen-loops=trueDevin Coughlin2017-11-292-0/+81
| | | | | | | | | | | | | In the original design of the analyzer, it was assumed that a BlockEntrance doesn't create a new binding on the Store, but this assumption isn't true when 'widen-loops' is set to true. Fix this by finding an appropriate location BlockEntrace program points. Patch by Henry Wong! Differential Revision: https://reviews.llvm.org/D37187 llvm-svn: 319333
* [OPENMP] Do not allow `linear` clauses on non-simd distributeAlexey Bataev2017-11-299-893/+11
| | | | | | | | directives. `linear` clause is not allowed on non-simd distribute-based directives. llvm-svn: 319332
* [ARM][DAG] Revert Disable post-legalization store merge for ARMNirav Dave2017-11-292-31/+22
| | | | | | | | Partially reverting enabling of post-legalization store merge (r319036) for just ARM backend as it is causing incorrect code in some Thumb2 cases. llvm-svn: 319331
* [cmake] Replace -Wall with /W4 in clang-cl options now that -Wall aliases ↵Greg Bedwell2017-11-291-60/+69
| | | | | | | | | | | | | | | -Weverything Instead, reuse the code-path for cl.exe that adds /W4 , which for clang-cl aliases clang's "-Wall -Wextra" which matches what clang-cl's /Wall previously aliased. This should restore the verbosity of a Windows selfhost build back to its previous levels. Differential Revision: https://reviews.llvm.org/D40603 llvm-svn: 319330
* Make check-lit tests respect LLVM_LIT_TOOLS_DIRGreg Bedwell2017-11-293-5/+9
| | | | | | Differential Revision: https://reviews.llvm.org/D40520 llvm-svn: 319329
OpenPOWER on IntegriCloud