[PATCH] D12920: Add TargetCustom type to PseudoSourceValue

Nick Lewycky via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 17 23:00:35 PDT 2015


Pete Cooper wrote:
> I might be mis-remembering, but I thought we were trying to remove PSV’s?
>
> Only commit I could see which remotely suggested that might be the case is r206255 where the comment contained
>
> "Anything that needs to use either a PseudoSourceValue* and Value* is strongly encouraged to use a MachinePointerInfo instead.”
>
> I’ve CCed Nick to see if he can remember whether there was more work to come on PSV’s or whether they are here to stay.  If they are going to be removed in future then its something to think about here before adding more code which relies on them.

The really important part happened, PSV's no longer derive from Value*. 
The advice about using MachinePointerInfo when possible remains true, 
but my work on removing PSV entirely is unlikely to be completed.

Nick

>
> Pete
>> On Sep 17, 2015, at 5:51 PM, Marcello Maggioni via llvm-commits<llvm-commits at lists.llvm.org>  wrote:
>>
>> kariddi updated this revision to Diff 35051.
>> kariddi marked an inline comment as done.
>> kariddi added a comment.
>>
>> Still waiting for comments about the MIR serialization stuff.
>>
>>
>> http://reviews.llvm.org/D12920
>>
>> Files:
>>   include/llvm/CodeGen/PseudoSourceValue.h
>>   lib/CodeGen/MIRPrinter.cpp
>>
>> Index: lib/CodeGen/MIRPrinter.cpp
>> ===================================================================
>> --- lib/CodeGen/MIRPrinter.cpp
>> +++ lib/CodeGen/MIRPrinter.cpp
>> @@ -892,6 +892,9 @@
>>        printLLVMNameWithoutPrefix(
>>            OS, cast<ExternalSymbolPseudoSourceValue>(PVal)->getSymbol());
>>        break;
>> +    case PseudoSourceValue::TargetCustom:
>> +      llvm_unreachable("TargetCustom pseudo source values are not supported");
>> +      break;
>>      }
>>    }
>>    printOffset(Op.getOffset());
>> Index: include/llvm/CodeGen/PseudoSourceValue.h
>> ===================================================================
>> --- include/llvm/CodeGen/PseudoSourceValue.h
>> +++ include/llvm/CodeGen/PseudoSourceValue.h
>> @@ -40,7 +40,8 @@
>>      ConstantPool,
>>      FixedStack,
>>      GlobalValueCallEntry,
>> -    ExternalSymbolCallEntry
>> +    ExternalSymbolCallEntry,
>> +    TargetCustom
>>    };
>>
>> private:
>> @@ -63,6 +64,9 @@
>>    bool isGOT() const { return Kind == GOT; }
>>    bool isConstantPool() const { return Kind == ConstantPool; }
>>    bool isJumpTable() const { return Kind == JumpTable; }
>> +  unsigned getTargetCustom() const {
>> +    return (Kind>= TargetCustom) ? ((Kind+1) - TargetCustom) : 0;
>> +  }
>>
>>    /// Test whether the memory pointed to by this PseudoSourceValue has a
>>    /// constant value.
>>
>>
>> <D12920.35051.patch>_______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>



More information about the llvm-commits mailing list