| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 256267
|
| |
|
|
| |
llvm-svn: 256266
|
| |
|
|
| |
llvm-svn: 256265
|
| |
|
|
|
|
| |
This is a NFC refactoring enabling code sharing by file writer.
llvm-svn: 256264
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This patch removes all weight-related interfaces from BPI and replace
them by probability versions. With this patch, we won't use edge weight
anymore in either IR or MC passes. Edge probabilitiy is a better
representation in terms of CFG update and validation.
Differential revision: http://reviews.llvm.org/D15519
llvm-svn: 256263
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
These were deprecated 11 months ago when a generic
llvm.experimental.gc.result intrinsic, which works for all types, was added.
Reviewers: sanjoy, reames
Subscribers: sanjoy, chenli, llvm-commits
Differential Revision: http://reviews.llvm.org/D15719
llvm-svn: 256262
|
| |
|
|
| |
llvm-svn: 256261
|
| |
|
|
|
|
| |
Suggested by: Johannes Doerfert <doerfert@cs.uni-saarland.de>
llvm-svn: 256260
|
| |
|
|
| |
llvm-svn: 256259
|
| |
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D15619
Reviewed-by: rafael
llvm-svn: 256258
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is generating a SIGSEGV somewhere around 1 in 10 runs on OS X.
Skip the whole test to avoid testbot noise until we can get the
SIGSEGV addressed.
Tracking with:
https://llvm.org/bugs/show_bug.cgi?id=25924
llvm-svn: 256257
|
| |
|
|
| |
llvm-svn: 256256
|
| |
|
|
|
|
|
| |
Fixes:
https://llvm.org/bugs/show_bug.cgi?id=25922
llvm-svn: 256255
|
| |
|
|
| |
llvm-svn: 256254
|
| |
|
|
| |
llvm-svn: 256253
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Previously, RS4GC crashed in CreateGCRelocates() because it assumed
that every base is also in the array of live variables, which isn't true if a
live variable has a constant base.
This change fixes the crash by making sure CreateGCRelocates() won't try to
relocate a live variable with a constant base. This would be unnecessary
anyway because anything with a constant base won't move.
Reviewers: reames
Subscribers: llvm-commits, sanjoy
Differential Revision: http://reviews.llvm.org/D15556
llvm-svn: 256252
|
| |
|
|
|
|
|
|
|
|
| |
arguments.
Bug: https://llvm.org/bugs/show_bug.cgi?id=25847
It now gives a more specific error message and then returns instead of trying to select the wrong frame.
llvm-svn: 256251
|
| |
|
|
|
|
| |
llvm.org/pr25819
llvm-svn: 256250
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a recommit of r256004 which was reverted in r256160. The issue was the
incorrect promotion for half and byte loads transformed into mov instructions.
This fix will replace half and byte type loads only with bit field extracts.
Original commit message:
This change promotes load instructions which directly read from stored by
replacing them with mov instructions. If the store is wider than the load,
the load will be replaced with a bitfield extract.
For example :
STRWui %W1, %X0, 1
%W0 = LDRHHui %X0, 3
becomes
STRWui %W1, %X0, 1
%W0 = UBFMWri %W1, 16, 31
llvm-svn: 256249
|
| |
|
|
|
|
| |
It was a copy-and-paste leftover.
llvm-svn: 256248
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
interface I {
o: {}
[];
}
After:
interface I {
o: {}[];
}
llvm-svn: 256247
|
| |
|
|
|
|
|
|
| |
initializers. For now, only use it for 20 items or more. Otherwise,
clang-format formats these one-per-line and thus increases the vertical
code size a lot.
llvm-svn: 256246
|
| |
|
|
| |
llvm-svn: 256245
|
| |
|
|
|
|
|
|
|
| |
None of the documentation mentions that the entries are packed structs
and also none of the other implementation I found pack them.
Differential revision: http://reviews.llvm.org/D15715
llvm-svn: 256244
|