[llvm-branch-commits] Deleted Mips symbols in the 3.5 branch

Tom Stellard thomas.stellard at amd.com
Tue Dec 2 08:49:01 PST 2014


On 12/02/2014 11:46 AM, Daniel Sanders wrote:
>> From: Tom Stellard [thomas.stellard at amd.com]
>> Sent: 02 December 2014 16:27
>> To: Daniel Sanders; Stellard, Thomas; llvm-branch-commits at cs.uiuc.edu
>> Subject: Re: Deleted Mips symbols in the 3.5 branch
>>
>> On 12/02/2014 11:25 AM, Daniel Sanders wrote:
>>> I've re-added these functions in my working copy but it's had no effect on the symbol table for libLLVM-3.5.so.
>>> It looks like the compiler (or perhaps the linker?) is deleting them because they are unused private members of
>>> the MipsTargetLowering and MipsCC classes.
>>>
>>
>> I think they need to be public members to show up in the symbol table.
>> Were they public before?
>>
>> -Tom
>
> On double-checking, I did have a small mistake here but fixing it hasn't helped.
>
> The member functions of MipsTargetLowering were private before the patch series. MipsCC was a protected class inside MipsTargetLowering. The member functions of MipsCC were public.
>
> After matching this, the symbol table is still unchanged between the a clean checkout of the release_35 branch and my current working copy that tries to bring these symbols back.
>

Ok, can you send me these patches.

-Tom

>>> -----Original Message-----
>>> From: Stellard, Thomas [mailto:Tom.Stellard at amd.com]
>>> Sent: 02 December 2014 00:25
>>> To: Daniel Sanders; llvm-branch-commits at cs.uiuc.edu
>>> Subject: RE: Deleted Mips symbols in the 3.5 branch
>>>
>>> I don't think it maters whether the function bodies are empty, or if they have
>>> llvm_unreachable().  Though, I think it would be easier to use
>>> llvm_unreachable(), since you wouldn't have to worry about the return type.
>>>
>>>
>>>
>>> -Tom
>>> ________________________________________
>>> From: Daniel Sanders [Daniel.Sanders at imgtec.com]
>>> Sent: Monday, December 01, 2014 6:39 PM
>>> To: Stellard, Thomas; llvm-branch-commits at cs.uiuc.edu
>>> Subject: RE: Deleted Mips symbols in the 3.5 branch
>>>
>>> Hi,
>>>
>>> Thanks for the list. Most of these seem to be related to the MipsCC class
>>> which was removed during the refactoring portions of the patch series. IIRC,
>>> MipsCC was only used for a local in a few functions such as
>>> LowerFormalArguments() so it probably shouldn't have been public in the
>>> first place, but I'll re-add them in the morning anyway. Just to double check,
>>> when you say 'add them back as no-ops' do you mean with empty function
>>> bodies, or with llvm_unreachable() inside them?
>>>
>>> ________________________________________
>>> From: Tom Stellard [thomas.stellard at amd.com]
>>> Sent: 01 December 2014 16:33
>>> To: Daniel Sanders; llvm-branch-commits at cs.uiuc.edu
>>> Subject: Deleted Mips symbols in the 3.5 branch
>>>
>>> Hi Daniel,
>>>
>>> r223008 to r223037 have deleted some public symbols, which will need to be
>>> added back to maintain ABI compatibility. I'm not sure, but I think some of
>>> these may be generated by TableGen.
>>>
>>> If these functions are no longer used, you can add them back as no-ops if
>>> that is easier.  Sorry I overlooked this during my review.  Here are the
>>> deleted symbols:
>>>
>>> _ZN4llvm18MipsTargetLowering6MipsCC12allocateRegsERNS0_12ByValArgIn
>>> foEjj
>>> _ZNK4llvm18MipsTargetLowering6MipsCC10fixedArgFnEv
>>> _ZN4llvm18MipsTargetLowering6MipsCC14handleByValArgEjNS_3MVTES2_
>>> NS_11CCValAssign7LocInfoENS_3ISD10ArgFlagsTyE
>>> _ZNK4llvm18MipsTargetLowering6MipsCC10shadowRegsEv
>>>
>>> _ZNK4llvm18MipsTargetLowering12passByValArgENS_7SDValueENS_5SDLoc
>>> ERSt5dequeISt4pairIjS1_ESaIS5_EERNS_15SmallVectorImplIS1_EES1_PNS_16
>>> MachineFrameInfoERNS_12SelectionDAGES1_RKNS0_6MipsCCERKNS0_12By
>>> ValArgInfoERKNS_3ISD10ArgFlagsTyEb
>>> _ZNK4llvm18MipsTargetLowering6MipsCC13analyzeReturnERKNS_15SmallVe
>>> ctorImplINS_3ISD9OutputArgEEEbPKNS_4TypeE
>>> _ZNK4llvm18MipsTargetLowering6MipsCC8varArgFnEv
>>>
>>> _ZNK4llvm18MipsTargetLowering15LowerCallResultENS_7SDValueES1_NS_1
>>> 1CallingConv2IDEbRKNS_15SmallVectorImplINS_3ISD8InputArgEEENS_5SDLo
>>> cERNS_12SelectionDAGERNS4_IS1_EEPKNS_6SDNodeEPKNS_4TypeE
>>>
>>> _ZN4llvm18MipsTargetLowering6MipsCC19analyzeCallOperandsERKNS_15S
>>> mallVectorImplINS_3ISD9OutputArgEEEbbPKNS_6SDNodeERSt6vectorINS_1
>>> 4TargetLowering12ArgListEntryESaISD_EE
>>>
>>> _ZN4llvm18MipsTargetLowering6MipsCC22analyzeFormalArgumentsERKNS_
>>> 15SmallVectorImplINS_3ISD8InputArgEEEbNS_14ilist_iteratorIKNS_8Argume
>>> ntEEE
>>>
>>> _ZNK4llvm20MipsSETargetLowering33isEligibleForTailCallOptimizationERKNS_
>>> 18MipsTargetLowering6MipsCCEjRKNS_16MipsFunctionInfoE
>>> _ZN4llvm18MipsTargetLowering6MipsCCC2ENS_11CallingConv2IDEbbRNS_7
>>> CCStateENS1_22SpecialCallingConvTypeE
>>> _ZNK4llvm18MipsTargetLowering6MipsCC13numIntArgRegsEv
>>>
>>> _ZNK4llvm18MipsTargetLowering15writeVarArgRegsERSt6vectorINS_7SDVal
>>> ueESaIS2_EERKNS0_6MipsCCES2_NS_5SDLocERNS_12SelectionDAGE
>>> _ZNK4llvm18MipsTargetLowering21getSpecialCallingConvENS_7SDValueE
>>>
>>> _ZNK4llvm18MipsTargetLowering13copyByValRegsENS_7SDValueENS_5SDLo
>>> cERSt6vectorIS1_SaIS1_EERNS_12SelectionDAGERKNS_3ISD10ArgFlagsTyERN
>>> S_15SmallVectorImplIS1_EEPKNS_8ArgumentERKNS0_6MipsCCERKNS0_12B
>>> yValArgInfoE
>>> _ZNK4llvm18MipsTargetLowering6MipsCC17analyzeCallResultERKNS_15Small
>>> VectorImplINS_3ISD8InputArgEEEbPKNS_6SDNodeEPKNS_4TypeE
>>>
>>> _ZNK4llvm20Mips16TargetLowering33isEligibleForTailCallOptimizationERKNS_
>>> 18MipsTargetLowering6MipsCCEjRKNS_16MipsFunctionInfoE
>>> _ZN4llvm18MipsTargetLowering6MipsCCC1ENS_11CallingConv2IDEbbRNS_7
>>> CCStateENS1_22SpecialCallingConvTypeE
>>>
>>> -Tom
>




More information about the llvm-branch-commits mailing list