[llvm-dev] What's "register pressure set"

Matthias Braun via llvm-dev llvm-dev at lists.llvm.org
Mon May 23 11:30:53 PDT 2016


You can find some notes on how pressure sets are computed in the tablegen source. If you look for the code overriding the virtual functions, you can find that tablegen places the generated code in

$BUILDDIR/lib/Target/XXX/XXXGenRegisterInfo.inc

- Matthias

> On May 23, 2016, at 9:48 AM, Quentin Colombet via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Hi Xing,
> 
> The register pressure sets are basically concepts that tells you how may variables can live in register at the same time.
> This information is available for two different level of abstraction: per register class and per register unit. The register unit is the basic entity we use to represent a register.
> 
> Tablegen generates all of that for you, so you do not need to worry about them.
> 
> Cheers,
> -Quentin
>> On May 23, 2016, at 12:57 AM, Xing Su via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>> 
>> Hi everyone,
>> 
>> I'm looking through codes related to registered pressure tracking, mainly the source files 'RegisterPressure.h/cpp', 'MachineRegisterInfo.h/cpp', 'TargetRegisterInfo.h/cpp'. 
>> 
>> There is a concept I can hardly understand, the 'register pressure set'. Class 'TargetRegisterInfo' defines two virtual methods 'getRegClassPressureSets' and 'getRegUnitPressureSets' for querying but I don't see any subclasses overriding it. 
>> 
>> What's the meaning of the register pressure set? Anyone can give me some help?
>> 
>> Thanks!
>> 
>> 
>> Xing 
>> 
>> 
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> 
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev



More information about the llvm-dev mailing list