summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix one more warning.Zachary Turner2018-08-021-0/+1
| | | | llvm-svn: 338742
* [c-index-test] Use correct executable path to discover resource directory.Volodymyr Sapsai2018-08-021-5/+10
| | | | | | | | | | | | | | | | | Driver builds resource directory path based on provided executable path. Instead of string "clang" use actual executable path. rdar://problem/42699514 Reviewers: nathawes, akyrtzi, bob.wilson Reviewed By: akyrtzi Subscribers: dexonsmith, cfe-commits Differential Revision: https://reviews.llvm.org/D50160 llvm-svn: 338741
* Update the LLVM VS integration to sign the assembly.Zachary Turner2018-08-022-9/+10
| | | | llvm-svn: 338740
* Fix a couple of warnings.Zachary Turner2018-08-021-1/+2
| | | | llvm-svn: 338739
* [clang-doc] Refactoring mapper to map by scopeJulie Hockett2018-08-0236-1629/+4149
| | | | | | | | | | | The result of this adjusted mapper pass is that all Function and Enum infos are absorbed into the info of their enclosing scope (i.e. the class or namespace in which they are defined). Namespace and Record infos are passed along to the final output, but the second pass creates a reference to each in its parent scope. As a result, the top-level final outputs are Namespaces and Records. llvm-svn: 338738
* Use %.*s instead of %*s when formatting strings with explicit length.Zachary Turner2018-08-021-2/+2
| | | | llvm-svn: 338737
* [MS Demangler] Resolve back-references lazily.Zachary Turner2018-08-021-87/+106
| | | | | | | | | | | We need to both record and resolve back-references lazily due to not being able to know until a demangling is complete whether or not a name should go into the back-reference table.. This patch implements lazy resolution of back-references, but we still have eager recording of back-references. This will be fixed in a subsequent patch. llvm-svn: 338736
* [X86] Allow fake unary unpckhpd and movhlps to be commuted for execution ↵Craig Topper2018-08-029-111/+138
| | | | | | | | | | | | domain fixing purposes These instructions perform the same operation, but the semantic of which operand is destroyed is reversed. If the same register is used as both operands we can change the execution domain without worrying about this difference. Unfortunately, this really only works in cases where the input register is killed by the instruction. If its not killed, the two address isntruction pass inserts a copy that will become a move instruction. This makes the instruction use different physical registers that contain the same data at the time the unpck/movhlps executes. I've considered using a unary pseudo instruction with tied operand to trick the two address instruction pass. We could then expand the pseudo post regalloc to get the same physical register on both inputs. Differential Revision: https://reviews.llvm.org/D50157 llvm-svn: 338735
* Add support for ARM and ARM64 breakpad generated minidump filesGreg Clayton2018-08-0216-91/+1860
| | | | | | | | In this patch I add support for ARM and ARM64 break pad files. There are two flavors of ARM: Apple where FP is R7, and non Apple where FP is R11. Added minimal tests that load up ARM64 and the two flavors or ARM core files with a single thread and known register values in each register. Each register is checked for the exact value. Differential Revision: https://reviews.llvm.org/D49750 llvm-svn: 338734
* Add byte counting mechanism to LLDB's Stream class.Raphael Isemann2018-08-0211-39/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch allows LLDB's Stream class to count the bytes it has written to so far. There are two major motivations for this patch: The first one is that this will allow us to get rid of all the handwritten byte counting code we have in LLDB so far. Examples for this are pretty much all functions in LLDB that take a Stream to write to and return a size_t, which usually represents the bytes written. By moving to this centralized byte counting mechanism, we hopefully can avoid some tricky errors that happen when some code forgets to count the written bytes while writing something to a stream. The second motivation is that this is needed for the migration away from LLDB's `Stream` and towards LLVM's `raw_ostream`. My current plan is to start offering a fake raw_ostream class that just forwards to a LLDB Stream. However, for this raw_ostream wrapper we need to fulfill the raw_ostream interface with LLDB's Stream, which currently lacks the ability to count the bytes written so far (which raw_ostream exposes by it's `tell()` method). By adding this functionality it is trivial to start rolling out our raw_ostream wrapper (and then eventually completely move to raw_ostream). Also, once this fake raw_ostream is available, we can start replacing our own code writing to LLDB's Stream by LLVM code writing to raw_ostream. The best example for this is the LEB128 encoding we currently ship, which can be replaced with by LLVM's version which accepts an raw_ostream. From the point of view of the pure source changes this test does, we essentially just renamed the Write implementation in Stream to `WriteImpl` while the `Write` method everyone is using to write its raw bytes is now just forwarding and counting the written bytes. Reviewers: labath, davide Reviewed By: labath Subscribers: JDevlieghere, lldb-commits Differential Revision: https://reviews.llvm.org/D50159 llvm-svn: 338733
* [analyzer] Make RegionVector use const referenceFangrui Song2018-08-021-10/+7
| | | | llvm-svn: 338732
* [SLC] Refactor simplification of pow() (NFC)Evandro Menezes2018-08-021-1/+1
| | | | llvm-svn: 338730
* [X86][SSE] Add uniform/non-uniform exact sdiv vector tests covering all pathsSimon Pilgrim2018-08-021-14/+110
| | | | | | Regenerated tests and tested on 64-bit (AVX2) as well. llvm-svn: 338729
* [InstCombine] [NFC] Tests for select with binop foldDavid Bolvansky2018-08-021-56/+186
| | | | llvm-svn: 338727
* [LLD][ELF] - Remove dead check from adjustSplitStackFunctionPrologues().George Rimar2018-08-021-6/+1
| | | | | | | In according to the comment, undefined symbol should never reach there. So, should be able to remove the check. I am assuming this is NFC. llvm-svn: 338723
* [LLD][ELF] - An attemp to fix BB after rL338718.George Rimar2018-08-021-1/+2
| | | | | | | BB is unhappy :`-( http://lab.llvm.org:8011/builders/lld-perf-testsuite/builds/5632 llvm-svn: 338722
* [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
OpenPOWER on IntegriCloud