1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 13:33:37 +02:00
llvm-mirror/include/llvm/IR
Craig Topper c0cd99d6f3 [IR] Stop deleting other signatures of User::operator new when we override one signature in a class derived from User
User has 3 signatures for operator new today. They take a single size, a size and a number of users, and a size, number of users, and descriptor size.

Historically there used to only be one signature that took size and a number of uses. Long ago derived classes implemented their own versions that took just a size and would call the size and use count version. Then they left an unimplemented signature for the size and use count signature from User. As we moved to C++11 this unimplemented signature because = delete.

Since then operator new has picked up two new signatures for operator new. But when the 3 argument version was added it was never added to the delete list in all of the derived classes where the 2 argument version is deleted. This makes things inconsistent.

I believe once one version of operator new is created in a derived class name hiding will take care of making all of the base class signatures unavailable. So I don't think the deleted lines are needed at all.

This patch removes all of the deletes in cases where there is an override or there is already a delete of another signature (that should trigger name hiding too).

Differential Revision: https://reviews.llvm.org/D34120

llvm-svn: 305251
2017-06-12 23:25:15 +00:00
..
Argument.h [IR] De-virtualize ~Value to save a vptr 2017-05-18 17:24:10 +00:00
AssemblyAnnotationWriter.h
Attributes.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Attributes.td Add speculatable function attribute 2017-04-28 20:25:27 +00:00
AutoUpgrade.h
BasicBlock.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
CallingConv.h [MSP430] Generate EABI-compliant libcalls 2017-05-11 19:56:14 +00:00
CallSite.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
CFG.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-05 22:30:37 +00:00
CMakeLists.txt
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] De-virtualize ~Value to save a vptr 2017-05-18 17:24:10 +00:00
ConstantFolder.h
ConstantRange.h [ConstantRange][SimplifyCFG] Add a helper method to allow SimplifyCFG to determine if a ConstantRange has more than 8 elements without requiring an allocation if the ConstantRange is 64-bits wide. 2017-05-07 22:22:11 +00:00
Constants.h [IR] Stop deleting other signatures of User::operator new when we override one signature in a class derived from User 2017-06-12 23:25:15 +00:00
DataLayout.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
DebugInfo.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-05 22:30:37 +00:00
DebugInfoFlags.def Revert "Debug Info: Add basic support for external types references." 2017-03-13 22:56:14 +00:00
DebugInfoMetadata.h Move Object format code to lib/BinaryFormat. 2017-06-07 03:48:56 +00:00
DebugLoc.h Reapply "[Cloning] Take another pass at properly cloning debug info" 2017-06-01 23:02:12 +00:00
DerivedTypes.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-10 23:41:30 +00:00
DerivedUser.h [IR] De-virtualize ~Value to save a vptr 2017-05-18 17:24:10 +00:00
DiagnosticInfo.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
DiagnosticPrinter.h
DIBuilder.h [DIBuilder] Add a more fine-grained finalization method 2017-06-01 20:42:44 +00:00
Dominators.h Handle non-unique edges in edge-dominance 2017-06-05 16:27:09 +00:00
Function.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
GetElementPtrTypeIterator.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
GlobalAlias.h De-virtualize GlobalValue 2017-05-11 21:14:29 +00:00
GlobalIFunc.h De-virtualize GlobalValue 2017-05-11 21:14:29 +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 De-virtualize GlobalValue 2017-05-11 21:14:29 +00:00
GlobalValue.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
GlobalVariable.h [IR] Stop deleting other signatures of User::operator new when we override one signature in a class derived from User 2017-06-12 23:25:15 +00:00
GVMaterializer.h
InlineAsm.h [IR] De-virtualize ~Value to save a vptr 2017-05-18 17:24:10 +00:00
InstIterator.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-05 22:30:37 +00:00
InstrTypes.h [IR] Stop deleting other signatures of User::operator new when we override one signature in a class derived from User 2017-06-12 23:25:15 +00:00
Instruction.def [IR] De-virtualize ~Value to save a vptr 2017-05-18 17:24:10 +00:00
Instruction.h [LoopVectorize] Don't preserve nsw/nuw flags on shrunken ops. 2017-06-09 03:56:15 +00:00
Instructions.h [IR] Stop deleting other signatures of User::operator new when we override one signature in a class derived from User 2017-06-12 23:25:15 +00:00
InstVisitor.h [IR/Analysis] Defend against getting slightly wrong template arguments 2017-02-07 03:17:30 +00:00
IntrinsicInst.h Add constrained intrinsics for some libm-equivalent operations 2017-05-25 21:31:00 +00:00
Intrinsics.h Support arbitrary address space pointers in masked gather/scatter intrinsics. 2017-05-03 12:28:54 +00:00
Intrinsics.td Add constrained intrinsics for some libm-equivalent operations 2017-05-25 21:31:00 +00:00
IntrinsicsAArch64.td
IntrinsicsAMDGPU.td [AMDGPU] Add intrinsics for alignbit and alignbyte instructions 2017-06-09 19:03:00 +00:00
IntrinsicsARM.td [ARM] ACLE Chapter 9 intrinsics 2017-05-04 07:31:28 +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
IntrinsicsPowerPC.td [PPC] Lower load acquire/seq_cst trailing fence to cmp + bne + isync. 2017-05-16 20:18:06 +00:00
IntrinsicsSystemZ.td
IntrinsicsWebAssembly.td
IntrinsicsX86.td [X86][LWP] Add llvm support for LWP instructions (reapplied). 2017-05-03 15:51:39 +00:00
IntrinsicsXCore.td
IRBuilder.h [Atomics][LoopIdiom] Recognize unordered atomic memcpy 2017-06-06 16:45:25 +00:00
IRPrintingPasses.h
LegacyPassManager.h [LTO] Print time-passes information at conclusion of LTO codegen 2017-05-16 09:43:21 +00:00
LegacyPassManagers.h
LegacyPassNameParser.h
LLVMContext.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-12 22:25:07 +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
Metadata.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
Module.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
ModuleSlotTracker.h
ModuleSummaryIndex.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
ModuleSummaryIndexYAML.h Skip CFI for dead functions. 2017-06-02 18:24:23 +00:00
NoFolder.h
OperandTraits.h [IR] Remove stale comment from HungoffOperandTraits. NFC 2017-06-10 06:58:26 +00:00
Operator.h [IR] Stop deleting other signatures of User::operator new when we override one signature in a class derived from User 2017-06-12 23:25:15 +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 [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-12 22:25:07 +00:00
PassManagerInternal.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-12 22:25:07 +00:00
PatternMatch.h [InstCombine][InstSimplify] Use APInt::isNullValue/isOneValue to reduce compiled code for comparing APInts with 0 and 1. NFC 2017-06-07 07:40:37 +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 [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-12 22:25:07 +00:00
Statepoint.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
SymbolTableListTraits.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-12 22:25:07 +00:00
TrackingMDRef.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-12 22:25:07 +00:00
Type.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
TypeBuilder.h
TypeFinder.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-12 22:25:07 +00:00
Use.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
UseListOrder.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-10 23:41:30 +00:00
User.h [IR] De-virtualize ~Value to save a vptr 2017-05-18 17:24:10 +00:00
Value.def [IR] De-virtualize ~Value to save a vptr 2017-05-18 17:24:10 +00:00
Value.h Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
ValueHandle.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-10 23:41:30 +00:00
ValueMap.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-10 23:41:30 +00:00
ValueSymbolTable.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-10 23:41:30 +00:00
Verifier.h [IR] Fix some Clang-tidy modernize-use-using warnings; other minor fixes (NFC). 2017-05-12 22:25:07 +00:00