- Nov 16, 2017
-
-
John Brawn authored
The extra comma meant it wasn't correctly checking that we weren't getting an extra getelementptr. llvm-svn: 318406
-
Sanjay Patel authored
// trunc (binop X, C) --> binop (trunc X, C') // trunc (binop (ext X), Y) --> binop X, (trunc Y) I'm grouping sub with the other binops because that makes the code simpler and the transforms are valid: https://rise4fun.com/Alive/UeF ...so even though we don't expect a sub with constant Op1 or any of the other opcodes with constant Op0 due to canonicalization rules, we might as well handle those situations if non-canonical code somehow reaches this point (it should just make instcombine more efficient in reaching its end goal). This should solve the problem that later manifests in the vectorizers in PR35295: https://bugs.llvm.org/show_bug.cgi?id=35295 llvm-svn: 318404
-
Aaron Smith authored
Initial changes to support debugging PE/COFF files with LLDB on Windows through DIA SDK. There is another set of changes required on the LLDB side before this does anything. Differential Revision: https://reviews.llvm.org/D39517 llvm-svn: 318403
-
Simon Pilgrim authored
llvm-svn: 318402
-
Javed Absar authored
Change loop to range-based llvm-svn: 318401
-
Aaron Smith authored
llvm-svn: 318400
-
Pavel Labath authored
Summary: Implement core dump debugging for PPC64le. Reviewers: labath Reviewed By: labath Subscribers: JDevlieghere, krytarowski, clayborg, labath, lbianc, nemanjai, gut, anajuliapc, mgorny, kbarton, lldb-commits Differential Revision: https://reviews.llvm.org/D39681 Patch by Alexandre Yukio Yamashita <alexandre.yamashita@eldorado.org.br> llvm-svn: 318399
-
Diana Picus authored
Add instruction selector tests for BICrr and BICri, which are handled by TableGen. llvm-svn: 318398
-
Ben Dunbobbin authored
Fixed broken comparison. borked by: rL284966 (see: https://reviews.llvm.org/D25730). Differential Revision: https://reviews.llvm.org/D40119 llvm-svn: 318397
-
Peter Smith authored
The mulsc3_test.c was marked as unsupported due to PR32457, the underlying cause of this PR was fixed in PR28164 so we can remove the unsupported as it is no longer needed. Differential Revision: https://reviews.llvm.org/D40076 llvm-svn: 318396
-
Walter Lee authored
Fix a couple places where the minimum alignment/size should be a function of the shadow granularity: - alignment of AllGlobals - the minimum left redzone size on the stack Added a test to verify that the metadata_array is properly aligned for shadow scale of 5, to be enabled when we add build support for testing shadow scale of 5. Differential Revision: https://reviews.llvm.org/D39470 llvm-svn: 318395
-
George Rimar authored
Previously our relocations we rewrote were broken for that case. We emited incorrect addend and broken relocation info field because did not produce section symbol for mergeable synthetic sections. Differential revision: https://reviews.llvm.org/D40070 llvm-svn: 318394
-
Diana Picus authored
Add instruction selector tests for some of the REVSH patterns handled by TableGen. llvm-svn: 318393
-
Yaxun Liu authored
SelectionDAGBuilder::visitAlloca assumes alloca address space is 0, which is incorrect for triple amdgcn---amdgiz and causes isel failure. This patch fixes that. Differential Revision: https://reviews.llvm.org/D40095 llvm-svn: 318392
-
Martin Storsjö authored
Sections that will be mapped at runtime will only have the short section name available, since the string table it points into isn't mapped. Therefore prefer truncating those names over writing a long name that is unavailable at runtime. This allows libunwind to find the .eh_frame section at runtime even if the module was built with debug info enabled. Differential Revision: https://reviews.llvm.org/D40025 llvm-svn: 318391
-
Sam Parker authored
Change the calculation for the desired ValueType for non-sign extending loads, as in those cases we don't care about the higher bits. This creates a smaller ExtVT and allows for such combinations as: (srl (zextload i16, [addr]), 8) -> (zextload i8, [addr + 1]) Differential Revision: https://reviews.llvm.org/D40034 llvm-svn: 318390
-
Simon Dardis authored
llvm-svn: 318389
-
Andrey Churbanov authored
This can improve performance of tests with untied tasks. Differential Revision: https://reviews.llvm.org/D39613 llvm-svn: 318388
-
Benjamin Kramer authored
The LatencyPriorityQueue doesn't currently check whether the SU being removed really exists in the Queue. This method fails quietly when SU is not found and removes the last element from the Queue, leading to unexpected behavior. Unfortunately, this only occurs on our custom target, with the custom scheduler. In our case, when remove() is invoked, it removes the wrong SU at the end of the Queue, which is only discovered later when VerifyScheduledDAG() is invoked and finds that some nodes were not scheduled at all. As this is only reproducible with a lot of proprietary code, I'm hopeful this assert is straightforward enough to not necessitate a test. Patch by Ondrej Glasnak! Differential Revision: https://reviews.llvm.org/D40084 llvm-svn: 318387
-
Mohammed Agabaria authored
This patch contains more accurate cost of interelaved load\store of stride 2 for the types int64\double on AVX2. Reviewers: delena, RKSimon, craig.topper, dorit Reviewed By: dorit Differential Revision: https://reviews.llvm.org/D40008 llvm-svn: 318385
-
Martin Storsjö authored
If -opt:noref is specified, they can end up with isLive() == 1 when the autoexport check is run. To reduce the risk of potential issues, only consider exporting DefinedRegular and DefinedCommon, nothing else. Differential Revision: https://reviews.llvm.org/D40014 llvm-svn: 318384
-
Martin Storsjö authored
This didn't require any further changes to libunwind as long as win64 in general is handled correctly. Differential Revision: https://reviews.llvm.org/D39632 llvm-svn: 318383
-
Mikael Holmen authored
Summary: Use use_nodbg_empty() rather than use_empty() in MachineRegisterInfo::EmitLiveInCopies() when determining if a livein register has any uses or not. Otherwise a single dbg.value can make us generate different code, meaning -g would affect code generation. Found when compiling code for my out-of-tree target. Unfortunately I haven't been able to reproduce the problem on X86 or any of the other in-tree targets that I tried, so no test case. Reviewers: MatzeB Reviewed By: MatzeB Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D39044 llvm-svn: 318382
-
Max Kazantsev authored
When expanding exit conditions for pre- and postloops, we may end up expanding a recurrency from the loop to in its loop's preheader. This produces incorrect IR. This patch ensures that IRCE uses SCEVExpander correctly and only expands code which is safe to expand in this particular location. Differentian Revision: https://reviews.llvm.org/D39234 llvm-svn: 318381
-
Craig Topper authored
The type legalizer will try to scalarize these operations if it sees them, but there is no handling for scalarizing them. This leads to a fatal error. With this change they will now be scalarized by the mem intrinsic scalarizing pass before SelectionDAG. llvm-svn: 318380
-
Craig Topper authored
[SelectionDAG] Use report_fatal_error instead of llvm_unreachable in some code that can be reached if targets don't configure things correctly. For example, this is currently reachable by X86 if you use a masked store intrinsic with a v1iX type. Using a fatal error seems like a better user experience if someone were to encounter this on a release build. There are several other similar places that have been converted from unreachable to fatal error previously. llvm-svn: 318379
-
Marshall Clow authored
llvm-svn: 318378
-
Max Kazantsev authored
This function checks that: 1) It is safe to expand a SCEV; 2) It is OK to materialize it at the specified location. For example, attempt to expand a loop's AddRec to the same loop's preheader should fail. Differential Revision: https://reviews.llvm.org/D39236 llvm-svn: 318377
-
Kostya Serebryany authored
llvm-svn: 318376
-
Marshall Clow authored
llvm-svn: 318375
-
Eric Christopher authored
llvm-svn: 318374
-
Eric Christopher authored
llvm-svn: 318373
-
Eric Christopher authored
llvm-svn: 318372
-
Eric Christopher authored
llvm-svn: 318371
-
Yaxun Liu authored
processDbgDeclares assumes pointer size is the same for different addr spaces. It uses pointer size for addr space 0 for all pointers, which causes assertion in stripAndAccumulateInBoundsConstantOffsets for amdgcn---amdgiz since pointer in addr space 5 has different size than in addr space 0. This patch fixes that. Differential Revision: https://reviews.llvm.org/D40085 llvm-svn: 318370
-
Evgeniy Stepanov authored
Summary: Android < 22 does not support ifunc. Reviewers: pcc Subscribers: srhines, kubamracek, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D40116 llvm-svn: 318369
-
Craig Topper authored
[X86] Custom type legalize v2f32 masked gathers instead of trying to cleanup after type legalization. llvm-svn: 318368
-
Alex Lorenz authored
Patch by Nikolai Kosjar! Differential Revision: https://reviews.llvm.org/D40066 llvm-svn: 318367
-
Yan Zhang authored
Summary: This is a small check to avoid throwing objc exceptions. In specific it will detect the usage of @throw statement and throw warning. Reviewers: hokein, benhamilton Reviewed By: hokein, benhamilton Subscribers: cfe-commits, mgorny Differential Revision: https://reviews.llvm.org/D40058 llvm-svn: 318366
-
Alex Lorenz authored
Patch by Nikolai Kosjar! Differential Revision: https://reviews.llvm.org/D39957 llvm-svn: 318365
-