summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [OMPT] Disable by default on WindowsJonas Hahnfeld2018-08-022-2/+2
| | | | | | | | | | This is broken per PR36561 and PR36574, so disable it for now until somebody interested can take a look. OMPT can still be activated manually by passing -DLIBOMP_OMPT_SUPPORT=ON during configuration. Differential Revision: https://reviews.llvm.org/D50086 llvm-svn: 338721
* [tests] Add annotations for taskloop featuresJonas Hahnfeld2018-08-023-0/+16
| | | | | | | | | Only supported since GCC 6 and Intel 17.0. However GCC 6.3.0 is crashing on two of the tests, so disable them as well... Differential Revision: https://reviews.llvm.org/D50085 llvm-svn: 338720
* [InstSimplify] move minnum/maxnum with undef fold from instcombineSanjay Patel2018-08-025-46/+36
| | | | llvm-svn: 338719
* [LLD][ELF] - Remove excessive cases from getRelocTargetVA(). NFC.George Rimar2018-08-021-5/+0
| | | | | | | There is no point to explicitly proccess the expressions this patch removes. We already have a llvm_unreachable for the default case. llvm-svn: 338718
* [ARM][NFC] Follow up of r338568Sjoerd Meijer2018-08-021-75/+120
| | | | | | I disabled more tests than necessary, this enables them. llvm-svn: 338717
* [ValueTracking] fix maxnum miscompile for cannotBeOrderedLessThanZero (PR37776)Sanjay Patel2018-08-022-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the NAN checks suggested in PR37776: https://bugs.llvm.org/show_bug.cgi?id=37776 If both operands to maxnum are NAN, that should get constant folded, so we don't have to handle that case. This is the same assumption as other FP ops in this function. Returning 'false' is always conservatively correct. Copying from the bug report: Currently, we have this for "when is cannotBeOrderedLessThanZero (mustBePositiveOrNaN) true for maxnum": L ------------------- | Pos | Neg | NaN | ------------------------ |Pos | x | x | x | ------------------------ R |Neg | x | | x | ------------------------ |NaN | x | x | x | ------------------------ The cases with (Neg & NaN) are wrong. We should have: L ------------------- | Pos | Neg | NaN | ------------------------ |Pos | x | x | x | ------------------------ R |Neg | x | | | ------------------------ |NaN | x | | x | ------------------------ Differential Revision: https://reviews.llvm.org/D50081 llvm-svn: 338716
* DAG: Fix vector widening fcanonicalizeMatt Arsenault2018-08-022-0/+21
| | | | llvm-svn: 338715
* AMDGPU: Fix scalarizing v4f16 fcanonicalizeMatt Arsenault2018-08-022-0/+21
| | | | llvm-svn: 338714
* [LLD][ELF] - Remove dead code. NFC.George Rimar2018-08-021-6/+0
| | | | | | | | | | | It does not seem that this code is alive. I seems was needed previously but we fixed it. If it is still needed, it needs new tests, but for now I do not know how to trigger it, and so I removed it. llvm-svn: 338713
* Move ClangHighlighter.cpp to hopefully better place in Xcode project.Tim Northover2018-08-021-2/+2
| | | | | | But with a write-only format, who can really say? llvm-svn: 338712
* [llvm-ar] Fix help text test. NFC.Ben Dunbobbin2018-08-021-1/+1
| | | | | | Missed from @338703 llvm-svn: 338709
* [LLD][ELF] - Remove redundant code. NFC.George Rimar2018-08-021-2/+1
| | | | | | | | Code was never executed with our test cases, though it is valid and I think we can always run it. This improves code coverage. llvm-svn: 338708
* Try to make builtin address space declarations not uselessMatt Arsenault2018-08-0211-76/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The way address space declarations for builtins currently work is nearly useless. The code assumes the address spaces used for builtins is a confusingly named "target address space" from user code using __attribute__((address_space(N))) that matches the builtin declaration. There's no way to use this to declare a builtin that returns a language specific address space. The terminology used is highly cofusing since it has nothing to do with the the address space selected by the target to use for a language address space. This feature is essentially unused as-is. AMDGPU and NVPTX are the only in-tree targets attempting to use this. The AMDGPU builtins certainly do not behave as intended (i.e. all of the builtins returning pointers can never compile because the numbered address space never matches the expected named address space). The NVPTX builtins are missing tests for some, and the others seem to rely on an implicit addrspacecast. Change the used address space for builtins based on a target hook to allow using a language address space for a builtin. This allows the same builtin declaration to be used for multiple languages with similarly purposed address spaces (e.g. the same AMDGPU builtin can be used in OpenCL and CUDA even though the constant address spaces are arbitarily different). This breaks the possibility of using arbitrary numbered address spaces alongside the named address spaces for builtins. If this is an issue we probably need to introduce another builtin declaration character to distinguish language address spaces from so-called "target address spaces". llvm-svn: 338707
* clang-format: fix a crash in comment wraps.Martin Probst2018-08-023-25/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously, clang-format would crash if it tried to wrap an overlong single line comment, because two parts of the code inserted a break in the same location. /** heregoesalongcommentwithnospace */ This wasn't previously noticed as it could only trigger for an overlong single line comment that did have no breaking opportunities except for a whitespace at the very beginning. This also introduces a check for JavaScript to not ever wrap a comment before an opening curly brace: /** @mods {donotbreakbeforethecurly} */ This is because some machinery parsing these tags sometimes supports breaks before a possible `{`, but in some other cases does not. Previously clang-format was careful never to wrap a line with certain tags on it. The better solution is to specifically disable wrapping before the problematic token: this allows wrapping and aligning comments but still avoids the problem. Reviewers: krasimir Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D50177 llvm-svn: 338706
* [lld] Make tests calling llvm-ar more robustChris Jackson2018-08-0219-1/+20
| | | | | | | | | | | Some lit tests that call llvm-ar use the 'r' flag. If the target archive already exists and is in a corrupt state, this can cause the test to fail. We have added 'rm -f' calls before the llvm-ar calls to increase the robustness of the tests. Differential revision: https://reviews.llvm.org/D49184 llvm-svn: 338705
* [llvm-ar] Correct help textBen Dunbobbin2018-08-021-29/+27
| | | | | | | | | | | Corrected and simplified the help text. It was clearly too difficult to maintain before (see e.g. @227296) making it simpler and more consistent it should help people keep it up to date. Differential Revision: https://reviews.llvm.org/D48577 llvm-svn: 338703
* [llvm-mca] Use a vector to store ResourceState objects in the ResourceManager.Andrea Di Biagio2018-08-022-81/+70
| | | | | | | | | | | | | | | We don't need to use a map to store ResourceState objects. The number of processor resources is known statically from the scheduling model. We can therefore use a vector, and reserve a slot for each processor resource that we want to simulate. Every time the ResourceManager queries the ResourceState vector, the index to the vector of ResourceState objects can be easily computed from the processor resource mask. This drastically reduces the time complexity of method ResourceManager::use() and method ResourceManager::release(). This patch gives an average speedup of 12%. llvm-svn: 338702
* [llvm-exegesis] Rename InstructionInstance into InstructionBuilder.Guillaume Chatelet2018-08-0210-129/+129
| | | | | | | | | | Summary: Non functional change. Subscribers: tschuett, courbet, llvm-commits Differential Revision: https://reviews.llvm.org/D50176 llvm-svn: 338701
* Add header guard to asan_report.hFilipe Cabecinhas2018-08-021-0/+4
| | | | llvm-svn: 338700
* [LLD][ELF] - Simplify. NFC.George Rimar2018-08-021-6/+1
| | | | | | | | isHeaderSection can be useful I believe, but probably not right now and not for this case. llvm-svn: 338699
* [X86][SSE] Add more UDIV nonuniform-constant vector testsSimon Pilgrim2018-08-021-0/+238
| | | | | | Ensure we cover all paths for vector data as requested on D49248 llvm-svn: 338698
* [LLD] Do not overwrite LMAOffset of PT_LOAD headerGeorge Rimar2018-08-023-8/+55
| | | | | | | | | | | | Patch by Konstantin Schwarz! If more than a single output section is added to a PT_LOAD header, only the first section should set the LMAOffset of the segment. Otherwise, we get a load-address overlap error Differential revision: https://reviews.llvm.org/D50133 llvm-svn: 338697
* Replace hardcoded format styles in a few tools with the default style in ↵Eric Liu2018-08-024-6/+10
| | | | | | libFormat. llvm-svn: 338696
* Unit test for Symtab::InitNameIndexesStefan Granitz2018-08-023-1/+261
| | | | | | | | | | | | | | Summary: In order to exploit the potential of LLVM's new ItaniumPartialDemangler for indexing in LLDB, we expect conceptual changes in the implementation of the InitNameIndexes function. Here is a unit test that aims at covering all relevant code paths in that function. Reviewers: labath, jingham, JDevlieghere Reviewed By: JDevlieghere Subscribers: friss, teemperor, davide, clayborg, erik.pilkington, lldb-commits, mgorny Differential Revision: https://reviews.llvm.org/D49909 llvm-svn: 338695
* Add include guardStefan Granitz2018-08-021-0/+5
| | | | | | | | | | | | Summary: Add missing include guard LLVM_DEMANGLE_DEMANGLE_H in llvm/Demangle/Demangle.h Reviewers: erik.pilkington Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D50042 llvm-svn: 338694
* [X86][SSE] Pull out duplicate VSELECT to shuffle mask code. NFCI.Simon Pilgrim2018-08-021-27/+29
| | | | llvm-svn: 338693
* [GlobalISel] Fix typo with missed override specifierAlexander Ivchenko2018-08-021-1/+1
| | | | llvm-svn: 338689
* [emacs] Indent statement continuation to match clang-formatAndrew Savonichev2018-08-021-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Was: int LongVariableName = veryLongFunctionNameThatExceeds80ColumnsRule(SomeParameter); int ShortVar = veryLongFunctionNameThatStillFitsIntoOneLine(SomeParameter) .nowThisDoesntFit() .andThis() Now: int LongVariableName = veryLongFunctionNameThatExceeds80ColumnsRule(SomeParameter); int ShortVar = veryLongFunctionNameThatStillFitsIntoOneLine(SomeParameter) .nowThisDoesntFit() .andThis() Reviewers: espindola, MaskRay Reviewed By: MaskRay Subscribers: greened, llvm-commits Differential Revision: https://reviews.llvm.org/D49726 llvm-svn: 338686
* [GlobalISel] Rewrite CallLowering::lowerReturn to accept multiple VRegs per ↵Alexander Ivchenko2018-08-0216-128/+425
| | | | | | | | | | Value This is logical continuation of https://reviews.llvm.org/D46018 (r332449) Differential Revision: https://reviews.llvm.org/D49660 llvm-svn: 338685
* [LLD] Only increase LMARegion if different from MemRegionGeorge Rimar2018-08-023-1/+37
| | | | | | | | | | | | Patch by Konstantin Schwarz! If both the MemRegion and LMARegion are set for an output section in a linker script, we should only increase the LMARegion if it is different from the MemRegion. Otherwise, we reserve the memory twice. Differential revision: https://reviews.llvm.org/D50065 llvm-svn: 338684
* utils/release/tag.sh: add debuginfo-tests to project listHans Wennborg2018-08-021-1/+1
| | | | llvm-svn: 338682
* [LLD] - Improve handling of AT> linker script commandsGeorge Rimar2018-08-023-5/+48
| | | | | | | | | | | | | Patch by Konstantin Schwarz! The condition to create a new phdr must also check the usage of "AT>" linker script command, and create a new PT_LOAD header if a new LMARegion is used. This fixes PR38307 Differential revision: https://reviews.llvm.org/D50052 llvm-svn: 338679
* lit: bump version numberHans Wennborg2018-08-021-1/+1
| | | | llvm-svn: 338677
* [UnJ] Add debug messages for why loops are not unrolled. NFCDavid Green2018-08-021-18/+55
| | | | | | | | | | Adds some cleaned up debug messages from back when I was writing this. Hopefully useful to others (and myself) as to why unroll and jam is not transforming as expected. Differential Revision: https://reviews.llvm.org/D50062 llvm-svn: 338676
* Test commit accessMichael Wu2018-08-021-1/+0
| | | | llvm-svn: 338675
* [AArch64] Add support for got relocated LDR'sDavid Green2018-08-024-0/+16
| | | | | | | | | | As a part of adding the tiny codemodel, we need to support ldr's with :got: relocations on them. This seems to be mostly already done, just needs the relocation type support. Differential Revision: https://reviews.llvm.org/D50137 llvm-svn: 338673
* Test commit.Kito Cheng2018-08-021-1/+1
| | | | llvm-svn: 338672
* [LICM] Factor out fault legality from canHoistOrSinkInst [NFC]Philip Reames2018-08-023-25/+25
| | | | | | | | | This method has three callers, each of which wanted distinct handling: 1) Sinking into a loop is moving an instruction known to execute before a loop into the loop. We don't need to worry about introducing a fault at all in this case. 2) Hoisting from a loop into a preheader already duplicated the check in the caller. 3) Sinking from the loop into an exit block was the only true user of the code within the routine. For the moment, this has just been lifted into the caller, but up next is examining the logic more carefully. Whitelisting of loads and calls - while consistent with the previous code - is rather suspicious. Either way, a behavior change is worthy of it's own patch. llvm-svn: 338671
* [LICM] Expand tests to highlight an oddity in sinking implementationPhilip Reames2018-08-021-0/+33
| | | | llvm-svn: 338670
* Added missing highlighter files to XCode projectRaphael Isemann2018-08-021-0/+16
| | | | llvm-svn: 338669
* Implement P1023: constexpr comparison operators for std::arrayMarshall Clow2018-08-023-10/+56
| | | | llvm-svn: 338668
* [analyzer] Extend NoStoreFuncVisitor to follow fields.George Karpenkov2018-08-024-131/+423
| | | | | | | | rdar://39701823 Differential Revision: https://reviews.llvm.org/D49901 llvm-svn: 338667
* Implement P0887: The identity metafunctionMarshall Clow2018-08-022-0/+50
| | | | llvm-svn: 338666
* Fix FCOPYSIGN expansionLei Liu2018-08-022-19/+34
| | | | | | | | | | | | In expansion of FCOPYSIGN, the shift node is missing when the two operands of FCOPYSIGN are of the same size. We should always generate shift node (if the required shift bit is not zero) to put the sign bit into the right position, regardless of the size of underlying types. Differential Revision: https://reviews.llvm.org/D49973 llvm-svn: 338665
* Pass triple to RUN line to fix failing bots.Akira Hatanaka2018-08-021-2/+2
| | | | | | This is a follow-up to r338656. llvm-svn: 338664
* [LICM] hoisting/sinking legality - bail early for unsupported instructionsPhilip Reames2018-08-021-8/+19
| | | | | | Originally, this was part of a larger refactoring I'd planned, but had to abandoned. I figured the minor improvement in readability was worthwhile. llvm-svn: 338663
* [LLDB] Added syntax highlighting supportRaphael Isemann2018-08-0231-8/+942
| | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds syntax highlighting support to LLDB. When enabled (and lldb is allowed to use colors), printed source code is annotated with the ANSI color escape sequences. So far we have only one highlighter which is based on Clang and is responsible for all languages that are supported by Clang. It essentially just runs the raw lexer over the input and then surrounds the specific tokens with the configured escape sequences. Reviewers: zturner, davide Reviewed By: davide Subscribers: labath, teemperor, llvm-commits, mgorny, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D49334 llvm-svn: 338662
* [libFuzzer] use absolute distance in addition to the hamming distance in ↵Kostya Serebryany2018-08-022-11/+6
| | | | | | value profiling; our A/B testing have (somewhat weak) indication that this provides an additional signal for corpus expansion llvm-svn: 338661
* [ADT] Add some documentation for GraphTraits.Tim Shen2018-08-021-0/+7
| | | | | | | | | | | | Summary: Add some context for GraphTraits. Reviewers: dblaikie, asbirlea Subscribers: sanjoy, jlebar, bixia, dexonsmith, llvm-commits Differential Revision: https://reviews.llvm.org/D50120 llvm-svn: 338660
* [JSONExporter] Print instead of ignoring parser error.Michael Kruse2018-08-021-2/+3
| | | | | | | | | | | Silence the warning warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result] JSONExporter is a developer tool, there is no mechanism for error handling. Print the parser error and abort with a fatal error. llvm-svn: 338659
OpenPOWER on IntegriCloud