summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [ELF] Fix DT_NEEDED value.Davide Italiano2016-09-083-3/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D24363 llvm-svn: 280990
* ELF: clarify error when we don't know the output formatEd Maste2016-09-082-2/+2
| | | | | | | | | | | | | | | | | | lld differs from GNU ld in that it does not have a built-in default target emulation. Emulation is always specified via the -m option, or obtained from the object file(s) being linked. In most cases at least one ELF object is included in the link, so the emulation is known. When using lld's (not yet committed) -b binary support with -r, to convert a binary file into an ELF object we do not have a known emulation. The error message previously emitted in this case "-m or at least a .o file required" is accurate but does not offer much insight. Add text to the error message to give a hint why -m or an object file is required. Differential Revision: https://reviews.llvm.org/D24348 llvm-svn: 280989
* support: clean up MSVC supportSaleem Abdulrasool2016-09-081-20/+2
| | | | | | | | | | | Visual Studio 2013 (CRT version 12) added support for many C99 long long and long double functions. Visual Studio 2015 (CRT version 14) increased C99 and C11 compliance further. Since we don't support Visual Studio versions older than 2013, we can considerably clean up the support header. Patch by Shoaib Meenai! llvm-svn: 280988
* [RDF] Further improve handling of multiple phis reached from shadowsKrzysztof Parzyszek2016-09-082-31/+56
| | | | llvm-svn: 280987
* Reduce templating. NFC.Rafael Espindola2016-09-081-11/+7
| | | | llvm-svn: 280986
* Define '-undefined foo' as an alias to '-undefined=foo'.Rui Ueyama2016-09-082-1/+4
| | | | llvm-svn: 280985
* [modules] Apply ODR merging for function scoped tags only in C++ mode.Vassil Vassilev2016-09-086-1/+26
| | | | | | | | | | | In C mode, if we have a visible declaration but not a visible definition, a tag defined in the declaration should be have a visible definition. In C++ we rely on the ODR merging, whereas in C we cannot because each declaration of a function gets its own set of declarations in its prototype scope. Patch developed in collaboration with Richard Smith! llvm-svn: 280984
* ELF: Report original emulation name in "unknown emulation" errorEd Maste2016-09-082-5/+6
| | | | | | | | | | | | | | | | A trailing _fbsd is stripped from emulation names, but if the result was still not a valid emulation the error was somewhat confusing. For example, % ld.lld -m elf_amd64_fbsd unknown emulation: elf_amd64 Use the original emulation name in error messages. Differential Revision: https://reviews.llvm.org/D24357 llvm-svn: 280983
* ELF: accept -m elf_amd64 as an alias for -m elf_x86_64Ed Maste2016-09-082-0/+32
| | | | | | | | | In the FreeBSD world x86_64 still has its original name, amd64. Accept it as an alias. Differential Revision: https://reviews.llvm.org/D24356 llvm-svn: 280982
* [llvm-cov] Fix issues with segment highlighting in the html viewVedant Kumar2016-09-083-30/+24
| | | | | | | | | | | | | The text and html coverage views take different approaches to emitting highlighted regions. That's because this problem is easier in the text view: there's no need to worry about escaping text or adding tooltip content to a highlighted snippet. Unfortunately, the html view didn't get region highlighting quite right. This patch fixes the situation, bringing parity between the two views. llvm-svn: 280981
* Fix tsan-go build.Evgeniy Stepanov2016-09-081-0/+2
| | | | | | Disable the new abort-in-SIGABRT code under SANITIZER_GO. llvm-svn: 280980
* [LV] Don't mark pointers used by scalarized memory accesses uniformMatthew Simpson2016-09-082-42/+411
| | | | | | | | | | | | | | | | | | Previously, all consecutive pointers were marked uniform after vectorization. However, if a consecutive pointer is used by a memory access that is eventually scalarized, the pointer won't remain uniform after all. An example is predicated stores. Even though a predicated store may be consecutive, it will still be scalarized, making it's pointer operand non-uniform. This patch updates the logic in collectLoopUniforms to consider the cases where a memory access may be scalarized. If a memory access may be scalarized, its pointer operand is not marked uniform. The determination of whether a given memory instruction will be scalarized or not has been moved into a common function that is used by the vectorizer, cost model, and legality analysis. Differential Revision: https://reviews.llvm.org/D24271 llvm-svn: 280979
* [pdb] Make YamlTypeDumperCallbacks reuse *this.Zachary Turner2016-09-082-9/+18
| | | | | | | | | | | | | | | Previously we were making new instances of YamlTypeDumperCallbacks in order to recurse down and serialize / deserialize nested records such as field lists. This meant you could not pass context from a higher operation to a lower operation because it would be using a new instance of the visitor callback delegate. YAMLIO library was updated to support context-sensitive mappings, so now we can reuse the same instance of the visitor callback delegate even for nested operations. llvm-svn: 280978
* [YAMLIO] Add the ability to map with context.Zachary Turner2016-09-083-102/+263
| | | | | | | | | | | | | | | | | | | | | mapping a yaml field to an object in code has always been a stateless operation. You could still pass state by using the `setContext` function of the YAMLIO object, but this represented global state for the entire yaml input. In order to have context-sensitive state, it is necessary to pass this state in at the granularity of an individual mapping. This patch adds support for this type of context-sensitive state. You simply pass an additional argument of type T to the `mapRequired` or `mapOptional` functions, and provided you have specialized a `MappingContextTraits<U, T>` class with the appropriate mapping function, you can pass this context into the mapping function. Reviewed By: chandlerc Differential Revision: https://reviews.llvm.org/D24162 llvm-svn: 280977
* [powerpc] Move #if to appease warnings-as-errors testsBill Seurer2016-09-081-3/+2
| | | | | | Previous patch added a #if which causes some unused identifier warnings. llvm-svn: 280976
* Revert "Resubmit "Add a test for clang-tidy using the clang-cl driver.""Ahmed Bougacha2016-09-081-17/+0
| | | | | | | | | | This reverts commit r280839. It's problematic on OS X, where the '/Users/...' paths are interpreted as '/U' options. Investigation ongoing in http://llvm.org/PR30328. llvm-svn: 280975
* AMDGPU: Sign extend constants when splitting themMatt Arsenault2016-09-081-3/+2
| | | | | | | This will confuse later passes which try to look at the immediate value and don't truncate first. llvm-svn: 280974
* [Hexagon] Expand sext- and zextloads of vector types, not just extloadsKrzysztof Parzyszek2016-09-082-1/+15
| | | | | | Recent change exposed this issue, breaking the Hexagon buildbots. llvm-svn: 280973
* AMDGPU: Try to commute when selecting s_addk_i32/s_mulk_i32Matt Arsenault2016-09-083-9/+46
| | | | llvm-svn: 280972
* AArch64 .arch directive - Include default arch attributes with extensions.Eric Christopher2016-09-083-18/+53
| | | | | | | | Fix the .arch asm parser to use the full set of features for the architecture and any extensions on the command line. Add and update testcases accordingly as well as add an extension that was used but not supported. llvm-svn: 280971
* AMDGPU: Support commuting with immediate in src0Matt Arsenault2016-09-0832-177/+161
| | | | llvm-svn: 280970
* Revert "[XRay] ARM 32-bit no-Thumb support in compiler-rt"Renato Golin2016-09-089-423/+117
| | | | | | This reverts commit r280890, as the related LLVM commit broke the thumb bots. llvm-svn: 280969
* Revert "[XRay] ARM 32-bit no-Thumb support in Clang"Renato Golin2016-09-081-13/+0
| | | | | | | This reverts commit r280889, as the original LLVM commits broke the thumb buildbots. llvm-svn: 280968
* Revert "[XRay] ARM 32-bit no-Thumb support in LLVM"Renato Golin2016-09-0817-317/+62
| | | | | | | | | | And associated commits, as they broke the Thumb bots. This reverts commit r280935. This reverts commit r280891. This reverts commit r280888. llvm-svn: 280967
* [LoopDataPrefetch] Use range based for loop; NFCIBalaram Makam2016-09-081-17/+12
| | | | | | | Switch to range based for loop. No functional change, but more readable code. llvm-svn: 280966
* Fix MSVC error from r280919Pavel Labath2016-09-081-4/+4
| | | | | | MSVC did not understand my brace-initializer syntax. :/ llvm-svn: 280965
* [InstCombine] return a vector-safe true/false constantSanjay Patel2016-09-081-2/+2
| | | | | | | | | | | I introduced this potential bug by missing this diff in: https://reviews.llvm.org/rL280873 ...however, I'm not sure how to reach this code path with a regression test. We may be able to remove this code and assume that the transform to a constant is always handled by InstSimplify? llvm-svn: 280964
* Add unittest for r280760Dehao Chen2016-09-081-0/+31
| | | | llvm-svn: 280963
* Fix linker warning about sanitizer_common_nolibc functions on WindowsReid Kleckner2016-09-081-0/+4
| | | | llvm-svn: 280962
* Replace nextafter implementationMatt Arsenault2016-09-082-28/+29
| | | | | | This one passes conformance. llvm-svn: 280961
* [InstCombine][X86] Regenerate masked memory op combine testsSimon Pilgrim2016-09-081-88/+114
| | | | llvm-svn: 280960
* [InstCombine][X86] Regenerate vperm2f128/vperm2i128 combine testsSimon Pilgrim2016-09-081-86/+116
| | | | llvm-svn: 280959
* Really fix warnings about passing -std=gnu99 to MSVCReid Kleckner2016-09-081-2/+3
| | | | llvm-svn: 280958
* [InstCombine][X86] Regenerate insertps combine testsSimon Pilgrim2016-09-081-43/+59
| | | | llvm-svn: 280957
* [Coverage] Delete some dead code (NFC)Vedant Kumar2016-09-082-14/+0
| | | | llvm-svn: 280956
* Add streamexecutor-configJason Henline2016-09-084-1/+215
| | | | | | | | | | | | | | Summary: Similar to llvm-config, gets command-line flags that are needed to build applications linking against StreamExecutor. Reviewers: jprice, jlebar Subscribers: beanz, parallel_libs-commits Differential Revision: https://reviews.llvm.org/D24302 llvm-svn: 280955
* Revert "[ESan][MIPS] Adds support for MIPS64"Qin Zhao2016-09-0813-175/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This reverts commit 62b3eecdbe72af0255f0639b0446087a47efbf48. (D23799) The CL cause 13 ESan test failure on x86_64: Failing Tests (13): EfficiencySanitizer-x86_64 :: TestCases/large-stack-linux.c EfficiencySanitizer-x86_64 :: TestCases/libc-intercept.c EfficiencySanitizer-x86_64 :: TestCases/mmap-shadow-conflict.c EfficiencySanitizer-x86_64 :: TestCases/struct-simple.cpp EfficiencySanitizer-x86_64 :: TestCases/verbose-simple.c EfficiencySanitizer-x86_64 :: TestCases/workingset-early-fault.c EfficiencySanitizer-x86_64 :: TestCases/workingset-memset.cpp EfficiencySanitizer-x86_64 :: TestCases/workingset-midreport.cpp EfficiencySanitizer-x86_64 :: TestCases/workingset-samples.cpp EfficiencySanitizer-x86_64 :: TestCases/workingset-signal-posix.cpp EfficiencySanitizer-x86_64 :: TestCases/workingset-simple.cpp EfficiencySanitizer-x86_64 :: Unit/circular_buffer.cpp EfficiencySanitizer-x86_64 :: Unit/hashtable.cpp Unexpected Failures: 13 Reviewers: bruening, slthakur Subscribers: sdardis, kubabrecka, beanz Differential Revision: https://reviews.llvm.org/D24350 llvm-svn: 280954
* [compiler-rt] Don't use -fPIC when building for WindowsFrancis Ricci2016-09-081-1/+3
| | | | | | | | | | | | Summary: This flag doesn't make sense on Windows systems. Reviewers: beanz, kubabrecka, compnerd Subscribers: dberris, llvm-commits, beanz Differential Revision: https://reviews.llvm.org/D24320 llvm-svn: 280953
* [TableGen] AsmMatcher: Add AsmVariantName to Instruction class.Sam Kolton2016-09-083-0/+67
| | | | | | | | | | | | | | Summary: This allows specifying instructions that are available only in specific assembler variant. If AsmVariantName is specified then instruction will be presented only in MatchTable for this variant. If not specified then assembler variants will be determined based on AsmString. Also this allows splitting assembler match tables in same way as it is done in dissasembler. Reviewers: ab, tstellarAMD, craig.topper, vpykhtin Subscribers: wdng Differential Revision: https://reviews.llvm.org/D24249 llvm-svn: 280952
* Remove restriction that 'sret' must be on the first parameterReid Kleckner2016-09-081-4/+3
| | | | | | | | | | On Windows, it is often applied to the second parameter, and the x86 backend is prepared to deal with sret appearing on any parameter. Other backends assume it only appears on parameter zero, but those are target-specific requirements, and not an IR-level rule. llvm-svn: 280951
* Give an x86 assembler test a tripleReid Kleckner2016-09-081-1/+1
| | | | llvm-svn: 280950
* revert r280427Dehao Chen2016-09-083-10/+6
| | | | | | | Refactor replaceDominatedUsesWith to have a flag to control whether to replace uses in BB itself. Summary: This is in preparation for LoopSink pass which calls replaceDominatedUsesWith to update after sinking. llvm-svn: 280949
* Add -polly-flatten-schedule pass.Michael Kruse2016-09-0814-10/+1093
| | | | | | | | | | | | | | | | | | | | | | | | | The -polly-flatten-schedule pass reduces the number of scattering dimensions in its isl_union_map form to make them easier to understand. It is not meant to be used in production, only for debugging and regression tests. To illustrate, how it can make sets simpler, here is a lifetime set used computed by the porposed DeLICM pass without flattening: { Stmt_reduction_for[0, 4] -> [0, 2, o2, o3] : o2 < 0; Stmt_reduction_for[0, 4] -> [0, 1, o2, o3] : o2 >= 5; Stmt_reduction_for[0, 4] -> [0, 1, 4, o3] : o3 > 0; Stmt_reduction_for[0, i1] -> [0, 1, i1, 1] : 0 <= i1 <= 3; Stmt_reduction_for[0, 4] -> [0, 2, 0, o3] : o3 <= 0 } And here the same lifetime for a semantically identical one-dimensional schedule: { Stmt_reduction_for[0, i1] -> [2 + 3i1] : 0 <= i1 <= 4 } Differential Revision: https://reviews.llvm.org/D24310 llvm-svn: 280948
* Handle globs in global symbol names.Rafael Espindola2016-09-082-1/+58
| | | | | | Fixes pr28775. llvm-svn: 280947
* GICHelper: Correctly assign return valueTobias Grosser2016-09-081-1/+1
| | | | | | | | | | ... to preserve reference counting logic. In practice the missing assignment would not have caused any issues. We still fix it as the code is wrong and it also causes noise in the clang static analysis runs. llvm-svn: 280946
* [asan] Fix handle_abort_on_error.cc test on DarwinKuba Brecka2016-09-081-0/+2
| | | | | | | | r280885 added a testcase for handle_abort, which is broken on macOS, let’s add this support into sanitizer_mac.cc. Differential Revision: https://reviews.llvm.org/D24344 llvm-svn: 280945
* Added 'inline' attribute to basic_string's destructorAditya Kumar2016-09-081-0/+1
| | | | | | | | | | | | | | | Author: laxmansole Reviewers: howard.hinnant mclow.lists Subscribers: EricWF, flyingforyou, evandro Differential Revision: https://reviews.llvm.org/D22834 Currently basic_string's destructor is not getting inlined. So adding 'inline' attribute to ~basic_string(). Worked in collaboration with Aditya Kumar. llvm-svn: 280944
* SCEVAffinator: Add missing __isl_take annotationsTobias Grosser2016-09-081-1/+2
| | | | llvm-svn: 280943
* Fix for rL280668, Intel(R) Memory Protection Extensions (Intel(R) MPX) support.Valentina Giusti2016-09-0817-21/+639
| | | | | | | | | | | | Summary: Signed-off-by: Valentina Giusti <valentina.giusti@intel.com> Reviewers: dvlahovski, granata.enrico, clayborg, labath Subscribers: lldb-commits Differential Revision: https://reviews.llvm.org/D24255 llvm-svn: 280942
* Use a protected destructor instead of a virtual one.Rafael Espindola2016-09-081-1/+3
| | | | llvm-svn: 280941
OpenPOWER on IntegriCloud