- Nov 10, 2015
-
-
Tom Stellard authored
------------------------------------------------------------------------ r245907 | hfinkel | 2015-08-24 19:48:28 -0400 (Mon, 24 Aug 2015) | 6 lines [PowerPC] PPCVSXFMAMutate should ignore trivial-copy addends We might end up with a trivial copy as the addend, and if so, we should ignore the corresponding FMA instruction. The trivial copy can be coalesced away later, so there's nothing to do here. We should not, however, assert. Fixes PR24544. ------------------------------------------------------------------------ llvm-svn: 252476
-
- Nov 09, 2015
-
-
Renato Golin authored
------------------------------------------------------------------------ r249165 | rdivacky | 2015-10-02 19:25:25 +0100 (Fri, 02 Oct 2015) | 2 lines Actually switch the arch when we see .arch. PR21695 llvm-svn: 252456
-
- Nov 07, 2015
-
-
Tom Stellard authored
------------------------------------------------------------------------ r244221 | dougk | 2015-08-06 11:44:12 -0400 (Thu, 06 Aug 2015) | 4 lines [SPARC] Don't compare arch name as a string, use the enum instead. Fixes PR22695 ------------------------------------------------------------------------ llvm-svn: 252393
-
- Nov 06, 2015
-
-
Tom Stellard authored
------------------------------------------------------------------------ r251335 | ismail.pazarbasi | 2015-10-26 15:20:24 -0400 (Mon, 26 Oct 2015) | 13 lines MismatchingNewDeleteDetector uses incorrect field, and finds no initializer Summary: In `MismatchingNewDeleteDetector::analyzeInClassInitializer`, if `Field`'s initializer expression is null, lookup the field in implicit instantiation, and use found field's the initializer. Reviewers: rsmith, rtrieu Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D9898 ------------------------------------------------------------------------ llvm-svn: 252290
-
Tom Stellard authored
------------------------------------------------------------------------ r250657 | dimitry | 2015-10-18 09:32:20 -0400 (Sun, 18 Oct 2015) | 13 lines Support linking against OpenMP runtime on FreeBSD. Summary: Similar to rL248426 (which was a followup to rL248379 and rL248424), add the required libraries for OpenMP on the linker command line, and update the test case. Reviewers: emaste, theraven, joerg Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D13822 ------------------------------------------------------------------------ llvm-svn: 252289
-
Tom Stellard authored
------------------------------------------------------------------------ r248426 | joerg | 2015-09-23 16:11:00 -0400 (Wed, 23 Sep 2015) | 2 lines Support linking against OpenMP runtime on NetBSD. ------------------------------------------------------------------------ llvm-svn: 252288
-
Tom Stellard authored
------------------------------------------------------------------------ r248424 | joerg | 2015-09-23 16:07:56 -0400 (Wed, 23 Sep 2015) | 3 lines Push OpenMP linker flags after linker input on Darwin. Don't add any libraries if -nostdlib is specified. Test. ------------------------------------------------------------------------ llvm-svn: 252287
-
Tom Stellard authored
------------------------------------------------------------------------ r248379 | joerg | 2015-09-23 10:06:52 -0400 (Wed, 23 Sep 2015) | 3 lines Refactor library decision for -fopenmp support from Darwin into a function for sharing with other platforms. ------------------------------------------------------------------------ llvm-svn: 252286
-
- Nov 05, 2015
-
-
Daniel Sanders authored
------------------------------------------------------------------------ r251622 | vkalintiris | 2015-10-29 10:17:16 +0000 (Thu, 29 Oct 2015) | 17 lines [mips] Check the register class before replacing materializations of zero with $zero in microMIPS. Summary: The microMIPS register class GPRMM16 does not contain the $zero register. However, MipsSEDAGToDAGISel::replaceUsesWithZeroReg() would replace uses of the $dst register: [d]addiu, $dst, $zero, 0 with the $zero register, without checking for membership in the register class of the target machine operand. Reviewers: dsanders Subscribers: llvm-commits, dsanders Differential Revision: http://reviews.llvm.org/D13984 ------------------------------------------------------------------------ llvm-svn: 252158
-
Tom Stellard authored
------------------------------------------------------------------------ r245741 | hfinkel | 2015-08-21 17:34:24 -0400 (Fri, 21 Aug 2015) | 8 lines [PowerPC] PPCVSXFMAMutate should not segfault on undef input registers When PPCVSXFMAMutate would look at the input addend register, it would get its input value number. This would fail, however, if the register was undef, causing a segfault. Don't segfault (just skip such FMA instructions). Fixes the test case from PR24542 (although that may have been over-reduced). ------------------------------------------------------------------------ llvm-svn: 252132
-
- Oct 24, 2015
-
-
Alexei Starovoitov authored
------------------------------------------------------------------------ r249718 | ast | 2015-10-08 11:52:40 -0700 (Thu, 08 Oct 2015) | 16 lines [bpf] Do not expand UNDEF SDNode during insn selection lowering o Before this patch, BPF backend will expand UNDEF node to i64 constant 0. o For second pass of dag combiner, legalizer will run through each to-be-processed dag node. o If any new SDNode is generated and has an undef operand, dag combiner will put undef node, newly-generated constant-0 node, and any node which uses these nodes in the working list. o During this process, it is possible undef operand is generated again, and this will form an infinite loop for dag combiner pass2. o This patch allows UNDEF to be a legal type. Signed-off-by:Yonghong Song <yhs@plumgrid.com> Signed-off-by:
Alexei Starovoitov <ast@plumgrid.com> ------------------------------------------------------------------------ llvm-svn: 251177
-
Alexei Starovoitov authored
------------------------------------------------------------------------ r249371 | ast | 2015-10-05 21:00:53 -0700 (Mon, 05 Oct 2015) | 25 lines [bpf] Avoid extra pointer arithmetic for stack access For the program like below struct key_t { int pid; char name[16]; }; extern void test1(char *); int test() { struct key_t key = {}; test1(key.name); return 0; } For key.name, the llc/bpf may generate the below code: R1 = R10 // R10 is the frame pointer R1 += -24 // framepointer adjustment R1 |= 4 // R1 is then used as the first parameter of test1 OR operation is not recognized by in-kernel verifier. This patch introduces an intermediate FI_ri instruction and generates the following code that can be properly verified: R1 = R10 R1 += -20 Patch by Yonghong Song <yhs@plumgrid.com> ------------------------------------------------------------------------ llvm-svn: 251175 -
Alexei Starovoitov authored
------------------------------------------------------------------------ r247951 | ast | 2015-09-17 15:18:08 -0700 (Thu, 17 Sep 2015) | 5 lines [bpf] expand indirect branches BPF instruction set doesn't have indirect branches. Expand them. Reported by John Fastabend. ------------------------------------------------------------------------ llvm-svn: 251174
-
- Sep 14, 2015
-
-
Daniel Sanders authored
------------------------------------------------------------------------ r247128 | dsanders | 2015-09-09 10:53:20 +0100 (Wed, 09 Sep 2015) | 31 lines Fix vector splitting for extract_vector_elt and vector elements of <8-bits. Summary: One of the vector splitting paths for extract_vector_elt tries to lower: define i1 @via_stack_bug(i8 signext %idx) { %1 = extractelement <2 x i1> <i1 false, i1 true>, i8 %idx ret i1 %1 } to: define i1 @via_stack_bug(i8 signext %idx) { %base = alloca <2 x i1> store <2 x i1> <i1 false, i1 true>, <2 x i1>* %base %2 = getelementptr <2 x i1>, <2 x i1>* %base, i32 %idx %3 = load i1, i1* %2 ret i1 %3 } However, the elements of <2 x i1> are not byte-addressible. The result of this is that the getelementptr expands to '%base + %idx * (1 / 8)' which simplifies to '%base + %idx * 0', and then simply '%base' causing all values of %idx to extract element zero. This commit fixes this by promoting the vector elements of <8-bits to i8 before splitting the vector. This fixes a number of test failures in pocl. Reviewers: pekka.jaaskelainen Subscribers: pekka.jaaskelainen, llvm-commits Differential Revision: http://reviews.llvm.org/D12591 ------------------------------------------------------------------------ llvm-svn: 247539 -
Daniel Sanders authored
------------------------------------------------------------------------ r246990 | dsanders | 2015-09-08 10:07:03 +0100 (Tue, 08 Sep 2015) | 9 lines [mips] Reserve address spaces 1-255 for software use. Summary: And define them to have noop casts with address spaces 0-255. Reviewers: pekka.jaaskelainen Subscribers: pekka.jaaskelainen, llvm-commits Differential Revision: http://reviews.llvm.org/D12678 ------------------------------------------------------------------------ llvm-svn: 247538
-
- Sep 12, 2015
-
-
Duncan P. N. Exon Smith authored
------------------------------------------------------------------------ r247372 | dexonsmith | 2015-09-10 18:34:59 -0700 (Thu, 10 Sep 2015) | 15 lines AsmWriter: Avoid O(N^2) processing of metadata Fix embarrassing bugs I introduced to the `SlotTracker` in or around r235785. I had us iterating through every instruction in a function (and hitting a map in the LLVMContext) for every basic block in the function. While there, completely avoid the call to `SlotTracker::processFunctionMetadata()` from `SlotTracker::processFunction()` if we've speculatively done this already in `SlotTracker::processModule()` by checking `ShouldInitializeAllMetadata` (this wasn't an algorithmic problem, but it's touching the same line of code). Fixes PR24699. ------------------------------------------------------------------------ llvm-svn: 247440
-
- Sep 10, 2015
-
-
Reid Kleckner authored
It restores the signature of LLVMBuildLandingPad in the C API back to what it was in 3.6 and earlier. The 3.7.0 release should have had this but it did not. llvm-svn: 247191
-
- Aug 28, 2015
-
-
Michael Wong authored
llvm-svn: 246299
-
Hans Wennborg authored
and clang-tidy sections, which concern similar functionality. llvm-svn: 246157
-
- Aug 27, 2015
-
-
Saleem Abdulrasool authored
libunwind moved from libc++abi into a separate project. This may catch users off guard, so add a release note. Thanks to Hans for the reminder! llvm-svn: 246136
-
Saleem Abdulrasool authored
llvm-svn: 246135
-
Hans Wennborg authored
llvm-svn: 246108
-
Hans Wennborg authored
By Greg Bedwell! Differential Revision: http://reviews.llvm.org/D12368 llvm-svn: 246090
-
Hans Wennborg authored
By Brenden Blanco! llvm-svn: 246072
-
Hans Wennborg authored
Patch by Greg Bedwell! Differential Revision: http://reviews.llvm.org/D12367 llvm-svn: 246071
-
Hans Wennborg authored
By Tobias Grosser! llvm-svn: 246053
-
- Aug 26, 2015
-
-
Reid Kleckner authored
llvm-svn: 246036
-
Tobias Grosser authored
SCEVExpander, which we are using during code generation, only allows instructions as insert locations, but breaks in case BasicBlock->end() iterators are passed to it due to it trying to obtain the basic block in which code should be generated by calling Instruction->getParent(), which is not defined for ->end() iterators. This change adds an assert to Polly that ensures we only pass valid instructions to SCEVExpander and it fixes one case, where we used IRBuilder->SetInsertBlock() to set an ->end() insert location which was later passed to SCEVExpander. In general, Polly is always trying to build up the CFG first, before we actually insert instructions into the CFG sceleton. As a result, each basic block should already have at least one branch instruction before we start adding code. Hence, always requiring the IRBuilder insert location to be set to a real instruction should always be possible. Thanks Utpal Bora <cs14mtech11017@iith.ac.in> for his help with test case reduction. This is a backport from r243830 as it was committed on trunk. llvm-svn: 246029
-
Eric Christopher authored
llvm-svn: 246013
-
Hans Wennborg authored
llvm-svn: 245973
-
Hans Wennborg authored
llvm-svn: 245972
-
Hans Wennborg authored
llvm-svn: 245969
-
Hans Wennborg authored
llvm-svn: 245968
-
Hans Wennborg authored
By Mehdi Amini. llvm-svn: 245948
-
Hans Wennborg authored
------------------------------------------------------------------------ r245927 | slthakur | 2015-08-25 02:52:59 -0700 (Tue, 25 Aug 2015) | 9 lines Fix build on mips Setting and getting register values as bytes instead of depending on the 128 bit integer support in register value. This patch will fix the build failure in the release branch. Reviewers: tberghammer, clayborg, hans Subscribers: bhushan, nitesh.jain, jaydeep, lldb-commits Differential: http://reviews.llvm.org/D12275 ------------------------------------------------------------------------ llvm-svn: 245947
-
- Aug 25, 2015
-
-
Hans Wennborg authored
------------------------------------------------------------------------ r245902 | hans | 2015-08-24 16:34:28 -0700 (Mon, 24 Aug 2015) | 3 lines Revert r245355 "Release script: correctly symlink clang-tools-extra into the build (PR22765)" This worked with the CMake build but broke the Autoconf one. ------------------------------------------------------------------------ llvm-svn: 245903
-
Richard Trieu authored
llvm-svn: 245857
-
- Aug 24, 2015
-
-
Michael Wong authored
Update CREDITS.TXT with Clang OpenMP implementation + test suite contributors from AMD, Argonne National Lab., IBM, Intel, Texas Instruments, University of Houston and many others. llvm-svn: 245845
-
- Aug 21, 2015
-
-
Hans Wennborg authored
------------------------------------------------------------------------ llvm-svn: 245623
-
Hans Wennborg authored
------------------------------------------------------------------------ r245560 | ogoffart | 2015-08-20 06:11:14 -0700 (Thu, 20 Aug 2015) | 5 lines Fix crash with two typos in the arguments of a function The problem is that the arguments are of TheCall are reset later to the ones in Args, making TypoExpr put back. Some TypoExpr that have already been diagnosed and will assert later in Sema::getTypoExprState ------------------------------------------------------------------------ llvm-svn: 245615
-