summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [Hexagon] Adding multiply with rnd/sat/rndsatColin LeMahieu2014-12-152-0/+78
| | | | llvm-svn: 224265
* [X86] And also test INSERTPS shuffle mask pretty-printing.Ahmed Bougacha2014-12-151-0/+5
| | | | | | For r224260. llvm-svn: 224264
* LiveRangeCalc: use more range based for loops; NFCMatthias Braun2014-12-151-20/+18
| | | | llvm-svn: 224263
* Update this testcase for the new metadata assembler syntax.Adrian Prantl2014-12-151-1/+1
| | | | llvm-svn: 224262
* [Hexagon] Adding encoding bits for halfword multiplies.Colin LeMahieu2014-12-152-0/+49
| | | | llvm-svn: 224261
* [X86] Also pretty-print shuffle mask for INSERTPS rm variants.Ahmed Bougacha2014-12-151-3/+7
| | | | llvm-svn: 224260
* IR: Make metadata typeless in assembly, clang sideDuncan P. N. Exon Smith2014-12-15119-838/+838
| | | | | | Match LLVM changes from r224257. llvm-svn: 224259
* Replace ioctl with select to reduce processor usage by lldb-mi on OSX.Hafiz Abid Qadeer2014-12-155-13/+47
| | | | | | | | | | | | | | | | This saga started with a hang on OSX. 2 solutions were proposed. 1) 'select' based solution works ok on OSX but slows down test completion time on Linux many times. 2) 'ioctl' base solution also works but it causes heavy processor usage on OSX as reported by Ilia K. But as the original hang did not occur on Linux so this commit re-introduces the 'select' in conditional code so that it only runs for OSX. There is no need for this 'fix' to run on Linux. Initial patch by Ilia K <ki.stfu@gmail.com>. A few changes were made by me. llvm-svn: 224258
* IR: Make metadata typeless in assemblyDuncan P. N. Exon Smith2014-12-15703-11805/+11825
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that `Metadata` is typeless, reflect that in the assembly. These are the matching assembly changes for the metadata/value split in r223802. - Only use the `metadata` type when referencing metadata from a call intrinsic -- i.e., only when it's used as a `Value`. - Stop pretending that `ValueAsMetadata` is wrapped in an `MDNode` when referencing it from call intrinsics. So, assembly like this: define @foo(i32 %v) { call void @llvm.foo(metadata !{i32 %v}, metadata !0) call void @llvm.foo(metadata !{i32 7}, metadata !0) call void @llvm.foo(metadata !1, metadata !0) call void @llvm.foo(metadata !3, metadata !0) call void @llvm.foo(metadata !{metadata !3}, metadata !0) ret void, !bar !2 } !0 = metadata !{metadata !2} !1 = metadata !{i32* @global} !2 = metadata !{metadata !3} !3 = metadata !{} turns into this: define @foo(i32 %v) { call void @llvm.foo(metadata i32 %v, metadata !0) call void @llvm.foo(metadata i32 7, metadata !0) call void @llvm.foo(metadata i32* @global, metadata !0) call void @llvm.foo(metadata !3, metadata !0) call void @llvm.foo(metadata !{!3}, metadata !0) ret void, !bar !2 } !0 = !{!2} !1 = !{i32* @global} !2 = !{!3} !3 = !{} I wrote an upgrade script that handled almost all of the tests in llvm and many of the tests in cfe (even handling many `CHECK` lines). I've attached it (or will attach it in a moment if you're speedy) to PR21532 to help everyone update their out-of-tree testcases. This is part of PR21532. llvm-svn: 224257
* Warn when attribute 'optnone' conflicts with attributes on aPaul Robinson2014-12-157-4/+86
| | | | | | different declaration of the same function. llvm-svn: 224256
* Silence more static analyzer warnings.Michael Ilseman2014-12-1513-11/+45
| | | | | | | | Add in definedness checks for shift operators, null checks when pointers are assumed by the code to be non-null, and explicit unreachables. llvm-svn: 224255
* Move mips1 tests to test/MC/Disassembler/Mips/mips1Reid Kleckner2014-12-153-0/+0
| | | | | | | This matches the pattern of the mips2 and 3 tests, as well as our normal conventions. llvm-svn: 224254
* Add disassembler tests for mips3 platform. There are no functional changes.Vladimir Medic2014-12-153-1/+420
| | | | llvm-svn: 224253
* Add disassembler tests for mips2 platform. There are no functional changes.Vladimir Medic2014-12-152-0/+318
| | | | llvm-svn: 224252
* This is the first in a series of patches that add missing disassembler tests ↵Vladimir Medic2014-12-153-0/+237
| | | | | | for mips platform. The patches are divided per version of mips CPU to keep the patches smaller and ease the review. There are no functional changes, code is changed only if new tests reveal a bug.This patch adds disassembler tests for mips1 CPU. llvm-svn: 224251
* Add voidType() matcher.Samuel Benzaquen2014-12-153-0/+18
| | | | | | | | | | | | Summary: Add voidType() matcher. Reviewers: klimek Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D6656 llvm-svn: 224250
* Changing a cast from unsigned to uint64_t, should be NFC in practice.Aaron Ballman2014-12-151-1/+1
| | | | llvm-svn: 224249
* Added a test related to 224247 revisionElena Demikhovsky2014-12-151-0/+43
| | | | llvm-svn: 224248
* Sink store based on alias analysisElena Demikhovsky2014-12-154-63/+63
| | | | | | | | | | | | - by Ella Bolshinsky The alias analysis is used define whether the given instruction is a barrier for store sinking. For 2 identical stores, following instructions are checked in the both basic blocks, to determine whether they are sinking barriers. http://reviews.llvm.org/D6420 llvm-svn: 224247
* [X86] Break false dependencies before partial register updates when the ↵Michael Kuperstein2014-12-153-43/+120
| | | | | | | | | | source operand is in memory Adds the various "rm" instruction variants into the list of instructions that have a partial register update. Also adds all variants of SQRTSD that were missing in the original list. Differential Revision: http://reviews.llvm.org/D6620 llvm-svn: 224246
* Replace ReaderError with DynamicError.Rui Ueyama2014-12-153-42/+1
| | | | | | | | | ReaderErrorCategory was used only at one place. We now have a DynamicErrorCategory for this kind of one-time error, so use it. The calling function doesn't really care the type of an error, so ReaderErrorCategory was actually dead code. llvm-svn: 224245
* Typo Correction in Test Case. NFC.Suyog Sarda2014-12-151-1/+1
| | | | llvm-svn: 224244
* [ubsan][arm] supporting misaligned testcaseKumar Sukhani2014-12-151-1/+0
| | | | | | After previous commit: http://reviews.llvm.org/rL224242, misaligned testcase is now supported on ARM also llvm-svn: 224243
* [UBSan][MIPS] Adding support of MIPS64 in UBSan testingKumar Sukhani2014-12-151-2/+2
| | | | | | | | | | On mips64 addresses are 40-bit. Where as a 48 bit address is used in TypeCheck/misaligned.cpp. Using regular expression for that address. reviewed by : samsonov submitted by: sagar llvm-svn: 224242
* AVX-512: Added EXPAND instructions and intrinsics.Elena Demikhovsky2014-12-156-15/+343
| | | | llvm-svn: 224241
* Sema: Don't diagnose string + int if the int is value dependentDavid Majnemer2014-12-152-1/+6
| | | | | | | | | | | Don't send a value dependent expression into the expression evaluator, HandleSizeof would crash. Making HandleSizeof handle dependent types would noisily warn about the operation even if everything turns out OK after instantiation. This fixes PR21848. llvm-svn: 224240
* [UBSan][MIPS] Adding support for MIPS64Kumar Sukhani2014-12-151-1/+1
| | | | | | | | | No MIPS64 architecture dependant code reviewed by : samsonov submitted by: sagar llvm-svn: 224239
* Preprocessor: Recover instead of mutating a token in ExpandBuiltinMacroDavid Majnemer2014-12-152-5/+18
| | | | | | | | | | | We would CreateString on arbitrary garbage instead of just skipping to the end of the builtin macro. Eventually, this would cause us to crash because we would end up replacing the contents of a character token with a numeric literal. This fixes PR21825. llvm-svn: 224238
* Sema: Don't leave switch stack inconsistent when recoveringDavid Majnemer2014-12-153-2/+12
| | | | | | | | | We would exit Sema::ActOnFinishSwitchStmt early if we didn't have a body. This would leave an extra SwitchStmt on the SwitchStack. This fixes PR21841. llvm-svn: 224237
* Remove dead code.Rui Ueyama2014-12-151-4/+0
| | | | | | This field was not even initialized properly. llvm-svn: 224236
* Protect doParse() because that's not a public interface.Rui Ueyama2014-12-156-17/+21
| | | | llvm-svn: 224235
* Test for 'omp for' (for r224233).Alexander Musman2014-12-151-0/+91
| | | | llvm-svn: 224234
* First patch with codegen of the 'omp for' directive. It implementsAlexander Musman2014-12-159-257/+810
| | | | | | | | | | | | | | | the simplest case, which is used when no chunk_size is specified in the schedule(static) or no 'schedule' clause is specified - the iteration space is divided by the library into chunks that are approximately equal in size, and at most one chunk is distributed to each thread. In this case, we do not need an outer loop in each thread - each thread requests once which iterations range it should handle (using __kmpc_for_static_init runtime call) and then runs the inner loop on this range. Differential Revision: http://reviews.llvm.org/D5865 llvm-svn: 224233
* Parse: Don't reorder tokens using ConsumeTokenDavid Majnemer2014-12-152-1/+6
| | | | | | | | | ConsumeToken doesn't work with special tokens. Instead, just use PP.Lex to eat the token. This fixes PR21817. llvm-svn: 224232
* Fixed test/CodeGen/atomic_ops.c for compatibility with hexagon targetAlexey Bataev2014-12-151-3/+3
| | | | llvm-svn: 224231
* Bugfix for Codegen of atomic load/store/other ops.Alexey Bataev2014-12-156-89/+646
| | | | | | | Currently clang fires assertions on x86-64 on any atomic operations for long double operands. Patch fixes codegen for such operations. Differential Revision: http://reviews.llvm.org/D6499 llvm-svn: 224230
* Fix line mapping information in LLVM JIT profiling with VtuneAlexey Bataev2014-12-152-1/+13
| | | | | | | | The line mapping information for dynamic code is reported incorrectly. It causes VTune to map LLVM generated code to source lines incorrectly. This patch fix this issue. Patch by Denis Pravdin. Differential Revision: http://reviews.llvm.org/D6603 llvm-svn: 224229
* MSVC: A wide string literal from L#macro_arg in a macroAlexey Bataev2014-12-153-5/+40
| | | | | | | | Clang should form a wide string literal from L#macro_arg in a function-like macro in -fms-compatibility mode. Fix for http://llvm.org/PR9984. Differential Revision: http://reviews.llvm.org/D6604 llvm-svn: 224228
* ThreadLocal: Move Unix-specific code out of Support/ThreadLocal.cppDavid Majnemer2014-12-152-45/+43
| | | | | | Just a cleanup, no functionality change is intended. llvm-svn: 224227
* StringPool: Cleanup typos in unittest commentsDavid Majnemer2014-12-151-2/+2
| | | | | | No functional change intended. llvm-svn: 224226
* ThreadLocal: Return a mutable pointer if templated with a non-const typeDavid Majnemer2014-12-155-7/+26
| | | | | | | It makes more sense for ThreadLocal<const T>::get to return a const T* and ThreadLocal<T>::get to return a T*. llvm-svn: 224225
* Use unique_ptr to remove explicit delete.Craig Topper2014-12-153-9/+9
| | | | llvm-svn: 224224
* Don't break single-line raw string literals.Alexander Kornienko2014-12-142-41/+9
| | | | | | | | | | | | Reviewers: djasper Reviewed By: djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D6636 llvm-svn: 224223
* Update test case with more accurate column information now that Clang ↵David Blaikie2014-12-141-1/+1
| | | | | | produces same llvm-svn: 224222
* DebugInfo: More accurate line information for placement new.David Blaikie2014-12-142-3/+8
| | | | | | | | | | | This actually came up as a break in UBSan tests (look for a follow-up commit to this one to see the UBSan test fallout) when I tried a broader fix to location information. I have some other ideas about how to do that broader change & will keep looking into it. llvm-svn: 224221
* CodeGen: Compound literals with funny types shouldn't crashDavid Majnemer2014-12-144-5/+21
| | | | | | | | | | | | | | | | | CodeGen assumed that a compound literal with array type should have a corresponding LLVM IR array type. We had two bugs in this area: - Zero sized arrays in compound literals would lead to the creation of an opaque type. This is unnecessary, we should just create an array type with a bound of zero. - Funny record types (like unions) lead to exotic IR types for compound literals. In this case, CodeGen must be prepared to deal with the possibility that it might not have an array IR type. This fixes PR21912. llvm-svn: 224219
* Loop Vectorizer minor changes in the code - Elena Demikhovsky2014-12-144-14/+14
| | | | | | | | some comments, function names, identation. Reviewed here: http://reviews.llvm.org/D6527 llvm-svn: 224218
* APInt: udivrem should use machine instructions for single-word APIntsDavid Majnemer2014-12-141-0/+12
| | | | | | | | This mirrors the behavior of APInt::udiv and APInt::urem. Some architectures, like X86, have a single instruction which can compute both division and remainder. llvm-svn: 224217
* ScalarEvolution: Remove SCEVUDivision, it's unusedDavid Majnemer2014-12-141-93/+26
| | | | | | This is just a code simplification, no functionality change is intended. llvm-svn: 224216
* AST: Limit zero-sized constexpr behavior to array typesDavid Majnemer2014-12-142-2/+5
| | | | | | | Restricting this "extension" to array types maximizes our standards conformance while not miscompiling real-world programs. llvm-svn: 224215
OpenPOWER on IntegriCloud