summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* AVX512BW: Enable packed word shift for 512bit vector. Enable lowering scalar ↵Igor Breger2015-12-2313-532/+1625
| | | | | | | | immidiate shift v64i8 .Fix predicate for AVX1/2 shifts. Differential Revision: http://reviews.llvm.org/D15713 llvm-svn: 256324
* Add new tests for throwing incomplete pointer typesEric Fiselier2015-12-231-18/+97
| | | | llvm-svn: 256323
* Fix PR25898 - Check for incomplete pointers types in can_catch(...)Eric Fiselier2015-12-232-17/+100
| | | | llvm-svn: 256322
* [Sema] Make an enum local to the only method that uses it. NFCCraig Topper2015-12-231-7/+5
| | | | llvm-svn: 256319
* [Sema] Use available enum types instead of integers. As one is used in a ↵Craig Topper2015-12-231-3/+2
| | | | | | switch, this makes the compiler ensure the switch is fully covered. NFC llvm-svn: 256318
* [WinEH] Don't visit the same catchswitch twiceDavid Majnemer2015-12-232-7/+70
| | | | | | | | | | | | | We visited the same catchswitch twice because it was both the child of another funclet and the predecessor of a cleanuppad. Instead, change the numbering algorithm to only recurse if the unwind destination of the inner funclet agrees with the unwind destination of the catchswitch. This fixes PR25926. llvm-svn: 256317
* Fix the last leak asan found in test/ELF.Rafael Espindola2015-12-232-2/+5
| | | | llvm-svn: 256316
* win: Pass /W4 in front of all the -wd flags.Nico Weber2015-12-231-1/+4
| | | | | | | | | | | This should fix many many -Wunused-parameter warnings in self-host builds on Windows after r255382. cl.exe doesn't care about the order of /W4 and /wd flags, but clang-cl currently does (just like -Wno-foo -Wall order matters for clang). We might want to change how clang-cl behaves in the future, but until then this change makes self-host builds much more silent. llvm-svn: 256315
* Fix build error: OMPT_SUPPORT=true was not tested after hinted lock changesJonathan Peyton2015-12-231-1/+8
| | | | | | | | | | | | | | | | | | | | Recent changes to support dynamic locks didn't consider the code compiled when OMPT_SUPPORT=true. As a result, the OMPT support was broken by recent changes to nested locks to support dynamic locks. For OMPT to work with dynamic locks, they need to provide a return code indicating whether a nested lock acquisition was the first or not. This patch moves the OMPT support for nested locks into the #else case when DYNAMIC locks were not used. New support is needed for dynamic locks. This patch fixes the build and leaves a placeholder where the missing OMPT callbacks can be added either the author of the OMPT support for locks, or the dynamic locking support. Patch by John Mellor-Crummey Differential Revision: http://reviews.llvm.org/D15656 llvm-svn: 256314
* Form reform for MCDwarf.Paul Robinson2015-12-236-19/+28
| | | | | | | | | MCDwarf emits a canned abbreviation table, but was not emitting proper forms for DWARF version 4, which is the default after r249655. Differential Revision: http://reviews.llvm.org/D15732 llvm-svn: 256313
* [GC] Make GCStrategy::isGCManagedPointer a type predicate not a value ↵Philip Reames2015-12-235-10/+10
| | | | | | | | | | | predicate [NFC] Reasons: 1) The existing form was a form of false generality. None of the implemented GCStrategies use anything other than a type. Its becoming more and more clear we're going to need some type of strong GC pointer in the type system and we shouldn't pretend otherwise at this point. 2) The API was awkward when applied to vectors-of-pointers. The old one could have been made to work, but calling isGCManagedPointer(Ty->getScalarType()) is much cleaner than the Value alternatives. 3) The rewriting implementation effectively assumes the type based predicate as well. We should be consistent. llvm-svn: 256312
* Fix another asan detected leak.Rafael Espindola2015-12-232-1/+2
| | | | llvm-svn: 256311
* Fix an asan found leak.Rafael Espindola2015-12-231-1/+3
| | | | | | I will make better use of std::unique_ptr in followup patch. llvm-svn: 256310
* Fix two asan found bugs:Rafael Espindola2015-12-233-0/+7
| | | | | | | We were leaking InputFile subclasses data. UndefinedElf was missing a classof. llvm-svn: 256309
* Unbreak LLVM_ENABLE_THREADS=OFF builds.Nico Weber2015-12-231-3/+19
| | | | llvm-svn: 256308
* XFAIL ubsan suppressions.cpp test on Windows for now.Nico Weber2015-12-231-0/+8
| | | | llvm-svn: 256307
* [WebAssembly] Add a TODO comment for a possible future optimization.Dan Gohman2015-12-231-1/+2
| | | | llvm-svn: 256306
* [RS4GC] Fix base pair printing for constants.Manuel Jacob2015-12-233-7/+14
| | | | | | | Previously, "%" + name of the value was printed for each derived and base pointer. This is correct for instructions, but wrong for e.g. globals. llvm-svn: 256305
* Provide a way to specify inliner's attribute compatibility and merging.Akira Hatanaka2015-12-229-39/+229
| | | | | | | | | | | | | | | | | | | | | This reapplies r256277 with two changes: - In emitFnAttrCompatCheck, change FuncName's type to std::string to fix a use-after-free bug. - Remove an unnecessary install-local target in lib/IR/Makefile. Original commit message for r252949: Provide a way to specify inliner's attribute compatibility and merging rules using table-gen. NFC. This commit adds new classes CompatRule and MergeRule to Attributes.td, which are used to generate code to check attribute compatibility and merge attributes of the caller and callee. rdar://problem/19836465 llvm-svn: 256304
* [BPI] Fix two potential divide-by-zero operations that are introduced in ↵Cong Hou2015-12-222-9/+20
| | | | | | r256263. llvm-svn: 256303
* Disable use list order on the gold plugin.Rafael Espindola2015-12-221-1/+1
| | | | | | | | | It turns out that his is *really* slow. With this change the link of clang with plugin-opt=emit-llvm goes from 41 to 26 seconds. We can add an option to enable it again if needed. llvm-svn: 256302
* [WebAssembly] Trim unneeded #includes. NFC.Dan Gohman2015-12-222-2/+0
| | | | llvm-svn: 256301
* [WebAssembly] Minor code simplification. NFC.Dan Gohman2015-12-221-1/+1
| | | | llvm-svn: 256300
* Add an OperandNamespace field to Target.td's Operand.Dan Gohman2015-12-222-0/+2
| | | | | | | | For targets to add their own operand types as needed, as advertised in Operand's comment, they need to be able to specify an alternate namespace for OperandType names too. This matches the RegisterOperand class. llvm-svn: 256299
* Do not store scalar accesses in InstructionToAccessMichael Kruse2015-12-221-3/+6
| | | | | | | | | | | | | | | At code generation, scalar reads are generated before the other statement's instructions, respectively scalar writes after them, in contrast to array accesses which are "executed" with the instructions they are linked to. Therefore it makes sense to not map the scalar accesses to a place of execution. Follow-up patches will also remove some of the directs links from a scalar access to a single instruction, such that only having array accesses in InstructionToAccess ensures consistency. Differential Revision: http://reviews.llvm.org/D13676 llvm-svn: 256298
* [unittest] Use Support/thread.h instead of <thread> (second try)Vedant Kumar2015-12-221-1/+1
| | | | llvm-svn: 256292
* lit: Limit number of processes on Windows to 32.Nico Weber2015-12-221-1/+3
| | | | llvm-svn: 256291
* [unittest] Use Support/Thread.h instead of <thread> to fix the Windows buildVedant Kumar2015-12-221-1/+1
| | | | llvm-svn: 256290
* Split Undefined and UndefinedElf.Rafael Espindola2015-12-228-68/+79
| | | | | | | | | | | | | | | | | | | | | | I am working on adding LTO support to the new ELF lld. In order to do that, it will be necessary to represent defined and undefined symbols that are not from ELF files. One way to do it is to change the symbol hierarchy to look like Defined : SymbolBody Undefined : SymbolBody DefinedElf<ELFT> : Defined UndefinedElf<ELFT> : Undefined Another option would be to use bogus Elf_Sym, but I think that is getting a bit too hackish. This patch does the Undefined/UndefinedElf. Split. The next one will do the Defined/DefinedElf split. llvm-svn: 256289
* Disable include sorting by default for Chromium style.Nico Weber2015-12-221-0/+1
| | | | | | | | | | | Include sorting generally can break .cc files, especially on Windows. Make this opt-in for Chromium style to give us some more time to roll this out. (Given that the Google style guide is used by many companies, some of them probably writing code on Windows, one could argue this should be opt-in in general...) llvm-svn: 256288
* Document that we recommend to turn off -gmodules when building a staticAdrian Prantl2015-12-221-1/+6
| | | | | | library for distribution to other machines on the clang man page. llvm-svn: 256287
* Make wasm-toolchain.c test pass on Windows.Nico Weber2015-12-221-1/+1
| | | | llvm-svn: 256286
* [cfi] Fix handling of uninstrumented libraries.Evgeniy Stepanov2015-12-222-1/+6
| | | | | | CFI shadow for non-CFI libraries should be "unchecked", not "invalid". llvm-svn: 256285
* [ASTMatchers] Fix typo in booleanType() doc.Samuel Benzaquen2015-12-222-1/+23
| | | | | | | Fix typo in booleanType() doc and recreate the LibASTMatchersReference.html reference document. llvm-svn: 256284
* Allow test decorators to use lists (and not_in(list)) for archesAdrian McCarthy2015-12-221-3/+8
| | | | | | Differential Revision: https://mail.google.com/mail/u/0/?zx=w4areffgjbgg#inbox/151cb6afe6169bb0 llvm-svn: 256283
* AMDGPU/SI: Use flat for global load/store when targeting HSAChangpeng Fang2015-12-2213-82/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: For some reason doing executing an MUBUF instruction with the addr64 bit set and a zero base pointer in the resource descriptor causes the memory operation to be dropped when the shader is executed using the HSA runtime. This kind of MUBUF instruction is commonly used when the pointer is stored in VGPRs. The base pointer field in the resource descriptor is set to zero and and the pointer is stored in the vaddr field. This patch resolves the issue by only using flat instructions for global memory operations when targeting HSA. This is an overly conservative fix as all other configurations of MUBUF instructions appear to work. NOTE: re-commit by fixing a failure in Codegen/AMDGPU/llvm.dbg.value.ll Reviewers: tstellarAMD Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D15543 llvm-svn: 256282
* Also add unnamed_addr to functions.Rafael Espindola2015-12-222-13/+30
| | | | llvm-svn: 256281
* Revert r256277 and r256279.Akira Hatanaka2015-12-229-232/+38
| | | | | | Some of the bots failed again. llvm-svn: 256280
* Add a .td file I forgot to add in r256277.Akira Hatanaka2015-12-221-0/+1
| | | | llvm-svn: 256279
* [ASTMatchers] Add booleanType() matcher.Samuel Benzaquen2015-12-223-0/+20
| | | | llvm-svn: 256278
* Provide a way to specify inliner's attribute compatibility and merging.Akira Hatanaka2015-12-228-38/+231
| | | | | | | | | | | | | | | | | | This reapplies r252990 and r252949. I've added member function getKind to the Attr classes which returns the enum or string of the attribute. Original commit message for r252949: Provide a way to specify inliner's attribute compatibility and merging rules using table-gen. NFC. This commit adds new classes CompatRule and MergeRule to Attributes.td, which are used to generate code to check attribute compatibility and merge attributes of the caller and callee. rdar://problem/19836465 llvm-svn: 256277
* Delete dead GlobalAliases.Rafael Espindola2015-12-224-4/+14
| | | | llvm-svn: 256276
* Revert "AMDGPU/SI: Use flat for global load/store when targeting HSA"Rafael Espindola2015-12-2213-131/+82
| | | | | | | | This reverts commit r256273. It broke CodeGen/AMDGPU/llvm.dbg.value.ll llvm-svn: 256275
* Merge duplicated code.Rafael Espindola2015-12-221-21/+28
| | | | | | | | | The code for deleting dead global variables and functions was duplicated. This is in preparation for also deleting dead global aliases. llvm-svn: 256274
* AMDGPU/SI: Use flat for global load/store when targeting HSAChangpeng Fang2015-12-2213-82/+131
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: For some reason doing executing an MUBUF instruction with the addr64 bit set and a zero base pointer in the resource descriptor causes the memory operation to be dropped when the shader is executed using the HSA runtime. This kind of MUBUF instruction is commonly used when the pointer is stored in VGPRs. The base pointer field in the resource descriptor is set to zero and and the pointer is stored in the vaddr field. This patch resolves the issue by only using flat instructions for global memory operations when targeting HSA. This is an overly conservative fix as all other configurations of MUBUF instructions appear to work. Reviewers: tstellarAMD Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D15543 llvm-svn: 256273
* Use early continue to reduce indentation.Rafael Espindola2015-12-221-19/+21
| | | | llvm-svn: 256272
* Simplify iterator management. NFC.Rafael Espindola2015-12-221-45/+27
| | | | | | | Not passing an iterator to processGlobal will allow it to work with other GlobalValues. llvm-svn: 256271
* XFAIL TestCppNsImport on FreeBSDEd Maste2015-12-221-0/+1
| | | | | | | | | It has an existing XFAIL annotation for GCC >= 4.9 but it also fails on FreeBSD 10.x with Clang 3.4.1. llvm.org/pr25925 llvm-svn: 256270
* Refactor canSynthesize in the BlockGenerators [NFC]Johannes Doerfert2015-12-222-6/+14
| | | | llvm-svn: 256269
* Add expectedFailureFreeBSD to an additional thread state test failing on FreeBSDEd Maste2015-12-221-0/+1
| | | | | | This new failure has been noted in the existing PR, llvm.org/pr15824 llvm-svn: 256268
OpenPOWER on IntegriCloud