aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-04-21Merging r298604:Tom Stellard2-1/+34
------------------------------------------------------------------------ r298604 | niravd | 2017-03-23 11:01:50 -0400 (Thu, 23 Mar 2017) | 14 lines [SDAG] Fix zeroExtend assertion error Move CombineTo preventing deleted node from being returned in visitZERO_EXTEND. Fixes PR32284. Reviewers: RKSimon, bogner Reviewed By: RKSimon Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D31254 ------------------------------------------------------------------------ llvm-svn: 300979
2017-04-06Merging r296698:Tom Stellard2-2/+72
------------------------------------------------------------------------ r296698 | rnk | 2017-03-01 17:41:12 -0500 (Wed, 01 Mar 2017) | 10 lines [Constant Hoisting] Avoid inserting instructions before EH pads Now that terminators can be EH pads, this code needs to iterate over the immediate dominators of the EH pad to find a valid insertion point. Fix for PR32107 Patch by Robert Olliff! Differential Revision: https://reviews.llvm.org/D30511 ------------------------------------------------------------------------ llvm-svn: 299670
2017-04-04Merging r298705:Tom Stellard1-0/+198
------------------------------------------------------------------------ r298705 | tstellar | 2017-03-24 12:13:18 -0400 (Fri, 24 Mar 2017) | 11 lines stable-merge-request.sh: Add a script for submitting merge requests via bugzilla Summary: This script will automatically create a new stable merge request bug in bugzilla for the given svn revision and release number. Reviewers: hans Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D30905 ------------------------------------------------------------------------ llvm-svn: 299455
2017-04-04Merging r298551:Tom Stellard2-7/+6
------------------------------------------------------------------------ r298551 | kzhuravl | 2017-03-22 17:48:18 -0400 (Wed, 22 Mar 2017) | 4 lines [AMDGPU] Fix bug 31610 Differential Revision: https://reviews.llvm.org/D31258 ------------------------------------------------------------------------ llvm-svn: 299441
2017-04-04Partial merge of r293110 into the 4.0 branchTom Stellard1-0/+4
Avoid printing optimization remarks from llc unless they are enabled. Fixes http://llvm.org/PR32184 llvm-svn: 299409
2017-04-04Merging r299347:Craig Topper1-2/+2
------------------------------------------------------------------------ r299347 | ctopper | 2017-04-02 20:51:57 -0700 (Sun, 02 Apr 2017) | 1 line [AVX-512] Fix a couple more intrinsic macros I missed in r299346. ------------------------------------------------------------------------ llvm-svn: 299405
2017-04-04Merging r299346:Craig Topper1-4/+4
------------------------------------------------------------------------ r299346 | ctopper | 2017-04-02 20:41:29 -0700 (Sun, 02 Apr 2017) | 3 lines [AVX-512] Fix some intrinsic macros that use the wrong macro parameter names and don't have parentheses around them. Thanks to Matthew Barr for reporting this issue. ------------------------------------------------------------------------ llvm-svn: 299404
2017-03-23Bump version to 4.0.1Tom Stellard1-1/+1
llvm-svn: 298635
2017-03-07ReleaseNotes: fix indentllvmorg-4.0.0-rc4llvmorg-4.0.0Hans Wennborg1-2/+2
llvm-svn: 297204
2017-03-07ReleaseNotes: fix the VS version; follow-up to r297097Hans Wennborg1-1/+1
llvm-svn: 297203
2017-03-07Merging r297075:Hans Wennborg3-10/+2
------------------------------------------------------------------------ r297075 | hans | 2017-03-06 13:10:40 -0800 (Mon, 06 Mar 2017) | 1 line Disable gvn-hoist (PR32153) ------------------------------------------------------------------------ llvm-svn: 297165
2017-03-07Merging r296992:Hans Wennborg2-7/+48
------------------------------------------------------------------------ r296992 | sanjoy | 2017-03-05 15:49:17 -0800 (Sun, 05 Mar 2017) | 7 lines [SCEV] Decrease the recursion threshold for CompareValueComplexity Fixes PR32142. r287232 accidentally increased the recursion threshold for CompareValueComplexity from 2 to 32. This change reverses that change by introducing a separate flag for CompareValueComplexity's threshold. ------------------------------------------------------------------------ llvm-svn: 297164
2017-03-06ReleaseNotes: reformulate compiler version change textHans Wennborg1-1/+2
llvm-svn: 297097
2017-03-06[notes] adding vulcan rename to release notesRenato Golin1-0/+4
llvm-svn: 297090
2017-03-02Update ABI lists and changelog for final 4.0 releaseEric Fiselier5-1906/+6190
llvm-svn: 296804
2017-03-02Merging r296656:llvmorg-4.0.0-rc3Hans Wennborg2-2/+14
------------------------------------------------------------------------ r296656 | bruno | 2017-03-01 11:18:42 -0800 (Wed, 01 Mar 2017) | 34 lines [PCH] Avoid VarDecl emission attempt if no owning module avaiable This is a stopgap fix for PR31863, a regression introduced in r276159. Consider this snippet: struct FVector; struct FVector {}; struct FBox { FVector Min; FBox(int); }; namespace { FBox InvalidBoundingBox(0); } While parsing the DECL_VAR for 'struct FBox', clang recursively read all the dep decls until it finds the DECL_CXX_RECORD forward declaration for 'struct FVector'. Then, it resumes all the way up back to DECL_VAR handling in `ReadDeclRecord`, where it checks if `isConsumerInterestedIn` for the decl. One of the condition for `isConsumerInterestedIn` to return false is if the VarDecl is imported from a module `D->getImportedOwningModule()`, because it will get emitted when we import the relevant module. However, before checking if it comes from a module, clang checks if `Ctx.DeclMustBeEmitted(D)`, which triggers the emission of 'struct FBox'. Since one of its fields is still incomplete, it crashes. Instead, check if `D->getImportedOwningModule()` is true before calling `Ctx.DeclMustBeEmitted(D)`. Differential Revision: https://reviews.llvm.org/D29753 rdar://problem/30173654 ------------------------------------------------------------------------ llvm-svn: 296762
2017-03-02Merging r296642:Hans Wennborg2-22/+90
------------------------------------------------------------------------ r296642 | hans | 2017-03-01 09:15:08 -0800 (Wed, 01 Mar 2017) | 5 lines [GVNHoist] Don't hoist unsafe scalars at -Oz (PR31729) Based on Aditya Kumar's patch: Differential Revision: https://reviews.llvm.org/D29092 ------------------------------------------------------------------------ llvm-svn: 296761
2017-03-01Added pocl and TCE to releasenotes. Both of them now work with LLVM 4.0Pekka Jaaskelainen1-0/+28
llvm-svn: 296633
2017-03-01ReleaseNotes: Add some X86 target bullets.Craig Topper1-0/+9
llvm-svn: 296587
2017-02-28ReleaseNotes: mention the versioning scheme changeHans Wennborg1-0/+8
llvm-svn: 296509
2017-02-27Merging r296093 and r296260:Hans Wennborg2-15/+31
------------------------------------------------------------------------ r296093 | ctopper | 2017-02-23 22:38:24 -0800 (Thu, 23 Feb 2017) | 1 line [ExecutionDepsFix] Use range-based for loop. NFC ------------------------------------------------------------------------ ------------------------------------------------------------------------ r296260 | ctopper | 2017-02-25 10:12:25 -0800 (Sat, 25 Feb 2017) | 18 lines [ExecutionDepsFix] Don't make copies of LiveReg objects when collecting operands for soft instructions Summary: While collecting operands we make copies of the LiveReg objects which are stored in the LiveRegs array. If the instruction uses the same register multiple times we end up with multiple copies. Later we iterate through the collected list of LiveReg objects and merge DomainValues. In the process of doing this the merge function can change the contents of the original LiveReg object in the LiveRegs array, but not the copies that have been made. So when we get to the second usage of the register we end up seeing a stale copy of the LiveReg object. To fix this I've stopped copying and now just store a pointer to the original LiveReg object. Another option might be to avoid adding the same register to the Regs array twice, but this approach seemed simpler. The included test case exposes this bug due to an AVX-512 masked OR instruction using the same register for the passthru operand and one of the inputs to the OR operation. Fixes PR30284. Reviewers: RKSimon, stoklund, MatzeB, spatel, myatsina Reviewed By: RKSimon Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D30242 ------------------------------------------------------------------------ llvm-svn: 296380
2017-02-27Merging r296358 and r296359:Hans Wennborg1-0/+76
------------------------------------------------------------------------ r296358 | aadg | 2017-02-27 09:33:20 -0800 (Mon, 27 Feb 2017) | 8 lines Add libcxxabi's LICENSE.TXT to libunwind. When libunwind was spinned off libcxxabi, most file were copied from libcxxabi to libunwind. However, libc++abi's toplevel LICENSE.TXT was forgotten in the copying. It's considered a good practice to have the license file at the root of the project, and making linunwind a separate project was not supposed to change its licensing. Besides, several header files refer to the LICENSE.TXT, so copy the one from libc++abi. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r296359 | aadg | 2017-02-27 09:47:58 -0800 (Mon, 27 Feb 2017) | 1 line Fix the project name in the license file. ------------------------------------------------------------------------ llvm-svn: 296364
2017-02-27Merging r295116:Hans Wennborg11-102/+52
------------------------------------------------------------------------ r295116 | dim | 2017-02-14 14:49:49 -0800 (Tue, 14 Feb 2017) | 18 lines Disable wrapping llvm-xray YAML output Summary: The YAML output produced by llvm-xray is supposed to be wrapped at the arbitrary default of 70 columns set by `yaml:Output`. Unfortunately, the wrapping is rather unpredictable, and can easily go past the set number of columns, depending on the execution environment. To make the YAML output environment-independent, disable wrapping instead. Reviewers: dberris Reviewed By: dberris Subscribers: fhahn, llvm-commits Differential Revision: https://reviews.llvm.org/D29962 ------------------------------------------------------------------------ llvm-svn: 296357
2017-02-27[ReleaseNotes] Add MIPS release notes.Simon Dardis1-0/+28
llvm-svn: 296340
2017-02-24RelaseNotes: tweaksHans Wennborg1-23/+2
llvm-svn: 296204
2017-02-24ReleaseNotes: drop in-progress warningHans Wennborg1-9/+3
llvm-svn: 296203
2017-02-24RelaseNotes: tweaksHans Wennborg1-28/+26
llvm-svn: 296202
2017-02-24ReleaseNotes: drop empty sectionsHans Wennborg1-52/+9
llvm-svn: 296200
2017-02-24ReleaseNotes: drop in-progress warningHans Wennborg1-6/+0
llvm-svn: 296199
2017-02-24RelaseNotes: tweaksHans Wennborg1-20/+11
llvm-svn: 296197
2017-02-24ReleaseNotes: drop dead sectionsHans Wennborg1-81/+0
llvm-svn: 296195
2017-02-24ReleaseNotes: tweaksHans Wennborg1-2/+3
llvm-svn: 296194
2017-02-24ReleaseNotes: drop in-progress warningHans Wennborg1-9/+3
llvm-svn: 296192
2017-02-24ReleaseNotes: typos and tweaksHans Wennborg1-10/+10
llvm-svn: 296191
2017-02-24ReleaseNotes: drop in-progress warningHans Wennborg1-3/+0
llvm-svn: 296189
2017-02-24Revert r288115 for PR31847.Hans Wennborg3-257/+172
------------------------------------------------------------------------ r288115 | abataev | 2016-11-29 09:21:14 +0100 (Tue, 29 Nov 2016) | 8 lines [SLPVectorizer] Improved support of partial tree vectorization. Currently SLP vectorizer tries to vectorize a binary operation and dies immediately after unsuccessful the first unsuccessfull attempt. Patch tries to improve the situation, trying to vectorize all binary operations of all children nodes in the binop tree. Differential Revision: https://reviews.llvm.org/D25517 ------------------------------------------------------------------------ llvm-svn: 296185
2017-02-24Merging r295990:Hans Wennborg3-37/+65
------------------------------------------------------------------------ r295990 | jvesely | 2017-02-23 08:12:21 -0800 (Thu, 23 Feb 2017) | 5 lines AMDGPU/SI: Fix trunc i16 pattern Hit on ASICs that support 16bit instructions. Differential Revision: https://reviews.llvm.org/D30281 ------------------------------------------------------------------------ llvm-svn: 296158
2017-02-24Merging r296003:Hans Wennborg2-4/+24
------------------------------------------------------------------------ r296003 | mcrosier | 2017-02-23 10:49:03 -0800 (Thu, 23 Feb 2017) | 32 lines [Reassociate] Add negated value of negative constant to the Duplicates list. In OptimizeAdd, we scan the operand list to see if there are any common factors between operands that can be factored out to reduce the number of multiplies (e.g., 'A*A+A*B*C+D' -> 'A*(A+B*C)+D'). For each operand of the operand list, we only consider unique factors (which is tracked by the Duplicate set). Now if we find a factor that is a negative constant, we add the negated value as a factor as well, because we can percolate the negate out. However, we mistakenly don't add this negated constant to the Duplicates set. Consider the expression A*2*-2 + B. Obviously, nothing to factor. For the added value A*2*-2 we over count 2 as a factor without this change, which causes the assert reported in PR30256. The problem is that this code is assuming that all the multiply operands of the add are already reassociated. This change avoids the issue by making OptimizeAdd tolerate multiplies which haven't been completely optimized; this sort of works, but we're doing wasted work: we'll end up revisiting the add later anyway. Another possible approach would be to enforce RPO iteration order more strongly. If we have RedoInsts, we process them immediately in RPO order, rather than waiting until we've finished processing the whole function. Intuitively, it seems like the natural approach: reassociation works on expression trees, so the optimization only works in one direction. That said, I'm not sure how practical that is given the current Reassociate; the "optimal" form for an expression depends on its use list (see all the uses of "user_back()"), so Reassociate is really an iterative optimization of sorts, so any changes here would probably get messy. PR30256 Differential Revision: https://reviews.llvm.org/D30228 ------------------------------------------------------------------------ llvm-svn: 296156
2017-02-24Merging r293604:Hans Wennborg2-1/+13
------------------------------------------------------------------------ r293604 | sammccall | 2017-01-30 21:23:20 -0800 (Mon, 30 Jan 2017) | 12 lines In VirtualCallChecker, handle indirect calls Summary: In VirtualCallChecker, handle indirect calls. getDirectCallee() can be nullptr, and dyn_cast(nullptr) is UB Reviewers: bkramer Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D29303 ------------------------------------------------------------------------ llvm-svn: 296154
2017-02-24Merging r296063:Hans Wennborg2-4/+10
------------------------------------------------------------------------ r296063 | hans | 2017-02-23 17:16:34 -0800 (Thu, 23 Feb 2017) | 4 lines Revert r291477 "[Frontend] Correct values of ATOMIC_*_LOCK_FREE to match builtin" It caused PR31864. There is a patch in progress to fix that, but let's revert in the meantime. ------------------------------------------------------------------------ llvm-svn: 296152
2017-02-24Merging r295474:Hans Wennborg2-1/+18
------------------------------------------------------------------------ r295474 | hahnfeld | 2017-02-17 10:32:58 -0800 (Fri, 17 Feb 2017) | 6 lines [OpenMP] Fix cancellation point in task with no cancel With tasks, the cancel may happen in another task. This has a different region info which means that we can't find it here. Differential Revision: https://reviews.llvm.org/D30091 ------------------------------------------------------------------------ llvm-svn: 296151
2017-02-24Revert r296139; it accidentally merged multiple thingsHans Wennborg4-28/+5
llvm-svn: 296150
2017-02-24Merging r296030:Hans Wennborg2-1/+6
------------------------------------------------------------------------ r296030 | hans | 2017-02-23 14:29:00 -0800 (Thu, 23 Feb 2017) | 7 lines Revert r282872 "CVP. Turn marking adds as no wrap on by default" While not CVP's fault, this caused miscompiles (PR31181). Reverting until those are resolved. (This also reverts the follow-ups r288154 and r288161 which removed the flag.) ------------------------------------------------------------------------ llvm-svn: 296148
2017-02-24Merging r295474:Hans Wennborg4-5/+28
------------------------------------------------------------------------ r295474 | hahnfeld | 2017-02-17 10:32:58 -0800 (Fri, 17 Feb 2017) | 6 lines [OpenMP] Fix cancellation point in task with no cancel With tasks, the cancel may happen in another task. This has a different region info which means that we can't find it here. Differential Revision: https://reviews.llvm.org/D30091 ------------------------------------------------------------------------ llvm-svn: 296139
2017-02-23Merging r295762:Hans Wennborg2-5/+24
------------------------------------------------------------------------ r295762 | eugenis | 2017-02-21 12:17:34 -0800 (Tue, 21 Feb 2017) | 3 lines Fix PR31896. Address of an alias of a global with offset is incorrectly lowered as an address of the global (i.e. ignoring offset). ------------------------------------------------------------------------ llvm-svn: 296002
2017-02-23Merging r295843:Hans Wennborg2-1/+2
------------------------------------------------------------------------ r295843 | jvesely | 2017-02-22 07:01:42 -0800 (Wed, 22 Feb 2017) | 3 lines [OpenCL] r600 needs OpenCL kernel calling convention Differential Revision: https://reviews.llvm.org/D30236 ------------------------------------------------------------------------ llvm-svn: 296001
2017-02-23Merging r295473:Hans Wennborg3-26/+4
------------------------------------------------------------------------ r295473 | hahnfeld | 2017-02-17 10:32:51 -0800 (Fri, 17 Feb 2017) | 13 lines [OpenMP] Remove barriers at cancel and cancellation point This resolves a deadlock with the cancel directive when there is no explicit cancellation point. In that case, the implicit barrier acts as cancellation point. After removing the barrier after cancel, the now unmatched barrier for the explicit cancellation point has to go as well. This has probably worked before rL255992: With the calls for the explicit barrier, it was sure that all threads passed a barrier before exiting. Reported by Simon Convent and Joachim Protze! Differential Revision: https://reviews.llvm.org/D30088 ------------------------------------------------------------------------ llvm-svn: 296000
2017-02-23Backport r293433, ARM: support `-mlong-calls` with AEABI TLS on ELFHans Wennborg2-7/+53
Support lowering AEABI TLS access (__aeabi_read_tp) with long calls. This requires adjusting the call sequence to use an indirect call to get full addressability. Resolves PR31769! By Saleem Abdulrasool! llvm-svn: 295910
2017-02-21Merging r294954 and r295592:Hans Wennborg1-1/+5
------------------------------------------------------------------------ r294954 | chapuni | 2017-02-13 06:59:53 -0800 (Mon, 13 Feb 2017) | 5 lines Fix r291495 -- Normalize LLVM_CMAKE_PATH in clang standalone build. CMake handles paths with slashes. It caused cmake/install failure on msbuild.exe. Note, Other llvm-config-oriented variables have been normalized since they are stored in the cache attributed with PATH. ------------------------------------------------------------------------ ------------------------------------------------------------------------ r295592 | chapuni | 2017-02-18 19:17:31 -0800 (Sat, 18 Feb 2017) | 1 line clang/CMakeLists.txt: Rework r294954 -- use file(TO_CMAKE_PATH). ------------------------------------------------------------------------ llvm-svn: 295760
2017-02-21Merging r295610:Hans Wennborg2-0/+27
------------------------------------------------------------------------ r295610 | brad | 2017-02-19 11:33:26 -0800 (Sun, 19 Feb 2017) | 4 lines Link static PIE programs against rcrt0.o on OpenBSD Patch by Stefan Kempf. ------------------------------------------------------------------------ llvm-svn: 295752