summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* calculate builtin_object_size if argument is a removable pointerPetar Jovanovic2016-03-012-6/+53
| | | | | | | | | | | | This patch fixes calculating correct value for builtin_object_size function when pointer is used only in builtin_object_size function call and never after that. Patch by Strahinja Petrovic. Differential Revision: http://reviews.llvm.org/D17337 llvm-svn: 262337
* [cmake] Pass through the cmake_3_2_USES_TERMINAL variable so we get progress ↵Filipe Cabecinhas2016-03-011-0/+1
| | | | | | bars on an external compiler-rt build llvm-svn: 262336
* [cmake] Use CMake's USES_TERMINAL for the test targets.Filipe Cabecinhas2016-03-011-1/+3
| | | | llvm-svn: 262335
* [cmake] Fallback to LLVM_EXTERNAL_COMPILER_RT_SOURCE_DIR if ↵Filipe Cabecinhas2016-03-011-0/+7
| | | | | | COMPILER_RT_SRC_ROOT doesn't exist. llvm-svn: 262334
* Slightly improve logging in LLGS testsPavel Labath2016-03-011-1/+1
| | | | | | we're sometimes getting an exception here, and I want to see why... llvm-svn: 262333
* [AMDGPU] Disassembler code refactored + error messages.Nikolay Haustov2016-03-013-385/+308
| | | | | | | | | | | | | | | | | | Idea behind this change is to make code shorter and as much common for all targets as possible. Let's even accept more code than is valid for a particular target, leaving it for the assembler to sort out. 64bit instructions decoding added. Error\warning messages on unrecognized instructions operands added, InstPrinter allowed to print invalid operands helping to find invalid/unsupported code. The change is massive and hard to compare with previous version, so it makes sense just to take a look on the new version. As a bonus, with a few TD changes following, it disassembles the majority of instructions. Currently it fully disassembles >300K binary source of some blas kernel. Previous TODOs were saved whenever possible. Patch by: Valery Pykhtin Differential Revision: http://reviews.llvm.org/D17720 llvm-svn: 262332
* Produce PT_NOTE program headers.Rafael Espindola2016-03-012-0/+24
| | | | llvm-svn: 262331
* [LTO] Fix error reporting from lto_module_create_in_local_context()Petr Pavlu2016-03-016-50/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | Function lto_module_create_in_local_context() would previously rely on the default LLVMContext being created for it by LTOModule::makeLTOModule(). This context exits the program on error and is not arranged to update sLastStringError in tools/lto/lto.cpp. Function lto_module_create_in_local_context() now creates an LLVMContext by itself, sets it up correctly to its needs and then passes it to LTOModule::createInLocalContext() which takes ownership of the context and keeps it present for the lifetime of the returned LTOModule. Function LTOModule::makeLTOModule() is modified to take a reference to LLVMContext (instead of a pointer) and no longer creates a default context when nullptr is passed to it. Method LTOModule::createInContext() that takes a pointer to LLVMContext is removed because it allows to pass a nullptr to it. Instead LTOModule::createFromBuffer() (that takes a reference to LLVMContext) should be used. Differential Revision: http://reviews.llvm.org/D17715 llvm-svn: 262330
* FormatTests: Update libdeps corresponding to r262323.NAKAMURA Takumi2016-03-011-0/+1
| | | | llvm-svn: 262329
* Track assumptions and restrictions separatlyJohannes Doerfert2016-03-0139-236/+230
| | | | | | | | | | | | | | | In order to speed up compile time and to avoid random timeouts we now separately track assumptions and restrictions. In this context assumptions describe parameter valuations we need and restrictions describe parameter valuations we do not allow. During AST generation we create a runtime check for both, whereas the one for the restrictions is negated before a conjunction is build. Except the In-Bounds assumptions we currently only track restrictions. Differential Revision: http://reviews.llvm.org/D17247 llvm-svn: 262328
* [FIX] Prevent compile time problems due to complex invariant loadsJohannes Doerfert2016-03-012-1/+88
| | | | | | This cures the symptoms we see in h264 of SPEC2006 but not the cause. llvm-svn: 262327
* [CLANG][AVX512][BUILTIN] Adding PSRLV builtin Michael Zuckerman2016-03-016-0/+248
| | | | | | Differential Revision: http://reviews.llvm.org/D17718 llvm-svn: 262326
* Fix test breakage on windows where the default std is c++11 by forcing c++03 ↵Manuel Klimek2016-03-011-1/+1
| | | | | | in the test. llvm-svn: 262325
* Fix DLL build by adding required dependency.Manuel Klimek2016-03-011-0/+1
| | | | llvm-svn: 262324
* Add functions to apply replacements and reformat them.Manuel Klimek2016-03-017-3/+137
| | | | | | | | | | | | | | | | This is a commonly useful feature to have, and we have implemented it multiple times with different kinds of bugs. This implementation centralizes the idea in a set of functions that we can then use from the various tools. Reverts r262234, which is a revert of r262232, and puts the functions into FOrmat.h, as they are closely coupled to clang-format, and we otherwise introduce a cyclic dependency between libFormat and libTooling. Patch by Eric Liu. llvm-svn: 262323
* Fix warning in NSDictionary.cppPavel Labath2016-03-011-1/+1
| | | | llvm-svn: 262322
* [CLANG] [AVX512] [BUILTIN] Adding PSRA{Q|D|QI|DI}{128|256|512} builtinMichael Zuckerman2016-03-014-1/+219
| | | | | | Differential Revision: http://reviews.llvm.org/D17693 llvm-svn: 262321
* [AVX512][PSRAQ][PSRAD] Change imm8 to int.Michael Zuckerman2016-03-014-42/+42
| | | | | | Differential Revision: http://reviews.llvm.org/D17692 llvm-svn: 262320
* Disallow generating vzeroupper before return instruction (iret) in interrupt ↵Amjad Aboud2016-03-012-3/+27
| | | | | | | | | | handler function. This resolves https://llvm.org/bugs/show_bug.cgi?id=26412 Differential Revision: http://reviews.llvm.org/D17542 llvm-svn: 262319
* Optionally demote fatal errors to non-fatal errors.Manuel Klimek2016-03-018-1/+83
| | | | | | | | | | | | | | | | | | This behavior is enabled when the new CXTranslationUnit_KeepGoing option is passed to clang_parseTranslationUnit{,2}. It is geared towards use by IDEs and similar consumers of the clang-c API where fatal errors may arise when parsing incomplete code mid-edit, or when include paths are not properly configured yet. In such situations one still wants to get as much information as possible about a TU. Previously, the semantic analysis would not instantiate templates or report additional fatal errors after the first fatal error was encountered. Fixes PR24268. Patch by Milian Wolff. llvm-svn: 262318
* [MC][YAML] Rangify the loop. NFCSimon Atanasyan2016-03-011-6/+2
| | | | llvm-svn: 262317
* [mips] Promote the result of SETCC nodes to GPR width.Vasileios Kalintiris2016-03-0127-601/+809
| | | | | | | | | | | | | | | | | | | | Summary: This patch modifies the existing comparison, branch, conditional-move and select patterns, and adds new ones where needed. Also, the updated SLT{u,i,iu} set of instructions generate a GPR width result. The majority of the code changes in the Mips back-end fix the wrong assumption that the result of SETCC nodes always produce an i32 value. The changes in the common code path account for the fact that in 64-bit MIPS targets, i1 is promoted to i32 instead of i64. Reviewers: dsanders Subscribers: dsanders, llvm-commits Differential Revision: http://reviews.llvm.org/D10970 llvm-svn: 262316
* [ELF] use of already declared reference instead of indirect access to ↵George Rimar2016-03-011-3/+3
| | | | | | fields. NFC. llvm-svn: 262315
* [TableGen] AsmMatcher: Skip optional operands in the midle of instruction if ↵Nikolay Haustov2016-03-016-169/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | it is not present Previosy, if actual instruction have one of optional operands then other optional operands listed before this also should be presented. For example instruction v_fract_f32 v0, v1, mul:2 have one optional operand - OMod and do not have optional operand clamp. Previously this was not allowed because clamp is listed before omod in AsmString: string AsmString = "v_fract_f32$vdst, $src0_modifiers$clamp$omod"; Making this work required some hacks (both OMod and Clamp match classes have same PredicateMethod). Now, if MatchInstructionImpl meets formal optional operand that is not presented in actual instruction it skips this formal operand and tries to match current actual operand with next formal. Patch by: Sam Kolton Review: http://reviews.llvm.org/D17568 [AMDGPU] Assembler: Check immediate types for several optional operands in predicate methods With this change you should place optional operands in order specified by asm string: clamp -> omod offset -> glc -> slc -> tfe Fixes for several tests. Depends on D17568 Patch by: Sam Kolton Review: http://reviews.llvm.org/D17644 llvm-svn: 262314
* AsmParser: Fix nested .irp/.irpcNikolay Haustov2016-03-013-1/+29
| | | | | | | | Count .irp/.irpc in parseMacroLikeBody similar to .rept Update tests. Review: http://reviews.llvm.org/D17707 llvm-svn: 262313
* [X86] Centralize the masking of TSFlags with FormMask into a variable ↵Craig Topper2016-03-011-6/+3
| | | | | | earlier so we can stop masking in multiple places. NFC llvm-svn: 262312
* Test template instantiation of ns_consumed and ns_returns_retained.John McCall2016-03-011-1/+125
| | | | llvm-svn: 262311
* [X86] Localize a temporary variable into the cases its need in. NFCCraig Topper2016-03-011-10/+9
| | | | llvm-svn: 262310
* [X86] Be consistent about using pre/post increment/decrement in nearby code. NFCCraig Topper2016-03-011-4/+4
| | | | llvm-svn: 262309
* Better comments for ExtParameterInfo.John McCall2016-03-012-2/+33
| | | | llvm-svn: 262308
* [Compiler-rt][MIPS] Correct Dynamic Thread Vector offset for MIPSMohit K. Bhakkad2016-03-011-1/+1
| | | | | | | | | | Reviewers: samsonov Subscribers: dsanders, jaydeep, sagar, llvm-commits Differential Revision: http://reviews.llvm.org/D17703 llvm-svn: 262303
* [Compiler-rt][MSan] fix param_tls_limit test for platforms where big ↵Mohit K. Bhakkad2016-03-011-4/+15
| | | | | | | | | | | | arguments are sliced in smaller ones Reviewers: eugenis Subscribers: dsanders, jaydeep, sagar, llvm-commits Differential Revision: http://reviews.llvm.org/D17129 llvm-svn: 262302
* [X86] Combine some initialization code with variable declaration and ↵Craig Topper2016-03-011-41/+28
| | | | | | comments. NFC llvm-svn: 262301
* Update the on-device arm specific code to match the API changesJason Molenda2016-03-011-5/+5
| | | | | | | that happened in other parts of this file so it builds cleanly for arm again. llvm-svn: 262300
* LegalizeDAG: Use correct ptr type when expanding unaligned load/storeMatt Arsenault2016-03-011-14/+21
| | | | | | | This fixes regressions exposed in existing AMDGPU tests in a future commit when all loads are custom lowered. llvm-svn: 262299
* AMDGPU: Don't emit build_pair during udivrem legalizationMatt Arsenault2016-03-011-6/+11
| | | | | | | | Technically you aren't supposed to emit these after type legalization for some reason, and we use vector extracts of bitcasted integers as the canonical way to do this. llvm-svn: 262298
* AMDGPU: Don't use estimated stack size when we know the real stack sizeMatt Arsenault2016-03-011-1/+1
| | | | llvm-svn: 262297
* AMDGPU: Set HasExtractBitInsnMatt Arsenault2016-03-012-0/+314
| | | | | | | | | | This currently does not have the control over the bitwidth, and there are missing optimizations to reduce the integer to 32-bit if it can be. But in most situations we do want the sinking to occur. llvm-svn: 262296
* [test] After r262290 reducing stack usage, try re-enabling asan on the ↵Argyrios Kyrtzidis2016-03-011-2/+2
| | | | | | related test. llvm-svn: 262295
* [WinEH] Allocate the registration node before the catch objectsDavid Majnemer2016-03-014-1/+48
| | | | | | | | | | | | | | | | | | | | The CatchObjOffset is relative to the end of the EH registration node for 32-bit x86 WinEH targets. A special sentinel value, 0, is used to indicate that no catch object should be initialized. This means that a catch object allocated immediately before the registration node would be assigned a CatchObjOffset of 0, leading the runtime to believe that a catch object should not be initialized. To handle this, allocate the registration node prior to any other frame object. This will ensure that catch objects will not be allocated before the registration node. This fixes PR26757. Differential Revision: http://reviews.llvm.org/D17689 llvm-svn: 262294
* clang-format: Correctly apply wrap before multi-line RHS rule toDaniel Jasper2016-03-012-1/+5
| | | | | | | | | | | | | | | ternary expressions. Before: return aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ? aaaaa : bbbbbbbbbbbbbbb + cccccccccccccccc; After: return aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ? aaaaa : bbbbbbbbbbbbbbb + cccccccccccccccc; llvm-svn: 262293
* clang-format: Increase the penalty for breaking between array subscripts.Daniel Jasper2016-03-012-1/+3
| | | | | | | | | | | | Before: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa[aaaaaaaaaaaaaaaaaaaaaaa] [a].aaaaaaaaaaaaaaaaaaaaaa(); After: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa[aaaaaaaaaaaaaaaaaaaaaaa][a] .aaaaaaaaaaaaaaaaaaaaaa(); llvm-svn: 262292
* clang-format: [JS] Support quoted object literal keys.Daniel Jasper2016-03-012-1/+9
| | | | | | | | | | | | | | | | | Before: var x = { a: a, b: b, 'c': c, }; After: var x = { a: a, b: b, 'c': c, }; llvm-svn: 262291
* [index] Fix issue where data visitation was disabled with C++ operator call ↵Argyrios Kyrtzidis2016-03-011-2/+2
| | | | | | expressions, during indexing. llvm-svn: 262290
* Fix the template instantiation of ExtParameterInfos; tests to follow.John McCall2016-03-016-20/+97
| | | | llvm-svn: 262289
* Add an llvm_unreachable back to the autogeneration of this covered switch.John McCall2016-03-011-1/+2
| | | | llvm-svn: 262288
* Fix MSVC build failure in source/Target/Process.cpp.Eugene Zelenko2016-03-011-1/+1
| | | | | | Will be good idea to introduce macro/constexpr for NULL thread_result_t. llvm-svn: 262287
* Fix the testcase in r262282Steven Wu2016-03-011-6/+2
| | | | | | | -bitcode_bundle is only passed to the darwin ld64 linker and it is only implemented there. Remove the check on the linker flag. llvm-svn: 262286
* Make test more robust.Sean Silva2016-03-012-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | Really all these tests are checking is that we find a file path. The behavior when we don't find one will have `"ps4-ld"` in it. We just need a path separator to know that a path has been found. The root cause of the flakiness of these tests is the same on Windows and non-Windows: setting the PATH environment variable is not sufficient to guarantee that a particular path is looked up first. Driver::GetProgramPath checks some paths before deferring to PATH (in particular, the directory containing the clang binary itself). I initally ran into this on Windows when putting a PS4 linker in build-dir/bin/ps4-ld for testing. After digging for a while thinking that it was some windows path search oddity (the Windows SearchPathW documentation indicates that its behavior varies depending on a registry setting...). I eventually tried reproducing the issue on Mac and to my surprise found the same issue. Ultimately I traced it down to the extra lookups in Driver::GetProgramPath. llvm-svn: 262285
* [Verifier] Diagnose when unwinding out of cycles of blocksDavid Majnemer2016-03-012-1/+23
| | | | | | | | Generally speaking, this can only happen with unreachable code. However, neglecting to check for this condition would lead us to loop forever. llvm-svn: 262284
OpenPOWER on IntegriCloud