summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove unnecessary condition as suggested by clang-tidy. NFCGabor Horvath2017-04-191-4/+2
| | | | | | | | Patch by: Gergely Angeli! Differential Revision: https://reviews.llvm.org/D31938 llvm-svn: 300703
* [RDF] Cache register units for reg masks instead of recalculating themKrzysztof Parzyszek2017-04-192-31/+29
| | | | llvm-svn: 300702
* [Hexagon] Cache reached blocks in bit tracker instead of scanning listKrzysztof Parzyszek2017-04-192-10/+10
| | | | llvm-svn: 300701
* [PowerPC] add test and auto-generate checks; NFCSanjay Patel2017-04-191-19/+33
| | | | llvm-svn: 300700
* [clang-tidy] misc-misplaced-widening-cast: Disable checking of implicit ↵Gabor Horvath2017-04-192-1/+1
| | | | | | | | | | widening casts by default. Patch by Ádám Balogh! Differential Revision: https://reviews.llvm.org/D32164 llvm-svn: 300699
* [ARM] add test and auto-generate checks; NFCSanjay Patel2017-04-191-122/+440
| | | | llvm-svn: 300698
* Using address range map to speedup finding inline stack for address.Dehao Chen2017-04-194-52/+58
| | | | | | | | | | | | | | | | | | | | Summary: In the current implementation, to find inline stack for an address incurs expensive linear search in 2 places: * linear search for the top-level DIE * recursive linear traverse the DIE tree to find the path to the leaf DIE In this patch, a map is built from address to its corresponding leaf DIE. The inline stack is built by traversing from the leaf DIE up to the root DIE. This speeds up batch symbolization by ~10X without noticible memory overhead. Reviewers: dblaikie Reviewed By: dblaikie Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D32177 llvm-svn: 300697
* [InstSimplify] Deduce correct type for vector GEP.Davide Italiano2017-04-192-1/+27
| | | | | | | | | | InstSimplify returned the wrong type when simplifying a vector GEP and we ended up crashing when trying to replace all uses with the new value. Fixes PR32697. Differential Revision: https://reviews.llvm.org/D32180 llvm-svn: 300693
* Let ubsan search UBSAN_SYMBOLIZER_PATH for llvm-symbolizerNico Weber2017-04-191-0/+1
| | | | | | https://reviews.llvm.org/D27375 llvm-svn: 300692
* Implement function to get registers from suspended thread on darwinFrancis Ricci2017-04-191-2/+43
| | | | | | | | | | Reviewers: kubamracek, alekseyshl Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D32182 llvm-svn: 300691
* Move valid caller-pc checks out of platform-specific checksFrancis Ricci2017-04-194-64/+77
| | | | | | | | | | | | | | | | | | | | | | Summary: ProcessPlatformSpecificAllocations for linux leak sanitizer iterated over memory chunks and ran two checks concurrently: 1) Ensured the pc was valid 2) Checked whether it was a linker allocation All platforms will need the valid pc check, so it is moved out of the platform- specific file. To prevent code and logic duplication, the linker allocation check is moved as well, with the name of the linker supplied by the platform-specific module. In cases where we don't need to check for linker allocations (ie Darwin), this name will be a nullptr, and we'll only run the caller pc checks. Reviewers: kubamracek, alekseyshl, kcc Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D32130 llvm-svn: 300690
* [Driver] Unify linking of OpenMP runtime. NFCI.Jonas Hahnfeld2017-04-194-38/+33
| | | | | | | | While at it, extend test for FreeBSD and check for -lrt iff on Linux. Differential Revision: https://reviews.llvm.org/D30087 llvm-svn: 300689
* [DAG] Loop over remaining candidates on successful merge of stores ofNirav Dave2017-04-191-30/+43
| | | | | | extracted vectors types. NFCI. llvm-svn: 300688
* [ELF] Always use Script::assignAddresses()Peter Smith2017-04-194-40/+67
| | | | | | | | | | | | | | | | | | | This change fabricates linker script commands for the case where there is no linker script SECTIONS to control address assignment. This permits us to have a single Script->assignAddresses() function. There is a small change in user-visible-behavior with respect to the handling of .tbss SHT_NOBITS, SHF_TLS as the Script->assignAddresses() requires setDot() to be called with monotically increasing addresses. The tls-offset.s test has been updated so that the script and non-script results match. This change should make the non-script behavior of lld closer to an equivalent linker script. Differential Revision: https://reviews.llvm.org/D31888 llvm-svn: 300687
* Avoid assert when a non-static member function is qualified with __unalignedRoger Ferrer Ibanez2017-04-192-1/+23
| | | | | | | | | | | | | | | Under -fms-extensions __unaligned is a type-qualifier that can be applied to a non-static member function declaration. This causes an assertion when mangling the name under Itanium, where that qualifier is not mangled. This patch justs makes the minimal change to avoid the crash and avoid mangling __unaligned, as it currently happens with non-member functions. Differential Revision: https://reviews.llvm.org/D31976 llvm-svn: 300686
* Write multiple REQUIRES in one line.Rui Ueyama2017-04-191-2/+1
| | | | llvm-svn: 300685
* [AVR] Remove the 'multibyte' asm testDylan McKay2017-04-191-135/+0
| | | | | | It tests registers which are not actually used on AVR. llvm-svn: 300684
* Regenerate test. NFCI.Simon Pilgrim2017-04-191-8/+9
| | | | llvm-svn: 300683
* [AVR] Fix the test suiteDylan McKay2017-04-194-35/+40
| | | | | | | | | | | | A bunch of tests failed because memory operations have been reordered. I am unsure which commit changed this behaviour as the AVR build was failing at that point with an unrelated error. This commit just reoders some of the CHECK lines in some tests to suit current llc output. llvm-svn: 300682
* Fix buildbot failure.Rui Ueyama2017-04-191-1/+1
| | | | llvm-svn: 300681
* Rename a test file so that it matches with the option name it is testing.Rui Ueyama2017-04-191-0/+0
| | | | llvm-svn: 300679
* [GlobalIsel][X86] support G_TRUNC selection.Igor Breger2017-04-196-0/+361
| | | | | | | | | | | | | | | | Summary: [GlobalIsel][X86] support G_TRUNC selection. Add regbank-select and legalizer tests. Currently legalization of trunc i64 on 32bit platform not supported. Reviewers: ab, zvi, rovka Reviewed By: zvi Subscribers: dberris, kristof.beyls, llvm-commits Differential Revision: https://reviews.llvm.org/D32115 llvm-svn: 300678
* Remove a redundant test.Rui Ueyama2017-04-191-29/+0
| | | | | | | We already have compress-debug-output.s, and that test should suffice for the -compressed-debug-section option. llvm-svn: 300677
* Update comment.Rui Ueyama2017-04-191-2/+3
| | | | llvm-svn: 300676
* Rename CompressedHeader ZDebugHeader.Rui Ueyama2017-04-192-6/+6
| | | | | | | `CompressedHeader` is a header for compressed data, and the header itself is not compressed. So the previous name was confusing. llvm-svn: 300675
* Simplify createHeader and inline it.Rui Ueyama2017-04-191-42/+20
| | | | | | | | createHeader didn't use data members of Elf_Chdr type and write directly to a given buffer. That is not a good practice because the function had a knowledge of the struct layout. llvm-svn: 300674
* Fallthrough to reduce code a bit. NFC.Rui Ueyama2017-04-191-3/+2
| | | | llvm-svn: 300673
* [X86] Add D32039/PR31357 tests to show current BSWAP codegenSimon Pilgrim2017-04-192-0/+255
| | | | llvm-svn: 300672
* [X86][SSE] Add scheduling latency/throughput tests for (most) SSE2 instructionsSimon Pilgrim2017-04-191-0/+6039
| | | | llvm-svn: 300671
* Fix TestRegisterVariables for clang/armPavel Labath2017-04-191-2/+11
| | | | | | | | Clang rejects __attribute__((regparm)) when targetting arm. The default calling convention passes arguments in registers anyway, so we can just remove them in this case. llvm-svn: 300670
* Revert yesterdays IPv6 patchesPavel Labath2017-04-1928-665/+485
| | | | | | | | | | | | | The break the linux bots (and probably any other machine which would run the test suite in a massively parallel way). The problem is that it can happen that we only successfully create an IPv6 listening socket (because the relevant IPv4 port is used by another process) and then the connecting side attempts to connect to the IPv4 port and fails. It's not very obvious how to fix this problem, so I am reverting this until we come up with a solution. llvm-svn: 300669
* Revert "ARMFrameLowering: Reserve emergency spill slot for large arguments"Renato Golin2017-04-192-135/+8
| | | | | | This reverts commit r300639, as it broke self-hosting on ARM. PR32709. llvm-svn: 300668
* Add support for editor placeholders to ClangAlex Lorenz2017-04-1916-5/+172
| | | | | | | | | | | | | | | | | | | | | This commit teaches Clang to recognize editor placeholders that are produced when an IDE like Xcode inserts a code-completion result that includes a placeholder. Now when the lexer sees a placeholder token, it emits an 'editor placeholder in source file' error and creates an identifier token that represents the placeholder. The parser/sema can now recognize the placeholders and can suppress the diagnostics related to the placeholders. This ensures that live issues in an IDE like Xcode won't get spurious diagnostics related to placeholders. This commit also adds a new compiler option named '-fallow-editor-placeholders' that silences the 'editor placeholder in source file' error. This is useful for an IDE like Xcode as we don't want to display those errors in live issues. rdar://31581400 Differential Revision: https://reviews.llvm.org/D32081 llvm-svn: 300667
* [GlobalISel][X86] Split select tests. NFC.Igor Breger2017-04-197-444/+455
| | | | llvm-svn: 300666
* [ARM] GlobalISel: Add support for G_MULDiana Picus2017-04-197-2/+338
| | | | | | | | Support G_MUL, very similar to G_ADD and G_SUB. The only difference is in the instruction selector, where we have to select either MUL or MULv5 depending on the target. llvm-svn: 300665
* [GlobalISel] Support vector-of-pointers in LLTKristof Beyls2017-04-197-69/+213
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes PR32471. As comment 10 on that bug report highlights (https://bugs.llvm.org//show_bug.cgi?id=32471#c10), there are quite a few different defendable design tradeoffs that could be made, including not representing pointers at all in LLT. I decided to go for representing vector-of-pointer as a concept in LLT, while keeping the size of the LLT type 64 bits (this is an increase from 48 bits before). My rationale for keeping pointers explicit is that on some targets probably it's very handy to have the distinction between pointer and non-pointer (e.g. 68K has a different register bank for pointers IIRC). If we keep a scalar pointer, it probably is easiest to also have a vector-of-pointers to keep LLT relatively conceptually clean and orthogonal, while we don't have a very strong reason to break that orthogonality. Once we gain more experience on the use of LLT, we can of course reconsider this direction. Rejecting vector-of-pointer types in the IRTranslator is also an option to avoid the crash reported in PR32471, but that is only a very short-term solution; also needs quite a bit of code tweaks in places, and is probably fragile. Therefore I didn't consider this the best option. llvm-svn: 300664
* [GlobalISel] Remove non-determinism from IRTranslator.Kristof Beyls2017-04-191-12/+16
| | | | | | | | | | | This showed up in r300535/r300537, which were reverted in r300538 due to some of the introduced tests in there failing on some bots, due to the non-determinism fixed in this commit. Re-committing r300535/r300537 will add 2 tests for the change in this commit. llvm-svn: 300663
* Revert r300657 due to crashes in stage2 of bootstraps:Chandler Carruth2017-04-192-116/+0
| | | | | | | | | | | | http://lab.llvm.org:8011/builders/clang-with-lto-ubuntu/builds/2476/steps/build-stage2-LLVMgold.so/logs/stdio http://bb.pgr.jp/builders/clang-3stage-x86_64-linux/builds/15036/steps/build_llvmclang/logs/stdio I've updated the commit thread, reverting to get the bots back to green. Original commit summary: [JumpThread] We want to fold (not thread) when all predecessor go to single BB's successor. llvm-svn: 300662
* clang-format: Properly match parens of macro parameter lists.Daniel Jasper2017-04-191-3/+4
| | | | | | | No tests yet, but this will be tested by the upcoming: https://reviews.llvm.org/D28462 llvm-svn: 300661
* [XRay][compiler-rt] Fix up CFI annotations and stack alignmentDean Michael Berris2017-04-191-43/+46
| | | | | | | | | | | | | | | | | | | Summary: Previously, we had been very undisciplined about CFI annotations with the XRay trampolines. This leads to runtime crashes due to mis-alined stack pointers that some function implementations may run into (i.e. those using instructions that require properly aligned addresses coming from the stack). This patch attempts to clean that up, as well as more accurately use the correct amounts of space on the stack for stashing and un-stashing registers. Reviewers: eugenis, kcc Subscribers: kpw, llvm-commits Differential Revision: https://reviews.llvm.org/D32202 llvm-svn: 300660
* Revert r300653 and r300650. The underlying commit fixes one issue withChandler Carruth2017-04-195-67/+46
| | | | | | | | | | modules but exposes much more widespread issues. Example and more information is on the review thread for r300650. Original commit summary: [modules] Properly look up the owning module for an instantiation of a merged template. llvm-svn: 300659
* [CodeGen] Use APInt::lshrInPlace instead of APInt::lshr. NFCCraig Topper2017-04-191-3/+3
| | | | llvm-svn: 300658
* [JumpThread] We want to fold (not thread) when all predecessor go to single ↵Xin Tong2017-04-192-0/+116
| | | | | | | | | | | | | | | | BB's successor. . Summary: In case all predecessor go to a single successor of current BB. We want to fold (not thread). Reviewers: efriedma, sanjoy Reviewed By: sanjoy Subscribers: dberlin, majnemer, llvm-commits Differential Revision: https://reviews.llvm.org/D30869 llvm-svn: 300657
* Cleanup some GraphTraits iteration codeTim Shen2017-04-196-114/+65
| | | | | | | | | | | | | | | | | | | | Use children<> and nodes<> in appropriate places to cleanup the code. Also, as part of the cleanup, change the signature of DominatorTreeBase's Split. It is a protected non-virtual member function called only twice, both from within the class, and the removed passed argument in both cases is '*this'. The reason for the existence of that argument seems to be that back before r43115 Split was a free function, so an argument to get '*this' was needed - but now that is no longer the case. Patch by Yoav Ben-Shalom! Differential Revision: https://reviews.llvm.org/D32118 llvm-svn: 300656
* ARM: Use methods to access data stored with frame instructionsSerge Pavlov2017-04-193-8/+27
| | | | | | | | | | | In r300196 several methods were added to TarfetInstrInfo to access data stored with call frame setup/destroy instructions. This change replaces calls to getOperand with calls to such special methods in ARM target. Differential Revision: https://reviews.llvm.org/D32127 llvm-svn: 300655
* [CMake] Add configure check for sys/event.hChris Bieneman2017-04-191-0/+1
| | | | | | This enables the kqueue path in MainLoop for Darwin and BSD. llvm-svn: 300654
* Fix member function call with null 'this' pointer.Richard Smith2017-04-191-3/+7
| | | | llvm-svn: 300653
* Fix tests for extended noexcept in the container adaptors testsEric Fiselier2017-04-196-9/+12
| | | | llvm-svn: 300652
* Remove buggy 'addAttributes(unsigned, AttrBuilder)' overloadReid Kleckner2017-04-193-24/+20
| | | | | | | | | | The 'addAttributes(unsigned, AttrBuilder)' overload delegated to 'get' instead of 'addAttributes'. Since we can implicitly construct an AttrBuilder from an AttributeSet, just standardize on AttrBuilder. llvm-svn: 300651
* [modules] Properly look up the owning module for an instantiation of a ↵Richard Smith2017-04-195-44/+61
| | | | | | | | | | | | merged template. When looking for the template instantiation pattern of a templated entity, consistently select the definition of the pattern if there is one. This means we'll pick the same owning module when we start instantiating a template that we'll later pick when determining which modules are visible during that instantiation. llvm-svn: 300650
OpenPOWER on IntegriCloud