- Dec 23, 2015
-
-
Akira Hatanaka authored
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
-
Cong Hou authored
llvm-svn: 256303
-
Rafael Espindola authored
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
-
Dan Gohman authored
llvm-svn: 256301
-
Dan Gohman authored
llvm-svn: 256300
-
Dan Gohman authored
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
-
Michael Kruse authored
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
-
Vedant Kumar authored
llvm-svn: 256292
-
Nico Weber authored
llvm-svn: 256291
-
Vedant Kumar authored
llvm-svn: 256290
-
Rafael Espindola authored
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
-
- Dec 22, 2015
-
-
Nico Weber authored
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
-
Adrian Prantl authored
library for distribution to other machines on the clang man page. llvm-svn: 256287
-
Nico Weber authored
llvm-svn: 256286
-
Evgeniy Stepanov authored
CFI shadow for non-CFI libraries should be "unchecked", not "invalid". llvm-svn: 256285
-
Samuel Benzaquen authored
Fix typo in booleanType() doc and recreate the LibASTMatchersReference.html reference document. llvm-svn: 256284
-
Adrian McCarthy authored
Differential Revision: https://mail.google.com/mail/u/0/?zx=w4areffgjbgg#inbox/151cb6afe6169bb0 llvm-svn: 256283
-
Changpeng Fang authored
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
-
Rafael Espindola authored
llvm-svn: 256281
-
Akira Hatanaka authored
Some of the bots failed again. llvm-svn: 256280
-
Akira Hatanaka authored
llvm-svn: 256279
-
Samuel Benzaquen authored
llvm-svn: 256278
-
Akira Hatanaka authored
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
-
Rafael Espindola authored
llvm-svn: 256276
-
Rafael Espindola authored
This reverts commit r256273. It broke CodeGen/AMDGPU/llvm.dbg.value.ll llvm-svn: 256275
-
Rafael Espindola authored
The code for deleting dead global variables and functions was duplicated. This is in preparation for also deleting dead global aliases. llvm-svn: 256274
-
Changpeng Fang authored
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
-
Rafael Espindola authored
llvm-svn: 256272
-
Rafael Espindola authored
Not passing an iterator to processGlobal will allow it to work with other GlobalValues. llvm-svn: 256271
-
Ed Maste authored
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
-
Johannes Doerfert authored
llvm-svn: 256269
-
Ed Maste authored
This new failure has been noted in the existing PR, llvm.org/pr15824 llvm-svn: 256268
-
Johannes Doerfert authored
llvm-svn: 256267
-
Johannes Doerfert authored
llvm-svn: 256266
-
Paul Robinson authored
llvm-svn: 256265
-
Xinliang David Li authored
This is a NFC refactoring enabling code sharing by file writer. llvm-svn: 256264
-
Cong Hou authored
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
-
Manuel Jacob authored
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
-
Alexander Kornienko authored
llvm-svn: 256261
-
Tobias Grosser authored
Suggested by: Johannes Doerfert <doerfert@cs.uni-saarland.de> llvm-svn: 256260
-