- Jan 28, 2018
-
-
Don Hinton authored
available instead. llvm-svn: 323599
-
Shoaib Meenai authored
In my experimentation with link.exe from both VS 2015 and 2017, it always produces images with truncated section names. Update the comment accordingly. Differential Revision: https://reviews.llvm.org/D42603 llvm-svn: 323598
-
Daniel Neilson authored
Summary: This change is step two in the series of changes to remove alignment argument from memcpy/memmove/memset in favour of alignment attributes. Steps: Step 1) Remove alignment parameter and create alignment parameter attributes for memcpy/memmove/memset. ( rL322965 ) Step 2) Expand the IRBuilder API to allow creation of memcpy/memmove with differing source and dest alignments. Step 3) Update Clang to use the new IRBuilder API. Step 4) Update Polly to use the new IRBuilder API. Step 5) Update LLVM passes that create memcpy/memmove calls to use the new IRBuilder API, and those that use use MemIntrinsicInst::[get|set]Alignment() to use getDestAlignment() and getSourceAlignment() instead. Step 6) Remove the single-alignment IRBuilder API for memcpy/memmove, and the MemIntrinsicInst::[get|set]Alignment() methods. Reference http://lists.llvm.org/pipermail/llvm-dev/2015-August/089384.html http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20151109/312083.html llvm-svn: 323597 -
Amaury Sechet authored
llvm-svn: 323596
-
Amaury Sechet authored
llvm-svn: 323595
-
Amaury Sechet authored
llvm-svn: 323594
-
Amaury Sechet authored
llvm-svn: 323593
-
Amaury Sechet authored
llvm-svn: 323592
-
Simon Pilgrim authored
Cleanup check prefixes and check full codegen llvm-svn: 323591
-
Gabor Horvath authored
llvm-svn: 323590
-
Gabor Horvath authored
* CXXOperatorCallExpr * SizeOfPackExpr * DependentTemplateSpecializationType * DependentSizedArray * CXXTypeidExpr * Fix importing CXXTemporaryObjectExpr Some of the changes are based on https://github.com/haoNoQ/clang/blob/summary-ipa-draft/lib/AST/ASTImporter.cpp Differential Revision: https://reviews.llvm.org/D42335 llvm-svn: 323589
-
Amaury Sechet authored
llvm-svn: 323588
-
- Jan 27, 2018
-
-
Simon Pilgrim authored
llvm-svn: 323587
-
Jan Kratochvil authored
Simplification by removing excessive DWARFCompileUnit references for D40466 . Differential revision: https://reviews.llvm.org/D42613 llvm-svn: 323586
-
Craig Topper authored
[TargetLowering] Teach TargetLowering::SimplifySetCC to simplify setcc of vXi1 vectors into logic ops. This transform was already being done for setcc of scalar i1. This extends it to vectors. llvm-svn: 323585
-
George Rimar authored
Patch adds one more module with non-prevailing version of asm symbol, defined in main module This is for D42107, which is under review. Extended version of testcase would fail with the diff 9 version of patch posted. llvm-svn: 323584
-
Craig Topper authored
[SelectionDAG] Make DAGTypeLegalizer::PromoteSetCCOperands handle SETEQ/SETNE correctly for vector types. The code was using getValueSizeInBits and combining with the result of a call to DAG.ComputeNumSignBits. But for vector types getValueSizeInBits returns the width of the full vector while ComputeNumSignBits is going to give a number no larger than the width of a single element. So we should be using getScalarValueSizeInBits to get the element width. llvm-svn: 323583
-
Amara Emerson authored
We weren't converting the immediate ConstantFP during legalization, which caused the wrong bit patterns to be emitted for half type FP constants. Fixes PR36106. llvm-svn: 323582
-
Alexey Bataev authored
This reverts commit r323530 to fix possible problems in users code. llvm-svn: 323581
-
Alexey Bataev authored
This reverts commit r323533 to fix possible problems in users code. llvm-svn: 323580
-
Rui Ueyama authored
With the /order option, you can give an order file. An order file contains symbol names, one per line, and the linker places comdat sections in that given order. The option is used often to optimize an output binary for (in particular, startup) speed by improving locality. Differential Revision: https://reviews.llvm.org/D42598 llvm-svn: 323579
-
Akira Hatanaka authored
constructor. Previously, clang would emit an over-aligned (16-byte) store to initialize B::x in B's base constructor when compiling the following code: struct A { __attribute__((aligned(16))) double data1; }; struct B : public virtual A { B() : x(123) {} double a; int x; }; struct C : public virtual B {}; void test() { B b; C c; } This was happening because the code in IRGen that does member initialization was using the alignment of a complete object instead of the non-virtual alignment. This commit fixes the bug. rdar://problem/36382481 Differential Revision: https://reviews.llvm.org/D42521 llvm-svn: 323578 -
Matt Davis authored
Summary: Both MS and PS4 targets are capable of recognizing the existence of: #pragma region, #pragma endregion. Since this pragma is only a hint for certain editors, and has no logic, it seems helpful to permit this pragma in all cases, not just MS compatibility mode. Reviewers: rnk, rsmith, majnemer Reviewed By: majnemer Subscribers: Quuxplusone, probinson, majnemer, cfe-commits Differential Revision: https://reviews.llvm.org/D42248 llvm-svn: 323577
-
Vedant Kumar authored
This fixes a think-o in r323574. llvm-svn: 323576
-
Vedant Kumar authored
llvm-svn: 323575
-
Vedant Kumar authored
When there are no uses of profiling intrinsics in a module, and there's no coverage data to lower, InstrProfiling has no work to do. llvm-svn: 323574
-
Justin Bogner authored
llvm-svn: 323573
-
Craig Topper authored
Previously we had to materialize all 1s in a register using vpternlog or pcmpeq and then xor with that. By using vpternlog directly we can do it in one operation. This is implemented using isel patterns, but we should maybe consider creating a generalized vpternlog combiner. llvm-svn: 323572
-
Sanjay Patel authored
llvm-svn: 323571
-
Vedant Kumar authored
A cast from A to B is eliminable if its result is casted to C, and if the pair of casts could just be expressed as a single cast. E.g here, %c1 is eliminable: %c1 = zext i16 %A to i32 %c2 = sext i32 %c1 to i64 InstCombine optimizes away eliminable casts. This patch teaches it to insert a dbg.value intrinsic pointing to the final result, so that local variables pointing to the eliminable result are preserved. Differential Revision: https://reviews.llvm.org/D42566 llvm-svn: 323570
-
Richard Trieu authored
llvm-svn: 323569
-
Krzysztof Parzyszek authored
llvm-svn: 323568
-
Davide Italiano authored
Now the function returns `False`, and the caller can take the appropriate action (in this case, for --executable, reporting that the file doesn't exist). llvm-svn: 323566
-
Wolfgang Pieb authored
llvm-svn: 323564
-
Peter Collingbourne authored
According to [1], forms 2 and 4 of std::is_permutation should use the passed in binary predicate to compare elements. operator== should only be used for forms 1 and 3 which do not take a binary predicate. This CL fixes forms 2 and 4 which relied on operator== for some comparisons. [1] http://en.cppreference.com/w/cpp/algorithm/is_permutation Patch by Thomas Anderson! Differential Revision: https://reviews.llvm.org/D42518 llvm-svn: 323563
-
Krzysztof Parzyszek authored
A correctly aligned address may happen to be separated into a variable part and a constant part, where the constant part does not match the alignment needed in a load/store that uses this address. Such a constant cannot be used as an immediate offset in an indexed instruction. When lowering a global address, make sure that if there is an offset folded into the global, the offset is valid for all uses in load/store instructions. llvm-svn: 323562
-
Krzysztof Parzyszek authored
llvm-svn: 323561
-
Wolfgang Pieb authored
Will recommit once that is addressed. llvm-svn: 323560
-
Eli Friedman authored
One common source of blocks with no successors is calls to noreturn functions; we want to preserve pristine registers in case they throw an exception. The whole pristine register thing is messy (we should really prefer to explicitly model registers), but this fills a hole in the model for now. Fixes https://bugs.llvm.org/show_bug.cgi?id=36073. Differential Revision: https://reviews.llvm.org/D42509 llvm-svn: 323559
-
Benjamin Kramer authored
llvm-svn: 323558
-