summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [clangd] Simplify common JSON-parsing patterns in Protocol.Sam McCall2017-11-293-368/+260
| | | | | | | | | | | | | | | | | | | | | Summary: This makes the parse() functions about as short as they can be given the current signature, and moves all array-traversal etc code to a central location. We keep the ability to distinguish between optional and required fields: and we don't propagate parse errors for optional fields. I've made most fields required per the LSP spec - the looseness we had here was mostly a historical accident I think. Reviewers: ioeric Subscribers: klimek, cfe-commits, ilya-biryukov Differential Revision: https://reviews.llvm.org/D40564 llvm-svn: 319309
* [X86][SSE] Merged sse2_pack and sse2_pack_y PACKSS/PACKUS instruction ↵Simon Pilgrim2017-11-291-78/+46
| | | | | | templates. NFCI. llvm-svn: 319308
* [ELF][AArch64] Add support for AArch64 range thunks.Peter Smith2017-11-299-23/+330
| | | | | | | | | | | | The AArch64 unconditional branch and branch and link instructions have a maximum range of 128 Mib. This is usually enough for most programs but there are cases when it isn't enough. This change adds support for range extension thunks to AArch64. For pc-relative thunks we follow the small code model and use ADRP, ADD, BR. This has a limit of 4 gigabytes. Differential Revision: https://reviews.llvm.org/D39744 llvm-svn: 319307
* [SCEV][NFC] Break from loop after we found first non-Phi in ↵Max Kazantsev2017-11-291-1/+5
| | | | | | getAddRecExprPHILiterally llvm-svn: 319306
* Defer StartBackgroundThread() and StopBackgroundThread() in TSanKamil Rytarowski2017-11-293-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: NetBSD cannot spawn new POSIX thread entities in early libc and libpthread initialization stage. Defer this to the point of intercepting the first pthread_create(3) call. This is the last change that makes Thread Sanitizer functional on NetBSD/amd64 without downstream patches. ******************** Testing Time: 64.91s ******************** Failing Tests (5): ThreadSanitizer-x86_64 :: dtls.c ThreadSanitizer-x86_64 :: ignore_lib5.cc ThreadSanitizer-x86_64 :: ignored-interceptors-mmap.cc ThreadSanitizer-x86_64 :: mutex_lock_destroyed.cc ThreadSanitizer-x86_64 :: vfork.cc Expected Passes : 290 Expected Failures : 1 Unsupported Tests : 83 Unexpected Failures: 5 Sponsored by <The NetBSD Foundation> Reviewers: joerg, eugenis, dvyukov, vitalybuka Reviewed By: dvyukov Subscribers: kubamracek, llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D40583 llvm-svn: 319305
* [ELF] Make sure SHT_ARM_ATTRIBUTES is only recognized by Arm TargetsPeter Smith2017-11-291-0/+2
| | | | | | | | The SHT_ARM_ATTRIBUTES section type is in the processor specific space adding guard to make sure that it is only recognized when EMachine is EM_ARM. llvm-svn: 319304
* [ARM] Add support for armv7e-m to the .arch directiveOliver Stannard2017-11-294-0/+70
| | | | | | | | | | | This will allow compilation of assembly files targeting armv7e-m without having to specify the Tag_CPU_arch attribute as a workaround. Differential revision: https://reviews.llvm.org/D40370 Patch by Ian Tessier! llvm-svn: 319303
* [CGP] Enable complex addr modeSerguei Katkov2017-11-291-1/+1
| | | | | | Enable complex addr modes after two critical fixes: rL319109 and rL319292 llvm-svn: 319302
* Comment fix in SelectionDAG.hJonas Paulsson2017-11-291-1/+1
| | | | | | | | | | | /// Replace any uses of From with To, leaving - /// uses of other values produced by From.Val alone. + /// uses of other values produced by From.getNode() alone. void ReplaceAllUsesOfValueWith(SDValue From, SDValue To); (this is what it says in the .cpp file above this method) llvm-svn: 319301
* Support building libunwind as a DLLMartin Storsjo2017-11-292-3/+12
| | | | | | Differential Revision: https://reviews.llvm.org/D40483 llvm-svn: 319300
* [CMake] Use the variable from the right project in install-unwindMartin Storsjo2017-11-291-1/+1
| | | | llvm-svn: 319299
* [X86] Remove setOperationAction Promote for ISD::SINT_TO_FP ↵Craig Topper2017-11-291-3/+0
| | | | | | | | MVT::v8i16/v16i8/v16i16. A DAG combine ensures these ops are always promoted to vXi32. llvm-svn: 319298
* Toolchain: Normalize dwarf, sjlj and seh ehMartell Malone2017-11-2926-63/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a re-apply of r319294. adds -fseh-exceptions and -fdwarf-exceptions flags clang will check if the user has specified an exception model flag, in the absense of specifying the exception model clang will then check the driver default and append the model flag for that target to cc1 -fno-exceptions has a higher priority then specifying the model move __SEH__ macro definitions out of Targets into InitPreprocessor behind the -fseh-exceptions flag move __ARM_DWARF_EH__ macrodefinitions out of verious targets and into InitPreprocessor behind the -fdwarf-exceptions flag and arm|thumb check remove unused USESEHExceptions from the MinGW Driver fold USESjLjExceptions into a new GetExceptionModel function that gives the toolchain classes more flexibility with eh models Reviewers: rnk, mstorsjo Differential Revision: https://reviews.llvm.org/D39673 llvm-svn: 319297
* Revert change for LibFuzzer target archsYi Kong2017-11-291-1/+1
| | | | | | Broke buildbot. llvm-svn: 319296
* Revert "Toolchain: Normalize dwarf, sjlj and seh eh"Martell Malone2017-11-2926-148/+64
| | | | | | | | This reverts rL319294. The windows sanitizer does not like seh on x86. Will re apply with None type for x86 llvm-svn: 319295
* Toolchain: Normalize dwarf, sjlj and seh ehMartell Malone2017-11-2926-64/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | adds -fseh-exceptions and -fdwarf-exceptions flags clang will check if the user has specified an exception model flag, in the absense of specifying the exception model clang will then check the driver default and append the model flag for that target to cc1 clang cc1 assumes dwarf is the default if none is passed and -fno-exceptions has a higher priority then specifying the model move __SEH__ macro definitions out of Targets into InitPreprocessor behind the -fseh-exceptions flag move __ARM_DWARF_EH__ macrodefinitions out of verious targets and into InitPreprocessor behind the -fdwarf-exceptions flag and arm|thumb check remove unused USESEHExceptions from the MinGW Driver fold USESjLjExceptions into a new GetExceptionModel function that gives the toolchain classes more flexibility with eh models Reviewers: rnk, mstorsjo Differential Revision: https://reviews.llvm.org/D39673 llvm-svn: 319294
* [SCEV][NFC] Remove condition that can never happen due to check few lines aboveMax Kazantsev2017-11-291-2/+0
| | | | llvm-svn: 319293
* [CGP] Fix common type handling in optimizeMemoryInstSerguei Katkov2017-11-292-6/+43
| | | | | | | | | | | | | | | | | If common type is different we should bail out due to we will not be able to create a select or Phi of these values. Basically it is done in ExtAddrMode::compare however it does not work if we handle the null first and then two values of different types. so add a check in initializeMap as well. The check in ExtAddrMode::compare is used as earlier bail out. Reviewers: reames, john.brawn Reviewed By: john.brawn Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D40479 llvm-svn: 319292
* [COFF] Don't export symbols that have corresponding __imp_ symbolsMartin Storsjo2017-11-292-0/+18
| | | | | | | | | | GNU ld has got an exception for such symbols, and mingw-w64 occasionally uses that exception to avoid exporting symbols in cases where they otherwise aren't caught by the other exclusion mechanisms. Differential Revision: https://reviews.llvm.org/D40553 llvm-svn: 319291
* Use static function instead of anonymous namespaceSerge Pavlov2017-11-291-4/+2
| | | | llvm-svn: 319290
* [PowerPC] Relax the checking on AND/AND8 in isSignOrZeroExtended.Sean Fertile2017-11-292-3/+64
| | | | | | | | | | | | Separate the handling of AND/AND8 out from PHI/OR/ISEL checking. The reasoning is the others need all their operands to be sign/zero extended for their output to also be sign/zero extended. This is true for AND and sign-extension, but for zero-extension we only need at least one of the input operands to be zero extended for the result to also be zero extended. Differential Revision: https://reviews.llvm.org/D39078 llvm-svn: 319289
* [LibFuzzer] Add Android to LibFuzzer's supported OSesYi Kong2017-11-291-2/+2
| | | | | | | | ... and a trivial fix that x86_64h arch should also be supported. Differential Revision: https://reviews.llvm.org/D40592 llvm-svn: 319288
* AMDGPU: Use stricter regexes for add instructionsMatt Arsenault2017-11-296-66/+66
| | | | | | | Match the entire _co as one optional piece rather than a set of characters to match multiple times. llvm-svn: 319275
* Delete dead code. NFC.Rafael Espindola2017-11-292-15/+0
| | | | llvm-svn: 319274
* [Modules] Add textual headers for recently added .def filesBruno Cardoso Lopes2017-11-291-2/+2
| | | | | | | | Keep module.modulemap up to date and get rid of -Wincomplete-umbrella warnings rdar://problem/35711925 llvm-svn: 319273
* DAG: Add nuw when splitting loads and storesMatt Arsenault2017-11-299-73/+55
| | | | | | | | | | | The object can't straddle the address space wrap around, so I think it's OK to assume any offsets added to the base object pointer can't overflow. Similar logic already appears to be applied in SelectionDAGBuilder when lowering aggregate returns. llvm-svn: 319272
* llvm-dwarfdump: honor the --show-children option when dumping a specific DIE.Adrian Prantl2017-11-293-2/+15
| | | | llvm-svn: 319271
* AMDGPU: Select DS insts without m0 initializationMatt Arsenault2017-11-2931-601/+1801
| | | | | | | | | GFX9 stopped using m0 for most DS instructions. Select a different instruction without the use. I think this will be less error prone than trying to manually maintain m0 uses as needed. llvm-svn: 319270
* Reland "Fix vtable not receiving hidden visibility when using push(visibility)"Jake Ehrlich2017-11-297-19/+41
| | | | | | | | | | I had to reland this change in order to make the test work on windows This change should resolve https://bugs.llvm.org/show_bug.cgi?id=35022 https://reviews.llvm.org/D39627 llvm-svn: 319269
* Rollback r319176.Don Hinton2017-11-291-13/+28
| | | | | | | The ';' separators in LLVM_TARGETS_TO_BUILD disappear when list variables are evaluated in custom commands. llvm-svn: 319268
* [CMake] Support side-by-side checkouts in multi-stage buildPetr Hosek2017-11-291-1/+3
| | | | | | | | | Passthrough LLVM_ENABLE_{PROJECTS,RUNTIMES} to followup stages to support the side-by-side checkouts (aka monorepo layout). Differential Revision: https://reviews.llvm.org/D40258 llvm-svn: 319267
* [X86] Promote fp_to_sint v16f32->v16i16/v16i8 to avoid scalarization.Craig Topper2017-11-293-97/+8
| | | | llvm-svn: 319266
* Replace copyFrom with memcpy.Rafael Espindola2017-11-293-18/+2
| | | | | | | It was only used for --wrap and I don't think the fields with special treatment had a meaningful impact on that feature. llvm-svn: 319265
* [CMake] Use LIST_SEPARATOR rather than escaping in ExternalProject_AddPetr Hosek2017-11-291-2/+3
| | | | | | | | | | | Escaping ; in list arguments passed to ExternalProject_Add doesn't seem to be working in newer versions of CMake (see https://public.kitware.com/Bug/view.php?id=16137 for more details). Use a custom LIST_SEPARATOR instead which is the officially supported way. Differential Revision: https://reviews.llvm.org/D40257 llvm-svn: 319264
* Fix a warning.Zachary Turner2017-11-291-1/+1
| | | | llvm-svn: 319263
* Revert "Add opt-viewer testing"Adam Nemet2017-11-2913-1161/+10
| | | | | | | | This reverts commit r319188. Breaks when c++filt is not available. llvm-svn: 319262
* [X86] Add test cases for fptosi v16f32->v16i8/v16i16 to show scalarization.Craig Topper2017-11-291-0/+112
| | | | llvm-svn: 319261
* [NFC] Minor cleanups in CodeView TypeTableBuilder.Zachary Turner2017-11-282-12/+9
| | | | llvm-svn: 319260
* [X86] Mark ISD::FP_TO_UINT v16i8/v16i16 as Promote under AVX512 instead of ↵Craig Topper2017-11-285-15/+10
| | | | | | | | | | legal. Fix infinite loop in op legalization when promotion requires 2 steps. Previously we had an isel pattern to add the truncate. Instead use Promote to add the truncate to the DAG before isel. The Promote legalization code had to be updated to prevent an infinite loop if promotion took multiple steps because it wasn't remembering the previously tried value. llvm-svn: 319259
* [X86] Regenerate avx512-schedule test.Craig Topper2017-11-281-2/+2
| | | | | | For some reason some sqrt instructions were missing the scheduling comments. llvm-svn: 319258
* [compiler-rt] Avoid unnecessarily hiding inline visibility [NFC]Weiming Zhao2017-11-281-1/+3
| | | | | | | | | | | | | | | | Summary: having fvisibility=hidden obviates the need for fvisibility-inlines-hidden. Reviewers: cryptoad, weimingz, mgorny, vsk, compnerd, peter.smith, nikhgupt Reviewed By: vsk, nikhgupt Subscribers: dberris, mgorny Differential Revision: https://reviews.llvm.org/D40269 llvm-svn: 319257
* AMDGPU: Enable IPRAMatt Arsenault2017-11-288-14/+19
| | | | llvm-svn: 319256
* [XRay][compiler-rt] Fix armhf buildDean Michael Berris2017-11-281-1/+2
| | | | | | | | | rL319241 was a bit too aggressive removing sources dependencies. This restores the actual required dependency for armhf. Follow-up to D39114. llvm-svn: 319255
* [openmp] Set up .arcconfig to point to new Diffusion OMP repositoryBen Hamilton2017-11-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: We want to automatically copy the appropriate mailing list for review requests to the openmp repository. For context, see the proposal and discussion here: http://lists.llvm.org/pipermail/cfe-dev/2017-November/056032.html Similar to D40179, I set up a new Diffusion repository with callsign "OMP" for OpenMP: https://reviews.llvm.org/source/openmp/ This explicitly updates openmp's .arcconfig to point to the new OMP repository in Diffusion, which will let us use Herald rule H272 to automatically subscribe openmp-commits to review requests. Reviewers: hans, grokos, Hahnfeld Reviewed By: grokos Subscribers: sammccall, klimek, openmp-commits Differential Revision: https://reviews.llvm.org/D40499 llvm-svn: 319254
* [X86] Tag CLFLUSHOPT with same scheduling behaviour as CLFLUSHSimon Pilgrim2017-11-282-4/+5
| | | | llvm-svn: 319253
* [globalisel][tablegen] Fix PR35375 by sign-extending the table value to ↵Daniel Sanders2017-11-282-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | match getConstantVRegVal() Summary: From the bug report: > The problem is that it fails when trying to compare -65536 (or 4294901760) to 0xFFFF,0000. This is because the > constant in the instruction is sign extended to 64 bits (0xFFFF,FFFF,FFFF,0000) and then compared to the non > extended 64 bit version expected by TableGen. > > In contrast, the DAGISelEmitter generates special code for AND immediates (OPC_CheckAndImm), which does not > sign extend. This patch doesn't introduce the special case for AND (and OR) immediates since the majority of it is related to handling known bits that have no effect on the result and GlobalISel doesn't detect known-bits at this time. Instead this patch just ensures that the immediate is extended consistently on both sides of the check. Thanks to Diana Picus for the detailed bug report. Reviewers: rovka Reviewed By: rovka Subscribers: kristof.beyls, javed.absar, llvm-commits Differential Revision: https://reviews.llvm.org/D40532 llvm-svn: 319252
* Change Requires to REQUIRES so that it works properly.Douglas Yung2017-11-281-1/+1
| | | | llvm-svn: 319251
* [X86] Add CLFLUSHOPT schedule testsSimon Pilgrim2017-11-281-0/+36
| | | | llvm-svn: 319250
* [X86][SSE] Add SSE_SHUFP OpndItinsSimon Pilgrim2017-11-281-11/+16
| | | | | | | | Update multi-classes to take the scheduling OpndItins instead of hard coding it. Will be reused in the AVX512 equivalents. llvm-svn: 319249
* Copy the visibility in copyFrom.Rafael Espindola2017-11-283-2/+4
| | | | | | This is simpler and matches bfd's behavior on the changed test. llvm-svn: 319248
OpenPOWER on IntegriCloud