summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Eliminate double printing of verbose affinity settingsJonathan Peyton2017-12-061-1/+3
| | | | | | | | | Redundant extra verbose output of binding to full mask in case affinity=balanced or OMP_PLACES=<any> or OMP_PROC_BIND=<any> Differential Revision: https://reviews.llvm.org/D40624 llvm-svn: 319960
* [libc++] Create install-stripped targetsShoaib Meenai2017-12-062-0/+10
| | | | | | | | | | | | LLVM is gaining install-*-stripped targets to perform stripped installs, and in order for this to be useful for install-distribution, all potential distribution components should have stripped installation targets. LLVM has a function to create these install targets, but since we can't use LLVM CMake functions in libc++, let's do it manually. Differential Revision: https://reviews.llvm.org/D40680 llvm-svn: 319959
* Port SCEVAffinator to the isl c++ bindingsPhilip Pfaffe2017-12-063-153/+108
| | | | | | | | | | | | | | Summary: Straight forward port of SCEVAffinator Reviewers: grosser, bollu, Meinersbur Reviewed By: Meinersbur Subscribers: pollydev, llvm-commits Differential Revision: https://reviews.llvm.org/D40803 llvm-svn: 319958
* Trivial enum fixJonathan Peyton2017-12-061-4/+4
| | | | | | | | | | | | This change is a trivial fix for enums that removes specification of "last" or "upper" values, or other boundary values. This simplifies the code in places, and results in never needing to update the "upper" values again. Patch by Terry Wilmarth Differential Revision: https://reviews.llvm.org/D40804 llvm-svn: 319957
* [WebAssembly] Remove WASM_STACK_POINTER.Dan Gohman2017-12-066-66/+4
| | | | | | | WASM_STACK_POINTER and the .stack_pointer directive are no longer needed now that the stack pointer global is an import. llvm-svn: 319956
* [lld] Set up .arcconfig to point to new Diffusion LLD repositoryBen Hamilton2017-12-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: We want to automatically copy the appropriate mailing list for review requests to the LLD repository. For context, see the proposal and discussion here: http://lists.llvm.org/pipermail/cfe-dev/2017-November/056032.html Similar to D40179, I set up a new Diffusion repository with callsign "LLD" for lld: https://reviews.llvm.org/source/lld/ This explicitly updates lld's .arcconfig to point to the new C repository in Diffusion, which will let us use Herald rule H270. Reviewers: peter.smith, ruiu, rafael, sammccall Reviewed By: sammccall Subscribers: dlj, bkramer, sammccall, klimek Differential Revision: https://reviews.llvm.org/D40495 llvm-svn: 319955
* [compiler-rt] Set up .arcconfig to point to new Diffusion CRT repositoryBen Hamilton2017-12-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: We want to automatically copy the appropriate mailing list as well as #sanitizers for review requests to the compiler-rt repository. For context, see the proposal and discussion here: http://lists.llvm.org/pipermail/cfe-dev/2017-November/056032.html Similar to D40179, I set up a new Diffusion repository with callsign "CRT" for compiler-rt: https://reviews.llvm.org/source/compiler-rt/ This explicitly updates compiler-rt's .arcconfig to point to the new CRT repository in Diffusion, which will let us use Herald rules H270 and H271. Reviewers: krytarowski, joerg, dvyukov, vitalybuka, sammccall Reviewed By: sammccall Subscribers: dlj, bkramer, dberris, llvm-commits, sammccall, klimek, #sanitizers Differential Revision: https://reviews.llvm.org/D40498 llvm-svn: 319954
* [lldb] Use PRIVATE in target_link_librariesShoaib Meenai2017-12-061-1/+1
| | | | | | | | This is a follow-up to r319840. I guess none of the systems I'd tested on before had LLDB_SYSTEM_LIBS set, which is why I didn't see any local errors, but I'm surprised none of the bots caught it either. llvm-svn: 319953
* [MachineCombiner] Add up latencies of all instructions in new pattern.Florian Hahn2017-12-061-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: When calculating the RootLatency, we add up all the latencies of the deleted instructions. But for NewRootLatency we only add the latency of the new root instructions, ignoring the latencies of the other instructions inserted. This leads the combiner to underestimate the cost of patterns which add multiple instructions. This patch fixes that by summing up the latencies of all new instructions. For NewRootNode, the more complex getLatency function is used. Note that we may be slightly more precise than just summing up all latencies. For example, consider a pattern like r1 = INS1 .. r2 = INS2 .. r3 = INS3 r1, r2 I think in some other places, the total latency of the pattern would be estimated as lat(INS3) + max(lat(INS1), lat(INS2)). If you consider that worth changing, I think it would be best to do in a follow-up patch. Reviewers: Gerolf, sebpop, spop, fhahn Reviewed By: fhahn Subscribers: evandro, llvm-commits Differential Revision: https://reviews.llvm.org/D40307 llvm-svn: 319951
* [clang] Use PRIVATE in target_link_librariesShoaib Meenai2017-12-061-1/+1
| | | | | | | I'd missed this one in r319840 because I hadn't been configuring with an order file before. llvm-svn: 319950
* [ModRefInfo] Do not use ModRefInfo result in if conditions as this makesAlina Sbirlea2017-12-063-3/+5
| | | | | | | assumptions about the values in the enum. Replace with wrapper returning bool [NFC]. llvm-svn: 319949
* [CMake] Use PRIVATE in target_link_libraries for fuzzers.Matt Morehouse2017-12-064-1/+4
| | | | | | Several fuzzers were missed by r319840. llvm-svn: 319948
* [InlineFunction] Only replace call if there are VarArgs to forward.Florian Hahn2017-12-061-1/+2
| | | | | | | | | | | | | | | | Summary: There is no need to replace the original call instruction if no VarArgs need to be forwarded. Reviewers: davide, rnk, majnemer, efriedma Reviewed By: efriedma Subscribers: eraman, llvm-commits Differential Revision: https://reviews.llvm.org/D40412 llvm-svn: 319947
* [LoopUtils] simplify createTargetReduction(); NFCISanjay Patel2017-12-061-41/+25
| | | | llvm-svn: 319946
* [X86][AVX512] Tag mask reg op instruction scheduler classesSimon Pilgrim2017-12-063-193/+206
| | | | llvm-svn: 319945
* [Hexagon] Suppress more warnings on unused variables defined for asserts.Tim Shen2017-12-061-0/+1
| | | | llvm-svn: 319944
* Fix the -Wunused-function warning properly (MachProcess.mm)Vedant Kumar2017-12-061-1/+1
| | | | | | | r319938 was not NFC, because it got the preprocessor guard wrong. Check WITH_FBS and WITH_BKS before defining SplitEventData. llvm-svn: 319943
* Delete special-case "out-of-range" handling for bools, and just use the normalRichard Smith2017-12-062-115/+63
| | | | | | | | | | | codepath plus the new "minimum / maximum value of type" diagnostic to get the same effect. Move the warning for an in-range but tautological comparison of a constant (0 or 1) against a bool out of -Wtautological-constant-out-of-range-compare into the more-appropriate -Wtautological-constant-compare. llvm-svn: 319942
* [ModRefInfo] Use createModRefInfo wrapper to create a ModRefInfo from ↵Alina Sbirlea2017-12-061-4/+4
| | | | | | FunctionModRefBehavior. llvm-svn: 319941
* [Hexagon] Suppress warnings on unused variables defind for asserts.Tim Shen2017-12-061-0/+2
| | | | llvm-svn: 319940
* Fix const-correctness in RegisterContext methods, NFCVedant Kumar2017-12-063-10/+30
| | | | | | | | | | A few methods in RegisterContext classes accept const objects which are cast to a non-const thread_state_t. Drop const-ness more explicitly where we mean to do so. This fixes a slew of warnings. Differential Revision: https://reviews.llvm.org/D40821 llvm-svn: 319939
* Fix an -Wunused-function warning, NFCVedant Kumar2017-12-061-20/+22
| | | | llvm-svn: 319938
* Fix misc -Wcast-qual warnings, NFCVedant Kumar2017-12-067-22/+29
| | | | llvm-svn: 319937
* Remove no-op function pointer null checks, NFCVedant Kumar2017-12-064-50/+29
| | | | | | | | | | | | | | Null-checking functions which aren't marked weak_import is a no-op (the compiler rewrites the check to 'true'), regardless of whether a library providing its definition is weak-linked. If the deployment target is greater than the minimum requirement, the availability markup on APIs does not lower to weak_import. Remove no-op null checks to clean up the code and silence warnings. Differential Revision: https://reviews.llvm.org/D40812 llvm-svn: 319936
* Use a static_cast instead of a C cast, NFCVedant Kumar2017-12-061-1/+1
| | | | | | Pointed out by Davide Italiano in post-commit review. llvm-svn: 319935
* [MappedHash] Fix alignment violationsVedant Kumar2017-12-061-6/+9
| | | | | | | This fixes a few alignment problems pointed out by UBSan, and is otherwise NFC. llvm-svn: 319934
* [COFF] Ignore semicolons in module definition identifiersRui Ueyama2017-12-062-4/+10
| | | | | | | | | | | | | | | | Patch by David Major. The NSS project's .def files make heavy use of semicolons in a frightening attempt at portability: https://hg.mozilla.org/projects/nss/raw-file/tip/lib/ckfw/capi/nsscapi.def lld-link was treating the semicolon as part of the export name, resulting in unresolved symbols. This patch includes ';' in the list of characters to split on. Differential Revision: https://reviews.llvm.org/D39968 llvm-svn: 319933
* Convert a check to checkLazy.Rafael Espindola2017-12-061-2/+3
| | | | | | | This brings memory allocations when linking clang from 270.96MB to 267.80MB. llvm-svn: 319932
* Fix PR35542: Correct adjusting of private reduction variableJonas Hahnfeld2017-12-063-21/+31
| | | | | | | | | | | | The adjustment is calculated with CreatePtrDiff() which returns the difference in (base) elements. This is passed to CreateGEP() so make sure that the GEP base has the correct pointer type: It needs to be a pointer to the base type, not a pointer to a constant sized array. Differential Revision: https://reviews.llvm.org/D40911 llvm-svn: 319931
* Add an early return.Rafael Espindola2017-12-061-0/+2
| | | | | | | Total memory allocation when linking clang goes from 281.80MB to 270.96MB. llvm-svn: 319930
* [TSan] Make more TSan interceptors symbolizer-aware.Alex Shlyapnikov2017-12-061-9/+25
| | | | | | | | | | | | | | | | | | Summary: Switching the rest of intercepted allocs to InternalAlloc (well, except __libc_memalign) when current thread is 'in_symbolizer'. Symbolizer might (and does) use allocation functions other than malloc/calloc/realloc. posix_memalign is the one actually used, others switched just in case (since the failure is obscure and not obvious to diagnose). Reviewers: dvyukov Subscribers: llvm-commits, kubamracek Differential Revision: https://reviews.llvm.org/D40877 llvm-svn: 319929
* [LoopUtils] fix variable name to match FMF vocabulary; NFCSanjay Patel2017-12-061-4/+4
| | | | llvm-svn: 319928
* Convert a few uses of check to checkLazy.Rafael Espindola2017-12-061-7/+9
| | | | | | Linking clang goes from 292.68MB to 281.80MB allocated. llvm-svn: 319927
* Convert a call to check to checkLazy.Rafael Espindola2017-12-061-3/+4
| | | | | | Linking clang goes from 300.82MB to 292.68MB allocated. llvm-svn: 319926
* Update obj2yaml and yaml2obj for .debug$H section.Zachary Turner2017-12-0610-64/+274
| | | | | | Differential Revision: https://reviews.llvm.org/D40842 llvm-svn: 319925
* Replace one use of check with checkLazy.Rafael Espindola2017-12-061-2/+2
| | | | | | Reduce total allocation when linking clang from 320.04MB to 300.82MB. llvm-svn: 319924
* [Target] dumpr() is defined only in debug builds.Davide Italiano2017-12-061-0/+2
| | | | | | This fixes the clang build on macOS. llvm-svn: 319923
* Add a checkLazy error checking variant.Rafael Espindola2017-12-062-8/+12
| | | | | | | | | This avoids allocating the error message when there is no error that check requires. It avoids the code duplication of inlining check. llvm-svn: 319922
* [X86][SSE] Regenerate vpmovm2*/vpmov*2m avx512 schedule testsSimon Pilgrim2017-12-064-12/+12
| | | | llvm-svn: 319921
* [X86][AVX512] Tag scalar insert/extract instruction scheduler classesSimon Pilgrim2017-12-061-17/+22
| | | | | | Classes don't look great but match what we're doing on SSE/AVX llvm-svn: 319920
* [X86] Simplify the TTI code for getInterleavedMemoryOpCost around for ↵Craig Topper2017-12-061-9/+4
| | | | | | | | | | AVX512BW. NFCI Previously the lambda for AVX512 passed out a flag that indicated whether AVX512BW was required and that was checked against the AVX512BW subtarget flag outside. This patch changes the interface to pass the AVX512BW subtarget bit in and return its value if we detect 16 or 8 bit types. llvm-svn: 319919
* Don't allocate memory for an error message on success.Rafael Espindola2017-12-061-1/+4
| | | | | | | This takes memory allocations when linking clang-fsds from 342.08MB to 320.04MB. llvm-svn: 319918
* [cmake] Remove unnecessary header include in atomics checkShoaib Meenai2017-12-061-1/+0
| | | | | | | | | | | | | | | | | | | | | The header include was required to work around PR19898, as noted in that comment. That PR has since been marked resolved fixed, and the configuration check passes without the header inclusion both when compiling on Windows with cl and when cross-compiling on Linux using clang-cl. I noticed this because the inclusion was cased incorrectly (Intrin.h instead of intrin.h), which when cross-compiling on a case sensitive file system would cause the intrin.h from the Windows SDK to be included (which LLVM can't handle) instead of the one from clang's resource directory, making the check fail. This is the same issue as r309980. Correcting the case of the inclusion makes the check pass when cross compiling, but it seems better to get rid of the inclusion entirely, since it appears to be unnecessary now. Differential Revision: https://reviews.llvm.org/D40910 llvm-svn: 319917
* Don't allocate an error message when there is no error.Rafael Espindola2017-12-061-2/+4
| | | | | | | According to heaptrack this takes "bytes allocated in total" when linking clang-fsds from 405.69MB to 342.08MB. llvm-svn: 319916
* [X86][AVX2] Tag MASKMOV instruction scheduler classesSimon Pilgrim2017-12-062-19/+24
| | | | llvm-svn: 319915
* [X86] Regenerate test for r319778Craig Topper2017-12-061-2/+3
| | | | llvm-svn: 319914
* [X86][AVX512] Tag aligned/unaligned move instruction scheduler classesSimon Pilgrim2017-12-064-294/+311
| | | | llvm-svn: 319913
* [X86][AVX] Regenerate vpmovm2*/vpmov*2m avx512 schedule testsSimon Pilgrim2017-12-062-20/+20
| | | | llvm-svn: 319912
* [X86] Attempt to fix a ubsan failure in the autoupgrade of kunpck intrinsics.Craig Topper2017-12-061-1/+1
| | | | llvm-svn: 319911
* InstructionSimplify: 'extractelement' with an undef index is undefZvi Rackover2017-12-062-0/+12
| | | | | | | | | | | | | | | | | | | Summary: An undef extract index can be arbitrarily chosen to be an out-of-range index value, which would result in the instruction being undef. This change closes a gap identified while working on lowering vector permute intrinsics with variable index vectors to pure LLVM IR. Reviewers: arsenm, spatel, majnemer Reviewed By: arsenm, spatel Subscribers: fhahn, nhaehnle, wdng, llvm-commits Differential Revision: https://reviews.llvm.org/D40231 llvm-svn: 319910
OpenPOWER on IntegriCloud