summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [test] Disable leak checking on a clang crash test on DarwinFrancis Ricci2017-09-291-0/+1
| | | | | | | | | | | | Suspected failure due to LSan's atexit and exit interception behavior. Reviewers: kcc, kubamracek, bogner, hfinkel, alekseyshl, Hahnfeld, gtbercea Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D37810 llvm-svn: 314526
* [Polly] Add dumpPw() and dumpExpanded() functions. NFC.Michael Kruse2017-09-293-43/+452
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These functions print a multi-line and sorted representation of unions of polyhedra. Each polyhedron (basic_{ast/map}) has its own line. First sort key is the polyhedron's hierachical space structure. Secondary sort key is the lower bound of the polyhedron, which should ensure that the polyhedral are printed in approximately ascending order. Example output of dumpPw(): [p_0, p_1, p_2] -> { Stmt0[0] -> [0, 0]; Stmt0[i0] -> [i0, 0] : 0 < i0 <= 5 - p_2; Stmt1[0] -> [0, 2] : p_1 = 1 and p_0 = -1; Stmt2[0] -> [0, 1] : p_1 >= 3 + p_0; Stmt3[0] -> [0, 3]; } In contrast dumpExpanded() prints each point in the sets, unless there is an unbounded dimension that cannot be expandend. This is useful for reduced test cases where the loop counts are set to some constant to understand a bug. Example output of dumpExpanded( { [MemRef_A[i0] -> [i1]] : (exists (e0 = floor((1 + i1)/3): i0 = 1 and 3e0 <= i1 and 3e0 >= -1 + i1 and i1 >= 15 and i1 <= 25)) or (exists (e0 = floor((i1)/3): i0 = 0 and 3e0 < i1 and 3e0 >= -2 + i1 and i1 > 0 and i1 <= 11)) }): { [MemRef_A[0] ->[1]]; [MemRef_A[0] ->[2]]; [MemRef_A[0] ->[4]]; [MemRef_A[0] ->[5]]; [MemRef_A[0] ->[7]]; [MemRef_A[0] ->[8]]; [MemRef_A[0] ->[10]]; [MemRef_A[0] ->[11]]; [MemRef_A[1] ->[15]]; [MemRef_A[1] ->[16]]; [MemRef_A[1] ->[18]]; [MemRef_A[1] ->[19]]; [MemRef_A[1] ->[21]]; [MemRef_A[1] ->[22]]; [MemRef_A[1] ->[24]]; [MemRef_A[1] ->[25]] } Differential Revision: https://reviews.llvm.org/D38349 llvm-svn: 314525
* Fix Modules/{builtin-import.mm,umbrella-header-include-builtin.mm} to be ↵Filipe Cabecinhas2017-09-292-6/+2
| | | | | | | | | | | | | | able to handle non-Darwin targets Summary: Also makes them pass on Darwin, if the default target triple is a Linux triple. Reviewers: bruno, rsmith Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D38364 llvm-svn: 314524
* [dwarfdump][NFC] Consistent printing of address rangesJonas Devlieghere2017-09-294-9/+11
| | | | | | | | | | | | | | This implement the insertion operator for DWARF address ranges so they are consistently printed as [LowPC, HighPC). While a dump method might have felt more consistent, it is used exclusively for printing error messages in the verifier and never used for actual dumping. Hence this approach is more intuitive and creates less clutter at the call sites. Differential revision: https://reviews.llvm.org/D38395 llvm-svn: 314523
* AMDGPU: VALU carry-in and v_cndmask condition cannot be EXECNicolai Haehnle2017-09-299-41/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | The hardware will only forward EXEC_LO; the high 32 bits will be zero. Additionally, inline constants do not work. At least, v_addc_u32_e64 v0, vcc, v0, v1, -1 which could conceivably be used to combine (v0 + v1 + 1) into a single instruction, acts as if all carry-in bits are zero. The llvm.amdgcn.ps.live test is adjusted; it would be nice to combine s_mov_b64 s[0:1], exec v_cndmask_b32_e64 v0, v1, v2, s[0:1] into v_mov_b32 v0, v3 but it's not particularly high priority. Fixes dEQP-GLES31.functional.shaders.helper_invocation.value.* llvm-svn: 314522
* Add missing header definitionFrancis Ricci2017-09-291-0/+1
| | | | llvm-svn: 314521
* Remove recursion from FindModuleForAddress. NFC.Francis Ricci2017-09-291-11/+24
| | | | llvm-svn: 314520
* [ScopBuilder] Fix typo. NFC.Michael Kruse2017-09-292-5/+5
| | | | | | | | Contributed-by: Nandini Singhal <cs15mtech01004@iith.ac.in> Differential Revision: https://reviews.llvm.org/D38322 llvm-svn: 314519
* Refactor android fallback procmaps init. NFC.Francis Ricci2017-09-291-10/+19
| | | | llvm-svn: 314518
* Use the basic cost if a GEP is not used as addressing modeJun Bum Lim2017-09-299-11/+107
| | | | | | | | | | | | | | | | | | | Summary: Currently, getGEPCost() returns TCC_FREE whenever a GEP is a legal addressing mode in the target. However, since it doesn't check its actual users, it will return FREE even in cases where the GEP cannot be folded away as a part of actual addressing mode. For example, if an user of the GEP is a call instruction taking the GEP as a parameter, then the GEP may not be folded in isel. Reviewers: hfinkel, efriedma, mcrosier, jingyue, haicheng Reviewed By: hfinkel Subscribers: javed.absar, llvm-commits Differential Revision: https://reviews.llvm.org/D38085 llvm-svn: 314517
* [SystemZ] implement shouldCoalesce()Jonas Paulsson2017-09-299-6/+112
| | | | | | | | | | | | | | | | | | | Implement shouldCoalesce() to help regalloc avoid running out of GR128 registers. If a COPY involving a subreg of a GR128 is coalesced, the live range of the GR128 virtual register will be extended. If this happens where there are enough phys-reg clobbers present, regalloc will run out of registers (if there is not a single GR128 allocatable register available). This patch tries to allow coalescing only when it can prove that this will be safe by checking the (local) interval in question. Review: Ulrich Weigand, Quentin Colombet https://reviews.llvm.org/D37899 https://bugs.llvm.org/show_bug.cgi?id=34610 llvm-svn: 314516
* Fix spelling in comments. NFCI.Simon Pilgrim2017-09-291-2/+2
| | | | llvm-svn: 314515
* [X86] Improve codegen for inverted overflow checking intrinsics.Amara Emerson2017-09-292-24/+32
| | | | | | | | Adds a new combine for: xor(setcc cc, val), 1 --> setcc (invert(cc), val) Differential Revision: https://reviews.llvm.org/D38161 llvm-svn: 314514
* [test] Fix uninitialized memory in omp_taskloop_grainsize.cJonas Hahnfeld2017-09-291-1/+2
| | | | | | result was never initialized to zero which sometimes failed the test. llvm-svn: 314513
* [CMake] Fix configuration on PowerPC with sanitizersJonas Hahnfeld2017-09-291-0/+6
| | | | | | | | | TEST_BIG_ENDIAN() performs compile tests that will fail with -nodefaultlibs when building under LLVM_USE_SANITIZER. Differential Revision: https://reviews.llvm.org/D38277 llvm-svn: 314512
* [ARM] v8.3-a complex number supportSam Parker2017-09-2910-2/+610
| | | | | | | | | | | | | | | New instructions are added to AArch32 and AArch64 to aid floating-point multiplication and addition of complex numbers, where the complex numbers are packed in a vector register as a pair of elements. The Imaginary part of the number is placed in the more significant element, and the Real part of the number is placed in the less significant element. This patch adds assembler for the ARM target. Differential Revision: https://reviews.llvm.org/D36789 llvm-svn: 314511
* Small modification <NFC>Michael Zuckerman2017-09-291-1/+1
| | | | | Change-Id: I360abccee12cae29bd2ac4f8399c9ecc92eb7f13 llvm-svn: 314510
* [docs][refactor] Add refactoring engine design documentationAlex Lorenz2017-09-292-0/+254
| | | | | | | | | This commit adds a refactoring engine design document that talks about the design and provides several example of how the engine can be used. Differential Revision: https://reviews.llvm.org/D37976 llvm-svn: 314509
* Fix Wmismatched-tags warning. Simon Pilgrim2017-09-291-1/+3
| | | | | | InlineAsmIdentifierInfo was declared a class in some places and a class in others. llvm-svn: 314508
* [mips] Reordering callseq* nodes to be linearAleksandar Beserminji2017-09-299-36/+38
| | | | | | | | | | | | | Fix nested callseq* nodes by moving callseq_start after the arguments calculation to temporary registers, so that callseq* nodes in resulting DAG are linear. Recommitting r314497. This version does not contain test which fails when compiler is not build in debug mode. Differential Revision: https://reviews.llvm.org/D37328 llvm-svn: 314507
* Revert "[mips] Reordering callseq* nodes to be linear"Aleksandar Beserminji2017-09-299-93/+36
| | | | | | | | | Added test relies on the compiler being built in debug mode, which may not be the case. This reverts commit r314497. llvm-svn: 314506
* [mips] Add missing license info, formatting changes. NFCISimon Dardis2017-09-291-30/+47
| | | | | | | | Add missing license information to MicroMipsInstrFPU.td and fix most of the formatting errors present. Others will be addressed in a follow up commits. llvm-svn: 314505
* [X86][SSE] Added more tests for vector multiplications as utility for D37896Simon Pilgrim2017-09-291-0/+302
| | | | | | | | | | | | Added additional tests for vector multiplications with multipliers that are: * powers of 2 displaced by 1, * product of a power of 2 displaced by one with another power of 2. Patch by @pacxx (Michael Haidl) Differential Revision: https://reviews.llvm.org/D38350 llvm-svn: 314504
* [mips] Add test cases for dext/dins family of instructionsAleksandar Beserminji2017-09-294-1/+41
| | | | | | | | | Add missing test cases for dext, dextm, dextu, dins, dinsm and dinsu instructions. Differential Revision: https://reviews.llvm.org/D37741 llvm-svn: 314503
* [AMDGPU] calling conventions for AMDPAL OS typeTim Renouf2017-09-2920-9/+197
| | | | | | | | | | | | | | | Summary: This commit adds comments on how the AMDPAL OS type overloads the existing AMDGPU_ calling conventions used by Mesa, and adds a couple of new ones. Reviewers: arsenm, nhaehnle, dstuttard Subscribers: mehdi_amini, kzhuravl, wdng, yaxunl, t-tye, llvm-commits Differential Revision: https://reviews.llvm.org/D37752 llvm-svn: 314502
* [AMDGPU] AMDPAL scratch buffer supportTim Renouf2017-09-296-13/+141
| | | | | | | | | | | | | | | | | | | | | | | Summary: Added support for scratch (including spilling) for OS type amdpal: generates code to set up the scratch descriptor if it is needed. With amdpal, the scratch resource descriptor is loaded from offset 0 of the global information table. The low 32 bits of the address of the global information table is passed in s0. Added amdgpu-git-ptr-high function attribute to hard-wire the high 32 bits of the address of the global information table. If the function attribute is not specified, or is 0xffffffff, then the backend generates code to use the high 32 bits of pc. The documentation for the AMDPAL ABI will be added in a later commit. Subscribers: arsenm, kzhuravl, wdng, nhaehnle, yaxunl, dstuttard, t-tye Differential Revision: https://reviews.llvm.org/D37483 llvm-svn: 314501
* [Triple] Add AMDPAL operating system typeTim Renouf2017-09-295-1/+24
| | | | | | | | | | | | | | | | | | Summary: This operating system type represents the AMDGPU PAL runtime, and will be required by the AMDGPU backend in order to generate correct code for this runtime. Currently it generates the same code as not specifying an OS at all. That will change in future commits. Patch from Tim Corringham. Subscribers: arsenm, nhaehnle Differential Revision: https://reviews.llvm.org/D37380 llvm-svn: 314500
* [Sema] Suppress warnings for C's zero initializerDaniel Marjamaki2017-09-294-2/+61
| | | | | | | | Patch by S. Gilles! Differential Revision: https://reviews.llvm.org/D28148 llvm-svn: 314499
* [dwarfdump][NFC] Consistent errors and warnings with --verifyJonas Devlieghere2017-09-299-108/+141
| | | | | | | | | | | This patch introduces 3 helper functions: error(), warn() and note() to make printing during verification more consistent. When supported, the respective prefixes are printed in color using the same color scheme as clang. Differential revision: https://reviews.llvm.org/D38368 llvm-svn: 314498
* [mips] Reordering callseq* nodes to be linearAleksandar Beserminji2017-09-299-36/+93
| | | | | | | | | | Fix nested callseq* nodes by moving callseq_start after the arguments calculation to temporary registers, so that callseq* nodes in resulting DAG are linear. Differential Revision: https://reviews.llvm.org/D37328 llvm-svn: 314497
* [NFC] Removed accidenatally added fileBen Dunbobbin2017-09-291-2451/+0
| | | | llvm-svn: 314496
* [ELF] Simpler scheme for handling common symbolsBen Dunbobbin2017-09-298-45/+2486
| | | | | | | | | Convert all common symbols to regular symbols after scan. This means that the downstream code does not to handle common symbols as a special case. Differential Revision: https://reviews.llvm.org/D38137 llvm-svn: 314495
* [X86][MS-InlineAsm] Extended support for variables / identifiers on memory / ↵Coby Tayree2017-09-296-47/+122
| | | | | | | | | | | immediate expressions Allow the proper recognition of Enum values and global variables inside ms inline-asm memory / immediate expressions, as they require some additional overhead and treated incorrect if doesn't early recognized. supersedes D33278, D35774 Differential Revision: https://reviews.llvm.org/D37413 llvm-svn: 314494
* [X86][MS-InlineAsm] Extended support for variables / identifiers on memory / ↵Coby Tayree2017-09-292-75/+146
| | | | | | | | | | | immediate expressions Allow the proper recognition of Enum values and global variables inside ms inline-asm memory / immediate expressions, as they require some additional overhead and treated incorrect if doesn't early recognized. supersedes D33278, D35774 Differential Revision: https://reviews.llvm.org/D37412 llvm-svn: 314493
* Skip building x86 parts of UnwindRegisters*.S when targeting SjLjMartin Storsjo2017-09-292-2/+10
| | | | | | | | This extends SVN r314197 from the arm parts to the whole file. Differential Revision: https://reviews.llvm.org/D38381 llvm-svn: 314492
* Make find_opt_files varargAdam Nemet2017-09-294-5/+5
| | | | | | | This is slightly less verbose for the common case of a single build directory and more intuitive when using this API directly from the interpreter. llvm-svn: 314491
* [ORC] Replace decltype with a concrete type to make MSVC happy.Lang Hames2017-09-291-2/+2
| | | | | | This should fix some build failures on windows bots due to r314486. llvm-svn: 314490
* [XRay][compiler-rt][NFC] Remove loggingInitialized() convenience functionDean Michael Berris2017-09-291-9/+6
| | | | | | | | | | | The function was introduced as a convenience that used to be called in multiple places. Recent refactorings have removed the need to call this function in multiple places, so inlined the implementation in the single place it's defined. Broken out from D38119. llvm-svn: 314489
* Fix Android remote debugging tests running on WindowsEugene Zemtsov2017-09-291-1/+4
| | | | | | Use make based OS check, instad of relying on shell. llvm-svn: 314488
* Fix compilation errorEugene Zemtsov2017-09-292-15/+15
| | | | llvm-svn: 314487
* [CMake] Fix typo "Wraning" (NFC)Brian Gesiak2017-09-291-1/+1
| | | | | | | | Summary: The typo was added in https://reviews.llvm.org/rL247151. It should be "warning", not "wraning". llvm-svn: 314486
* llvm-readobj: fix a few typos (NFC)Saleem Abdulrasool2017-09-291-3/+3
| | | | | | | | Correct the spelling of multiple in a couple of sites. Patch by Alex Langford! llvm-svn: 314485
* [NFC] Replace 'arguments' with 'parameters' in comments relating to lexing a ↵Faisal Vali2017-09-291-7/+7
| | | | | | macro definition. llvm-svn: 314484
* [NFC] Rename variable 'Arguments' to 'Parameters' when lexing the Macro ↵Faisal Vali2017-09-291-9/+9
| | | | | | Definition. llvm-svn: 314483
* Revert "[BypassSlowDivision] Improve our handling of divisions by constants"Sanjoy Das2017-09-292-90/+7
| | | | | | | This reverts commit r314253. It causes a miscompile on P100 in an internal benchmark. Reverting while I investigate. llvm-svn: 314482
* llvm-dwarfdump: support .apple-namespaces in --findAdrian Prantl2017-09-294-15/+30
| | | | llvm-svn: 314481
* [llvm-rc] Import all make_unique invocations from llvm namespace.Marek Sokolowski2017-09-291-20/+22
| | | | | | | | Previous patch fixed one of LLVM buildbots (lld-x86_64-win7). However, some others have already been failing because of make_unique compilation error (llvm-clang-x86_64-expensive-checks-win). llvm-svn: 314480
* llvm-dwarfdump: add support for .apple_types in --findAdrian Prantl2017-09-294-7/+33
| | | | llvm-svn: 314479
* [llvm-rc] Add user-defined resources parsing ability. [8/8]Marek Sokolowski2017-09-297-2/+81
| | | | | | | | | | | | | This allows llvm-rc to parse user-defined resources (ref: msdn.microsoft.com/en-us/library/windows/desktop/aa381054.aspx). These statements either import files, or put the specified raw data in the resulting resource file. Thanks to Nico Weber for his original work in this area. Differential Revision: https://reviews.llvm.org/D37033 llvm-svn: 314478
* [llvm-rc] Add integer expressions parsing ability. [7/8]Marek Sokolowski2017-09-2814-9/+196
| | | | | | | | | | | | | | This allows the ints to be written as integer expressions evaluating to unsigned 16-bit/32-bit integers. All the expressions may use the following operators: + - & | ~, and parentheses. Minus token - can be also unary. There is no precedence of the operators other than the unary operators binding stronger than their binary counterparts. Differential Revision: https://reviews.llvm.org/D37022 llvm-svn: 314477
OpenPOWER on IntegriCloud