summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix invalid shufflevector operandsSimon Pilgrim2015-08-022-1/+25
| | | | | | | | | | This patch fixes bug 23800 ( https://llvm.org/bugs/show_bug.cgi?id=23800#c2 ). There existed a case where the index operand from extractelement was directly used to create a shufflevector mask. Since the index can be of any integral type but the mask must only contain 32 bit integers a 64 bit index operand led to an assertion error later on. Committed on behalf of mpflanzer (Moritz Pflanzer) Differential Revision: http://reviews.llvm.org/D10838 llvm-svn: 243851
* [X86][SSE] Refreshed sse2 vector shift testsSimon Pilgrim2015-08-021-139/+143
| | | | llvm-svn: 243850
* Dependences: Zero pad the schedule mapTobias Grosser2015-08-022-2/+80
| | | | | | | | | The schedule map we derive from a schedule tree map may map statements into schedule spaces of different dimensionality. This change adds zero padding to ensure just a single schedule space is used and the translation from a union_map to an isl_multi_union_pw_aff does not fail. llvm-svn: 243849
* [X86][AVX512VLDQ] add reduce/range/cvt intrinsics Asaf Badouh2015-08-023-0/+1209
| | | | | | | | add 128 & 256 width intrinsic versions of reduce/range and cvt i64 to FP and vice versa Differential Revision: http://reviews.llvm.org/D11598 llvm-svn: 243848
* Add support to set/get ordering for load/store from the C APIAndrew Wilkins2015-08-022-1/+36
| | | | | | | | | | | | Summary: As per title Reviewers: chandlerc, bogner, majnemer, axw Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11141 llvm-svn: 243847
* GDBRemoteCommunication::DecompressPacket assumed that the buffer it wasJason Molenda2015-08-021-11/+20
| | | | | | | | | | working with (the Communication m_bytes ivar) contained a single packet. Instead, it may contain multitudes. Find the boundaries of the first packet in the buffer and replace that with the decompressed version leaving the rest of the buffer unmodified. <rdar://problem/21841377> llvm-svn: 243846
* Mark CompositeType::getTypeAtIndex as const. NFCCraig Topper2015-08-012-7/+9
| | | | llvm-svn: 243845
* Mark Type::getPointerTo as const. Unfortunately, this requires a const_cast ↵Craig Topper2015-08-012-3/+3
| | | | | | inside, but at least it makes all methods on Type const. NFC llvm-svn: 243844
* Merge the const and non-const Type::getScalarType to a const version that ↵Craig Topper2015-08-012-11/+4
| | | | | | returns a non-const pointer. Since we don't put const on Types all places were already calling the non-const version. llvm-svn: 243843
* De-constify pointers to Type since they can't be modified. NFCCraig Topper2015-08-0130-121/+118
| | | | | | This was already done in most places a while ago. This just fixes the ones that crept in over time. llvm-svn: 243842
* Rangify for loops, NFC.Yaron Keren2015-08-014-9/+8
| | | | llvm-svn: 243841
* Revert r243827.Davide Italiano2015-08-011-1/+1
| | | | | | Until I figure out what's the right way of updating this file. llvm-svn: 243840
* [NVPTX] allow register copy between float and intJingyue Wu2015-08-012-22/+247
| | | | | | | | | | | | | | | Summary: Fixes PR24303. With Bruno's WIP (D11197) on PeepholeOptimizer, across-class register copying (e.g. i32 to f32) becomes possible. Enhance NVPTXInstrInfo::copyPhysReg to handle these cases. Reviewers: jholewinski Subscribers: eliben, jholewinski, llvm-commits, bruno Differential Revision: http://reviews.llvm.org/D11622 llvm-svn: 243839
* Remove trailing whitespace. NFCI.Simon Pilgrim2015-08-011-7/+7
| | | | llvm-svn: 243838
* Use SDValue bool check. NFCI.Simon Pilgrim2015-08-011-20/+10
| | | | llvm-svn: 243837
* Provide move constructor to appease Visual C++.Yaron Keren2015-08-011-1/+4
| | | | llvm-svn: 243836
* [Mips] Implement definition of the DT_MIPS_RLD_MAP_REL dynamic tagSimon Atanasyan2015-08-016-9/+21
| | | | llvm-svn: 243835
* [Mips] Support DT_MIPS_RLD_MAP_REL dynamic section tag in the llvm-readobjSimon Atanasyan2015-08-014-1/+29
| | | | llvm-svn: 243833
* [SemaExpr] Factor out common diagnostic code for remainder/division.Davide Italiano2015-08-011-18/+16
| | | | llvm-svn: 243832
* [DAGCombiner] Convert constant AND masks to shuffle clear masks down to the ↵Simon Pilgrim2015-08-0110-228/+225
| | | | | | | | | | | | | | byte level The XformToShuffleWithZero method currently checks AND masks at the per-lane level for all-one and all-zero constants and attempts to convert them to legal shuffle clear masks. This patch generalises XformToShuffleWithZero, splitting and checking the sub-lanes of the constants down to the byte level to see if any legal shuffle clear masks are possible. This allows a lot of masks (often from legalization or truncation) to be folded into existing shuffle patterns and removes a lot of constant mask loading. There are a few examples of poor shuffle lowering that are exposed by this patch that will be cleaned up in future patches (e.g. merging shuffles that are separated by bitcasts, x86 legalized v8i8 zero extension uses PMOVZX+AND+AND instead of AND+PMOVZX, etc.) Differential Revision: http://reviews.llvm.org/D11518 llvm-svn: 243831
* Only use instructions as insert locations for SCEVExpanderTobias Grosser2015-08-012-1/+57
| | | | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 243830
* Fix typoTobias Grosser2015-08-011-1/+1
| | | | llvm-svn: 243829
* [MS ABI] Create a mangling for extended vector typesDavid Majnemer2015-08-012-7/+7
| | | | | | Extended vector types are mangled just like normal vector types. llvm-svn: 243828
* Convertibility of nullptr_t to bool is available in clang. Note it.Davide Italiano2015-08-011-1/+1
| | | | llvm-svn: 243827
* Use the reserved keyword spelling of 'typeof'David Majnemer2015-08-011-1/+1
| | | | | | No functional change intended, just a drive-by cleanup. llvm-svn: 243826
* -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are ↵David Blaikie2015-08-012-9/+1
| | | | | | | | | | deprecated in C++11 Remove some unnecessary explicit special members in Hexagon that, once removed, allow the other implicit special members to be used without depending on deprecated features. llvm-svn: 243825
* -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are ↵David Blaikie2015-08-012-15/+20
| | | | | | deprecated in C++11 llvm-svn: 243824
* Workaround some compilers that give a stricter throw spec to = default than ↵David Blaikie2015-08-011-1/+1
| | | | | | implicit dtors llvm-svn: 243823
* WebAssembly: handle more than int32 argument/returnJF Bastien2015-08-018-27/+222
| | | | | | | | | | | | Summary: Also test 64-bit integers, except shifts for now which are broken because isel dislikes the 32-bit truncate that precedes them. Reviewers: sunfish Subscribers: llvm-commits, jfb Differential Revision: http://reviews.llvm.org/D11699 llvm-svn: 243822
* Missing formattingDavid Blaikie2015-08-011-1/+1
| | | | llvm-svn: 243821
* -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are ↵David Blaikie2015-08-012-83/+10
| | | | | | | | | | | | deprecated in C++11 Various targets use std::swap on specific MCAsmOperands (ARM and possibly Hexagon as well). It might be helpful to mark those subclasses as final, to ensure that the availability of move/copy operations can't lead to slicing. (same sort of requirements as the non-vitual dtor - protected or a final class) llvm-svn: 243820
* [Tests] Add explicit -std=lang option to a number of tests.Yunzhong Gao2015-08-015-4/+5
| | | | | | | | | | | This patch should not change the test results, but it is useful if clang's default C++ language is ever changed from gnu++98. Patch by: Charles Li http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20150727/134667.html llvm-svn: 243819
* [libFuzzer] more refactoring of the Mutator and adding tests to itKostya Serebryany2015-08-013-26/+133
| | | | llvm-svn: 243818
* [libFuzzer] start refactoring the Mutator and adding tests to itKostya Serebryany2015-08-015-14/+58
| | | | llvm-svn: 243817
* -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are ↵David Blaikie2015-08-011-0/+14
| | | | | | deprecated in C++11 llvm-svn: 243816
* [asan] Link tests with ld.gold on Android.Evgeniy Stepanov2015-08-011-0/+5
| | | | | | | | ld.bfd fails to find dependencies of asan runtime library w/o an extra -rpath-link pointing to usr/lib under the sysroot. Gold does not have this problem. llvm-svn: 243802
* Fix polly tests after LLVM IR change in r243774Duncan P. N. Exon Smith2015-07-317-18/+18
| | | | llvm-svn: 243801
* [ASan] Fix two tests on FreeBSD: alloca.h is missing there.Alexey Samsonov2015-07-312-2/+2
| | | | llvm-svn: 243800
* AMDGPU/SI: Add implicit register operands in the correct order.Alex Lorenz2015-07-314-24/+19
| | | | | | | | | | | | | | | | | | This commit fixes a bug in the class 'SIInstrInfo' where the implicit register machine operands were added to a machine instruction in an incorrect order - the implicit uses were added before the implicit defs. I found this bug while working on moving the implicit register operand verification code from the MIR parser to the machine verifier. This commit also makes the method 'addImplicitDefUseOperands' in the machine instruction class public so that it can be reused in the 'SIInstrInfo' class. Reviewers: Matt Arsenault Differential Revision: http://reviews.llvm.org/D11689 llvm-svn: 243799
* MIR Parser: Report an error when a jump table entry is redefined.Alex Lorenz2015-07-313-3/+88
| | | | llvm-svn: 243798
* [Sanitizer] Try to fix sanitizer_libc_test on FreeBSD.Alexey Samsonov2015-07-311-8/+3
| | | | llvm-svn: 243797
* MIR Parser: Remove unused variable.Alex Lorenz2015-07-311-1/+0
| | | | | | This variable is unused as of r243572. llvm-svn: 243796
* [libFuzzer] limit the size of the inputs printed to stderrKostya Serebryany2015-07-311-4/+10
| | | | llvm-svn: 243795
* COFF: Fix error message. Space was missing.Rui Ueyama2015-07-311-1/+1
| | | | llvm-svn: 243794
* [libFuzzer] minimal documentation on data-flow-guided fuzzingKostya Serebryany2015-07-312-0/+43
| | | | llvm-svn: 243793
* Fix an MSVC build break since it can't synthesize move ctors.David Blaikie2015-07-311-1/+3
| | | | llvm-svn: 243792
* Fix a GCC buildbot that seemed to be having trouble producing the implicit ↵David Blaikie2015-07-311-0/+5
| | | | | | move ctor llvm-svn: 243791
* [NVPTX] convert pointers in byval kernel arguments to globalJingyue Wu2015-07-312-22/+99
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: For example, in struct S { int *x; int *y; }; __global__ void foo(S s) { int *b = s.y; // use b } "b" is guaranteed to point to global. NVPTX should emit ld.global/st.global for accessing "b". Reviewers: jholewinski Subscribers: llvm-commits, jholewinski Differential Revision: http://reviews.llvm.org/D11505 llvm-svn: 243790
* Fix some formatting from a recent commit.David Blaikie2015-07-311-2/+2
| | | | llvm-svn: 243789
* -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are ↵David Blaikie2015-07-312-7/+8
| | | | | | deprecated in C++11 llvm-svn: 243788
OpenPOWER on IntegriCloud