1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 04:22:57 +02:00
llvm-mirror/include/llvm/IR
Reid Kleckner ca9f0aa0e4 Reland "[IR] Make AttributeSetNode public, avoid temporary AttributeList copies"
This re-lands r299875.

I introduced a bug in Clang code responsible for replacing K&R, no
prototype declarations with a real function definition with a prototype.
The bug was here:

       // Collect any return attributes from the call.
  -    if (oldAttrs.hasAttributes(llvm::AttributeList::ReturnIndex))
  -      newAttrs.push_back(llvm::AttributeList::get(newFn->getContext(),
  -                                                  oldAttrs.getRetAttributes()));
  +    newAttrs.push_back(oldAttrs.getRetAttributes());

Previously getRetAttributes() carried AttributeList::ReturnIndex in its
AttributeList. Now that we return the AttributeSetNode* directly, it no
longer carries that index, and we call this overload with a single node:
  AttributeList::get(LLVMContext&, ArrayRef<AttributeSetNode*>)

That aborted with an assertion on x86_32 targets. I added an explicit
triple to the test and added CHECKs to help find issues like this in the
future sooner.

llvm-svn: 299899
2017-04-10 23:31:05 +00:00
..
Argument.h Rename AttributeSet to AttributeList 2017-03-21 16:57:19 +00:00
AssemblyAnnotationWriter.h
Attributes.h Reland "[IR] Make AttributeSetNode public, avoid temporary AttributeList copies" 2017-04-10 23:31:05 +00:00
Attributes.td Add writeonly IR attribute 2016-07-04 08:01:29 +00:00
AttributeSetNode.h Reland "[IR] Make AttributeSetNode public, avoid temporary AttributeList copies" 2017-04-10 23:31:05 +00:00
AutoUpgrade.h Fix auto-upgrade of TBAA tags in Bitcode Reader 2016-09-14 22:29:59 +00:00
BasicBlock.h [IR] Share implementation for pairs of const and non-const methods using const_cast. NFCI 2017-03-27 05:46:58 +00:00
CallingConv.h [X86] Basic additions to support RegCall Calling Convention. 2016-10-13 07:53:43 +00:00
CallSite.h Rename AttributeSet to AttributeList 2017-03-21 16:57:19 +00:00
CFG.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
CMakeLists.txt IR: Rename the tablegen'd Attributes file to .gen 2016-09-29 03:35:19 +00:00
Comdat.h [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
Constant.h [IR] Implement pairs of non-const and const methods using the const version instead of the non-const version. NFCI 2017-03-27 05:47:03 +00:00
ConstantFolder.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
ConstantRange.h [ConstantRange] Add setSizeSmallerThanOf method. 2017-03-20 06:33:07 +00:00
Constants.h [IR] Grammar police: "intact" is one word. NFC 2017-01-18 00:07:18 +00:00
DataLayout.h Allow DataLayout to specify addrspace for allocas. 2017-04-10 22:27:50 +00:00
DebugInfo.h [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
DebugInfoFlags.def Revert "Debug Info: Add basic support for external types references." 2017-03-13 22:56:14 +00:00
DebugInfoMetadata.h Revert "Debug Info: Add basic support for external types references." 2017-03-13 22:56:14 +00:00
DebugLoc.h Do a sweep over move ctors and remove those that are identical to the default. 2016-10-20 12:20:28 +00:00
DerivedTypes.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-05 21:55:02 +00:00
DiagnosticInfo.h [Stack Protection] Add diagnostic information for why stack protection was applied to a function 2017-02-28 16:02:37 +00:00
DiagnosticPrinter.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
DIBuilder.h Revert "Debug Info: Add basic support for external types references." 2017-03-13 22:56:14 +00:00
Dominators.h [Dominators] Simplify a member function. NFCI. 2017-04-07 17:34:37 +00:00
Function.h Rename AttributeSet to AttributeList 2017-03-21 16:57:19 +00:00
GetElementPtrTypeIterator.h Fix MSVC -Wmicrosoft-enum-value 'enumerator value is not representable' warning 2016-12-06 11:27:19 +00:00
GlobalAlias.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-05 21:55:02 +00:00
GlobalIFunc.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-05 21:55:02 +00:00
GlobalIndirectSymbol.h [IR] Implement pairs of non-const and const methods using the const version instead of the non-const version. NFCI 2017-03-27 05:47:03 +00:00
GlobalObject.h [IR] Inline some Function accessors 2017-03-16 16:57:31 +00:00
GlobalValue.h [IR] Implement pairs of non-const and const methods using the const version instead of the non-const version. NFCI 2017-03-27 05:47:03 +00:00
GlobalVariable.h [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
GVMaterializer.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
InlineAsm.h [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
InstIterator.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
InstrTypes.h These two functions should be const. We often could detect it but this just makes it always true. 2017-01-15 07:40:51 +00:00
Instruction.def
Instruction.h [IR] Add AllowContract to FastMathFlags 2017-03-28 20:11:52 +00:00
Instructions.h Allow DataLayout to specify addrspace for allocas. 2017-04-10 22:27:50 +00:00
InstVisitor.h [IR/Analysis] Defend against getting slightly wrong template arguments 2017-02-07 03:17:30 +00:00
IntrinsicInst.h [InstCombineCalls] Remove zero length atomic memcpy intrinsics 2017-02-08 14:23:47 +00:00
Intrinsics.h Rename AttributeSet to AttributeList 2017-03-21 16:57:19 +00:00
Intrinsics.td Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
IntrinsicsAArch64.td [AArch64] Add support for lowering bitreverse to the rbit instruction. 2017-01-10 17:20:33 +00:00
IntrinsicsAMDGPU.td AMDGPU: Add all atomicrmw fields to atomic.inc/dec 2017-03-30 22:21:40 +00:00
IntrinsicsARM.td [ARM] Reapply r296865 "[ARM] fpscr read/write intrinsics not aware of each other"" 2017-03-07 11:17:53 +00:00
IntrinsicsBPF.td
IntrinsicsHexagon.td [Hexagon] Add intrinsics for masked vector stores 2017-02-22 21:23:09 +00:00
IntrinsicsMips.td
IntrinsicsNVVM.td [NVPTX] Add intrinsics to support named barriers. 2017-01-28 16:38:15 +00:00
IntrinsicsPowerPC.td [PPC] cleanup of mayLoad/mayStore flags and memory operands. 2017-01-26 18:59:15 +00:00
IntrinsicsSystemZ.td [SystemZ] Support floating-point control register instructions 2016-12-02 18:21:53 +00:00
IntrinsicsWebAssembly.td [WebAssembly] Update grow_memory's return type. 2017-01-18 01:02:45 +00:00
IntrinsicsX86.td [X86][LLVM] Converting __mm{|256|512}_movm_epi{8|16|32|64} LLVMIR call into generic intrinsics. 2017-04-04 13:32:14 +00:00
IntrinsicsXCore.td
IRBuilder.h Allow DataLayout to specify addrspace for allocas. 2017-04-10 22:27:50 +00:00
IRPrintingPasses.h [PM] Re-instate r279227 and r279228 with a fix to the way the templating 2016-08-19 18:36:06 +00:00
LegacyPassManager.h
LegacyPassManagers.h Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
LegacyPassNameParser.h Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
LLVMContext.h Add !associated metadata. 2017-03-17 22:17:24 +00:00
Mangler.h Move llvm::emitLinkerFlagsForGlobalCOFF() to Mangler. 2017-03-31 04:46:50 +00:00
MDBuilder.h Add function importing info from samplepgo profile to the module summary. 2017-02-28 18:09:44 +00:00
Metadata.def [IR] Remove the DIExpression field from DIGlobalVariable. 2016-12-20 02:09:43 +00:00
Metadata.h [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
Module.h Revert "Turn some C-style vararg into variadic templates" 2017-04-06 20:23:57 +00:00
ModuleSlotTracker.h
ModuleSummaryIndex.h [IR] Implement pairs of non-const and const methods using the const version instead of the non-const version. NFCI 2017-03-27 05:47:03 +00:00
ModuleSummaryIndexYAML.h Align all scalar numbers to LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR 2017-04-04 06:02:32 +00:00
NoFolder.h [IR] Fix some Clang-tidy modernize-use-default, modernize-use-equal-delete and Include What You Use warnings; other minor fixes (NFC). 2016-11-23 22:25:16 +00:00
OperandTraits.h
Operator.h [IR] Add AllowContract to FastMathFlags 2017-03-28 20:11:52 +00:00
OptBisect.h Remove opt-bisect support for "cases" in favor of debug counters 2017-03-11 01:41:03 +00:00
PassManager.h Revert r293017 and fix the actual underlying issue. 2017-02-07 01:50:48 +00:00
PassManagerInternal.h Avoid potential ADL ambiguity between llvm::make_unique and std::make_unique (when building as C++14+) 2017-03-20 16:35:33 +00:00
PatternMatch.h [IR] Add commutable matchers for Add and Mul to go with the logic operations that are already present. NFC 2017-04-06 04:02:33 +00:00
PredIteratorCache.h Make PredIteratorCache size() logically const. Do not require copying predecessors to get size. 2017-03-14 11:25:45 +00:00
ProfileSummary.h Apply clang-tidy's misc-move-constructor-init throughout LLVM. 2016-05-27 14:27:24 +00:00
Statepoint.h Rename AttributeSet to AttributeList 2017-03-21 16:57:19 +00:00
SymbolTableListTraits.h [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
TrackingMDRef.h [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
Type.h [IR] Inline Type::getScalarType() by using isVectorTy() and getVectorElementType() that were already available inline. 2017-04-08 05:47:09 +00:00
TypeBuilder.h
TypeFinder.h [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
Use.h [IR] Mark Use::getUser and Use::getImpliedUse as LLVM_READONLY. 2017-03-23 05:25:25 +00:00
UseListOrder.h [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
User.h [IR] Implement pairs of non-const and const methods using the const version instead of the non-const version. NFCI 2017-03-27 05:47:03 +00:00
Value.def
Value.h [IR] Implement pairs of non-const and const methods using the const version instead of the non-const version. NFCI 2017-03-27 05:47:03 +00:00
ValueHandle.h [PM] Introduce a PoisoningVH as a (more expensive) alternative to 2017-01-24 12:34:47 +00:00
ValueMap.h [IR] Fix some Clang-tidy modernize-use-equals-delete and Include What You Use warnings; other minor fixes (NFC). 2016-12-06 22:00:57 +00:00
ValueSymbolTable.h [IR] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-02-17 00:00:09 +00:00
Verifier.h [TBAAVerifier] Make things const-consistent; NFC 2016-12-29 15:47:01 +00:00