| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
immidiate shift v64i8 .Fix predicate for AVX1/2 shifts.
Differential Revision: http://reviews.llvm.org/D15713
llvm-svn: 256324
|
| |
|
|
| |
llvm-svn: 256323
|
| |
|
|
| |
llvm-svn: 256322
|
| |
|
|
| |
llvm-svn: 256319
|
| |
|
|
|
|
| |
switch, this makes the compiler ensure the switch is fully covered. NFC
llvm-svn: 256318
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 256316
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 256311
|
| |
|
|
|
|
| |
I will make better use of std::unique_ptr in followup patch.
llvm-svn: 256310
|
| |
|
|
|
|
|
| |
We were leaking InputFile subclasses data.
UndefinedElf was missing a classof.
llvm-svn: 256309
|
| |
|
|
| |
llvm-svn: 256308
|
| |
|
|
| |
llvm-svn: 256307
|
| |
|
|
| |
llvm-svn: 256306
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
r256263.
llvm-svn: 256303
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 256301
|
| |
|
|
| |
llvm-svn: 256300
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 256292
|
| |
|
|
| |
llvm-svn: 256291
|
| |
|
|
| |
llvm-svn: 256290
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
library for distribution to other machines on the clang man page.
llvm-svn: 256287
|
| |
|
|
| |
llvm-svn: 256286
|
| |
|
|
|
|
| |
CFI shadow for non-CFI libraries should be "unchecked", not "invalid".
llvm-svn: 256285
|
| |
|
|
|
|
|
| |
Fix typo in booleanType() doc and recreate the
LibASTMatchersReference.html reference document.
llvm-svn: 256284
|
| |
|
|
|
|
| |
Differential Revision: https://mail.google.com/mail/u/0/?zx=w4areffgjbgg#inbox/151cb6afe6169bb0
llvm-svn: 256283
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 256281
|
| |
|
|
|
|
| |
Some of the bots failed again.
llvm-svn: 256280
|
| |
|
|
| |
llvm-svn: 256279
|
| |
|
|
| |
llvm-svn: 256278
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 256276
|
| |
|
|
|
|
|
|
| |
This reverts commit r256273.
It broke CodeGen/AMDGPU/llvm.dbg.value.ll
llvm-svn: 256275
|
| |
|
|
|
|
|
|
|
| |
The code for deleting dead global variables and functions was
duplicated.
This is in preparation for also deleting dead global aliases.
llvm-svn: 256274
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 256272
|
| |
|
|
|
|
|
| |
Not passing an iterator to processGlobal will allow it to work with
other GlobalValues.
llvm-svn: 256271
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 256269
|
| |
|
|
|
|
| |
This new failure has been noted in the existing PR, llvm.org/pr15824
llvm-svn: 256268
|