[Mesa-dev] R600 Patches: Add support for the local address space

Vincent Lejeune vljn at ovi.com
Fri Jun 14 08:35:03 PDT 2013


Hi,

Thank for your work on this !
Patch 2, 4 and 5 have my rb.


>diff --git a/lib/Target/R600/R600InstrInfo.cpp b/lib/Target/R600/R600InstrInfo.cpp
>index b9da74c..6de47f7 100644
>--- a/lib/Target/R600/R600InstrInfo.cpp
>+++ b/lib/Target/R600/R600InstrInfo.cpp
>@@ -133,6 +133,12 @@ bool R600InstrInfo::isCubeOp(unsigned Opcode) const {
> bool R600InstrInfo::isALUInstr(unsigned Opcode) const {
>   unsigned TargetFlags = get(Opcode).TSFlags; >+  return (TargetFlags & R600_InstFlag::ALU_INST);
>+}
>+
>+bool R600InstrInfo::hasInstrModifiers(unsigned Opcode) const {
>+  unsigned TargetFlags = get(Opcode).TSFlags;
>+
>   return ((TargetFlags & R600_InstFlag::OP1) |
>           (TargetFlags & R600_InstFlag::OP2) |
>           (TargetFlags & R600_InstFlag::OP3));
Function prototype is not defined here (it is defined in patch 5).



>diff --git a/lib/Target/R600/R600MachineScheduler.cpp b/lib/Target/R600/R600MachineScheduler.cpp
>index a330d88..acc1b4d 100644
>--- a/lib/Target/R600/R600MachineScheduler.cpp
>+++ b/lib/Target/R600/R600MachineScheduler.cpp
>@@ -269,10 +269,14 @@ R600SchedStrategy::AluKind R600SchedStrategy::getAluKind(SUnit *SU) const {
>     }
> 
>     // Does the instruction take a whole IG ?
>+    // XXX: Is it possible to add a helper function in R600InstrInfo that can
>+    // be used here and in R600PacketizerList::isSoloInstruction() ?
>     if(TII->isVector(*MI) ||
>         TII->isCubeOp(MI->getOpcode()) ||
>-        TII->isReductionOp(MI->getOpcode()))
>+        TII->isReductionOp(MI->getOpcode()) ||
>+        MI->getOpcode() == AMDGPU::GROUP_BARRIER) {
>       return AluT_XYZW;
>+    }

I'm not sure it'll factorize that much code ; R600Packetizer is called after cube/reduction op are lowered
by R600Expand pass and thus the isVector/ReductionOp check is useless. I may have left some debug code in
isSoloInstruction code though.



----- Mail original -----
> De : Tom Stellard <tom at stellard.net>
> À : llvm-commits at cs.uiuc.edu
> Cc : mesa-dev at lists.freedesktop.org
> Envoyé le : Jeudi 13 juin 2013 2h42
> Objet : [Mesa-dev] R600 Patches: Add support for the local address space
> 
> Hi,
> 
> The attached patches add support for local address space on
> Evergreen / Northern Islands GPUs.
> 
> Please Review.
> 
> -Tom
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 


More information about the mesa-dev mailing list