---
tests/all.py| 2 +-
tests/fbo/fbo-depth-array.c | 36 ++--
2 files changed, 31 insertions(+), 7 deletions(-)
diff --git a/tests/all.py b/tests/all.py
index 586cead..9aa600f 100644
--- a/tests/all.py
+++ b/tests/all.py
@@ -2831,7 +2831,7 @@ add_
Fix #83596
https://bugs.freedesktop.org/show_bug.cgi?id=83596
---
src/mesa/main/fbobject.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index ae3a418..5eaf1a3 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -2299,6
Some cosmetic comments below, otherwise the patches are:
reviewed-by: Vincent Lejeune
>-OutStreamer.EmitRawText(
>- Twine("; Kernel info:\n") +
>- "; NumSgprs: " + Twine(KernelInfo.NumSGPR) + "\n" +
>- "; NumVgprs:
---
src/gallium/drivers/radeon/radeon_llvm.h | 6 +++
.../drivers/radeon/radeon_setup_tgsi_llvm.c| 43 --
2 files changed, 45 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/radeon/radeon_llvm.h
b/src/gallium/drivers/radeon/radeon_llvm.h
inde
---
src/gallium/drivers/radeon/radeon_llvm.h | 5 +++
.../drivers/radeon/radeon_setup_tgsi_llvm.c| 41 +++---
2 files changed, 42 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/radeon/radeon_llvm.h
b/src/gallium/drivers/radeon/radeon_llvm.h
inde
This patch is : reviewed-by: Vincent Lejeune
- Mail original -
> De : Tom Stellard
> À : Vincent Lejeune
> Cc : "mesa-dev@lists.freedesktop.org" ;
> "llvm-comm...@cs.uiuc.edu" ; Tom Stellard
>
> Envoyé le : Jeudi 14 novembre 2013 1h53
> Obje
---
src/gallium/drivers/r600/r600_llvm.c | 119 +++
src/gallium/drivers/r600/r600_shader.c | 1 +
src/gallium/drivers/radeon/radeon_llvm.h | 1 +
3 files changed, 121 insertions(+)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
b/src/gallium/drivers/r600/
I have put some comments below but otherwise the patch is
reviewed-by: Vincent Lejeune
>-- next part --
>>From 2eb4673e3184af0e077cbe30a594602441e8d98e Mon Sep 17 00:00:00 2001 >From:
>>Tom Stellard
>Date: Thu, 5 Sep 2013 08:59:32 -0700
>Su
---
lib/Target/R600/AMDGPUCallingConv.td| 15 -
lib/Target/R600/R600ISelLowering.cpp| 55 ++--
lib/Target/R600/R600Instructions.td | 2 +-
lib/Target/R600/R600Intrinsics.td | 8 ++-
test/CodeGen/R600/big_alu.ll
---
src/gallium/drivers/r600/r600_llvm.c | 125 -
src/gallium/drivers/r600/r600_shader.c | 2 +
src/gallium/drivers/radeon/radeon_llvm.h | 1 +
.../drivers/radeon/radeon_setup_tgsi_llvm.c| 2 +-
4 files changed, 75 insertions(+)
On R600/R700 hw the data are stored from the channel 2 of the second dword.
---
src/gallium/drivers/r600/r600_llvm.c | 15 ++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
b/src/gallium/drivers/r600/r600_llvm.c
index d7fa5f8..5afe3
R600/R700 implementation of tex buffer fetch requires the result of the VFETCH
instruction to be ANDed with R600_BUFFER_INFO_CONST_BUFFER, and the last channel
to be ORed with the same const buffer.
---
src/gallium/drivers/r600/r600_llvm.c | 29 +
1 file changed, 29 ins
ginal -
> De : Tom Stellard
> À : Vincent Lejeune
> Cc : "llvm-comm...@cs.uiuc.edu" ;
> "mesa-dev@lists.freedesktop.org" ; Tom
> Stellard
> Envoyé le : Mardi 22 octobre 2013 23h20
> Objet : Re: [PATCH] R600: Make sure OQAP defs and uses happen in the s
---
src/gallium/drivers/r600/r600_llvm.c | 15 ++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
b/src/gallium/drivers/r600/r600_llvm.c
index d7fa5f8..5afe3cb 100644
--- a/src/gallium/drivers/r600/r600_llvm.c
+++ b/src/gallium/drive
---
src/gallium/drivers/r600/r600_llvm.c | 29 +
1 file changed, 29 insertions(+)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
b/src/gallium/drivers/r600/r600_llvm.c
index 34dd3ad..d7fa5f8 100644
--- a/src/gallium/drivers/r600/r600_llvm.c
+++ b/src/gallium/driver
- Mail original -
> De : Tom Stellard
> À : llvm-comm...@cs.uiuc.edu
> Cc : mesa-dev@lists.freedesktop.org; Tom Stellard
> Envoyé le : Vendredi 11 octobre 2013 20h10
> Objet : [PATCH] R600: Make sure OQAP defs and uses happen in the same clause
>
> From: Tom Stellard
>
> Reading th
---
src/gallium/drivers/radeonsi/radeonsi_shader.c | 9 ++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c
b/src/gallium/drivers/radeonsi/radeonsi_shader.c
index ab996cc..209b77e 100644
--- a/src/gallium/drivers/radeonsi/radeonsi
freedesktop.org/archives/mesa-dev/2013-October/046022.html fixes
the situation
but requires the backend to provide a way to lower byval arguments.
This patch provides such support.
Vincent
>
> De : Tom Stellard
>À : Vincent Lejeune
>Cc : mesa-dev@lists.
---
src/gallium/drivers/radeonsi/radeonsi_shader.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c
b/src/gallium/drivers/radeonsi/radeonsi_shader.c
index ab996cc..9d95997 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_s
---
lib/Target/R600/AMDGPUCallingConv.td | 7 ++-
lib/Target/R600/SIISelLowering.cpp | 3 ++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/lib/Target/R600/AMDGPUCallingConv.td
b/lib/Target/R600/AMDGPUCallingConv.td
index d26be32..a194e6d 100644
--- a/lib/Target/R600/AMDGPU
3rd patch is reviewed-by:Vincent Lejeune
The first one
>Subject: [PATCH 1/4] R600/SI: Mark the EXEC register as reserved
>
>This prevents the machine verifier from complaining about uses of
>an undefined physical register.
>---
> lib/Target/R600/SIRegisterInfo.cpp | 3 ++-
> 1 file changed, 2 in
This fixes a crash in Unigine Heaven 3.0, and probably in some
others apps.
---
src/gallium/drivers/radeonsi/radeonsi_shader.c | 27 ++
src/gallium/drivers/radeonsi/si_state.h| 1 +
2 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers
---
lib/Target/R600/AMDGPUTargetMachine.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/Target/R600/AMDGPUTargetMachine.cpp
b/lib/Target/R600/AMDGPUTargetMachine.cpp
index d77cddd..f28f27a 100644
--- a/lib/Target/R600/AMDGPUTargetMachine.cpp
+++ b/lib/Target/R600/AMDGPUTargetMachine.c
This fixes a crash in Unigine Heaven 3.0, and probably in some
others apps.
---
src/gallium/drivers/radeonsi/radeonsi_shader.c | 20
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c
b/src/gallium/drivers/radeonsi/ra
---
src/gallium/drivers/r600/r600_llvm.c | 47 +++-
src/gallium/drivers/r600/r600_shader.c | 1 +
src/gallium/drivers/radeon/radeon_llvm.h | 1 +
3 files changed, 48 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
b/src/gallium/d
---
src/gallium/drivers/r600/r600_llvm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
b/src/gallium/drivers/r600/r600_llvm.c
index 54291a1..c700f26 100644
--- a/src/gallium/drivers/r600/r600_llvm.c
+++ b/src/gallium/drivers/r600/r600_llv
---
src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
index 8ff9abd..ac2e511 100644
--- a/src/gallium/drivers/radeon/ra
---
src/gallium/drivers/r600/r600_llvm.c | 7 +--
src/gallium/drivers/r600/r600_shader.c | 1 +
src/gallium/drivers/radeon/radeon_llvm.h | 1 +
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
b/src/gallium/drivers/r600/r600_llvm.c
inde
---
lib/Target/R600/R600ISelLowering.cpp | 6 +-
lib/Target/R600/R600Instructions.td | 4
lib/Target/R600/R600Intrinsics.td| 1 +
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/lib/Target/R600/R600ISelLowering.cpp
b/lib/Target/R600/R600ISelLowering.cpp
index 126db73.
A few comments below, otherwise :
reviewed-by: Vincent Lejeune
- Mail original -
> De : Tom Stellard
> À : llvm-comm...@cs.uiuc.edu
> Cc : mesa-dev@lists.freedesktop.org; Tom Stellard
> Envoyé le : Vendredi 6 septembre 2013 0h23
> Objet : [PATCH] R600: Don'
The whole serie is : reviewed-by:Vincent Lejeune
In a future patch we might also remove the ISD::BUILD_VECTOR case in the
Select() function and use
a tablegen pattern ; I wrote it because we lowered r600.load.input intrinsic to
a raw register ; however now
we lower it to a copy from a register
Hi,
these patches fix 2 bugs in R600 backend.
The first one use the rv710/rv730 correct encoding for TEX clause with more
than 8 instructions.
This bug has been spoted there :
https://bugs.freedesktop.org/show_bug.cgi?id=64257
The other patch fix a typo that causes instructions not to use PV/PS
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 R600Ins
---
src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
index 3f7e79f..f49170d 100644
--- a/src/gallium/drivers/radeon/ra
---
src/gallium/drivers/r600/r600_llvm.c | 7 +--
src/gallium/drivers/r600/r600_shader.c | 1 +
src/gallium/drivers/radeon/radeon_llvm.h | 1 +
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
b/src/gallium/drivers/r600/r600_llvm.c
inde
---
src/gallium/drivers/r600/r600_llvm.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
b/src/gallium/drivers/r600/r600_llvm.c
index 3d2c492..c1809b3 100644
--- a/src/gallium/drivers/r600/r600_llvm.c
+++ b/src/gallium/drivers/r600/r600_llvm.c
@@ -46
---
src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
b/src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c
index 0629b89..3f7e79f 100644
--- a/src/gallium/drivers/radeon/radeon_setup_tgsi
---
src/gallium/drivers/r600/r600_llvm.c | 51 +---
1 file changed, 24 insertions(+), 27 deletions(-)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
b/src/gallium/drivers/r600/r600_llvm.c
index c6c9123..26d40a2 100644
--- a/src/gallium/drivers/r600/r600_llvm.c
---
src/gallium/drivers/r600/r600_llvm.c | 15 +++
src/gallium/drivers/r600/r600_shader.c | 1 +
src/gallium/drivers/radeon/radeon_llvm.h | 1 +
3 files changed, 17 insertions(+)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
b/src/gallium/drivers/r600/r600_llvm.c
index 26
---
src/gallium/drivers/r600/r600_llvm.c | 51 +---
1 file changed, 24 insertions(+), 27 deletions(-)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
b/src/gallium/drivers/r600/r600_llvm.c
index c6c9123..26d40a2 100644
--- a/src/gallium/drivers/r600/r600_llvm.c
Hi,
>-- next part --
>>From dc547a89dac5039ce521f3c27fb23346251d488d Mon Sep 17 00:00:00 2001 >From:
>>Tom Stellard
>Date: Tue, 7 May 2013 16:26:26 -0400
>Subject: [PATCH 4/7] R600: Swap the legality of rotl and rotr
>
>The hardware supports rotr and not rotl.
>---
> lib
Thank for fixing this !
Both patches are reviewed-by: vljn at ovi.com
- Mail original -
> De : Tom Stellard
> À : llvm-comm...@cs.uiuc.edu
> Cc : mesa-dev@lists.freedesktop.org; Tom Stellard
> Envoyé le : Mercredi 15 mai 2013 1h03
> Objet : [Mesa-dev] [PATCH 2/2] R600: Fix encoding fo
Reviewed-by:Vincent Lejeune
- Mail original -
> De : Tom Stellard
> À : Vincent Lejeune
> Cc : "llvm-comm...@cs.uiuc.edu" ;
> "mesa-dev@lists.freedesktop.org"
> Envoyé le : Lundi 6 mai 2013 17h02
> Objet : Re: R600 Patchset: Emit true ISA
>
&
Hi,
Thank for doing this.
Patches 1 2 and 3 have my rb.
For patch 4:
>@@ -125,9 +106,7 @@ MCCodeEmitter *llvm::createR600MCCodeEmitter(const
>MCInstrInfo &MCII,
>
> void R600MCCodeEmitter::EncodeInstruction(const MCInst &MI, raw_ostream &OS,
>SmallVectorI
This is a port of "r600g:mask unused source components for SAMPLE"
patch from Vadim Girlin.
---
src/gallium/drivers/r600/r600_llvm.c | 25 -
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
b/src/gallium/drivers/r600/r600_l
---
src/gallium/drivers/r600/r600_llvm.c | 2 ++
src/gallium/drivers/r600/r600_llvm.h | 1 +
src/gallium/drivers/r600/r600_shader.c | 8 ++--
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
b/src/gallium/drivers/r600/r600_llvm.c
index 20
---
lib/Target/R600/R600Instructions.td | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Target/R600/R600Instructions.td
b/lib/Target/R600/R600Instructions.td
index 2e9a8a3..1c292bb 100644
--- a/lib/Target/R600/R600Instructions.td
+++ b/lib/Target/R600/R600Instructions.td
@
---
lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp | 15 +--
lib/Target/R600/R600Instructions.td| 8
2 files changed, 9 insertions(+), 14 deletions(-)
diff --git a/lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp
b/lib/Target/R600/MCTargetDesc/R600MCCo
---
lib/Target/R600/AMDGPUAsmPrinter.cpp | 35 +--
lib/Target/R600/AMDGPUAsmPrinter.h | 3 ++-
2 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/lib/Target/R600/AMDGPUAsmPrinter.cpp
b/lib/Target/R600/AMDGPUAsmPrinter.cpp
index dacb033..580cfb4 1006
---
lib/Target/R600/R600ControlFlowFinalizer.cpp | 11 ++-
test/CodeGen/R600/loop-adress.ll | 44
2 files changed, 54 insertions(+), 1 deletion(-)
create mode 100644 test/CodeGen/R600/loop-adress.ll
diff --git a/lib/Target/R600/R600ControlFlowFinalize
This fixes bug 62756 :
https://bugs.freedesktop.org/show_bug.cgi?id=62756#c12
(Requires corresponding llvm commit)
---
src/gallium/drivers/r600/r600_asm.c | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/r600/r600_asm.c
b/src/gallium/drivers/r600/r600_
---
lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp | 30 ++--
lib/Target/R600/R600ControlFlowFinalizer.cpp | 84 +++--
lib/Target/R600/R600Instructions.td| 198 +++--
3 files changed, 240 insertions(+), 72 deletions(-)
diff --git a/lib/Target/R600/M
- Mail original -
> De : Vadim Girlin
> À : Vincent Lejeune
> Cc : Alex Deucher ; "mesa-dev@lists.freedesktop.org"
>
> Envoyé le : Dimanche 31 mars 2013 22h34
> Objet : Re: [Mesa-dev] [PATCH] r600g: don't reserve more stack space than
> required v4
>
---
lib/Target/R600/AMDGPU.h | 1 +
lib/Target/R600/AMDGPUTargetMachine.cpp| 1 +
lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp | 21 +-
lib/Target/R600/R600ControlFlowFinalizer.cpp | 264 +
lib/Target/R600/R600Instructions.
Hi Vadim,
Does this patch work ? (It's still not pushed)
I'm working on doing native control flow for llvm and intend to port your patch
on the control flow reservation.
Vincent
- Mail original -
> De : Vadim Girlin
> À : Alex Deucher
> Cc : mesa-dev@lists.freedesktop.org
> Envoyé
---
lib/Target/R600/AMDGPU.h | 1 +
lib/Target/R600/AMDGPUTargetMachine.cpp| 1 +
lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp | 10 +-
lib/Target/R600/R600EmitClauseMarkers.cpp | 250 +
lib/Target/R600/R600Instructions.
---
src/gallium/drivers/r600/r600_asm.c| 2 +-
src/gallium/drivers/r600/r600_asm.h| 1 +
src/gallium/drivers/r600/r600_shader.c | 14 ++
3 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/r600/r600_asm.c
b/src/gallium/drivers/r600/r600_asm.c
i
---
src/gallium/drivers/r600/r600_shader.c | 50 ++
1 file changed, 27 insertions(+), 23 deletions(-)
diff --git a/src/gallium/drivers/r600/r600_shader.c
b/src/gallium/drivers/r600/r600_shader.c
index 29facf7..1e21559 100644
--- a/src/gallium/drivers/r600/r600_sha
---
lib/Target/R600/AMDGPU.h | 1 +
lib/Target/R600/AMDGPUTargetMachine.cpp| 1 +
lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp | 10 +-
lib/Target/R600/R600EmitClauseMarkers.cpp | 243 +
lib/Target/R600/R600Instructions.
---
lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp | 169 +
lib/Target/R600/R600Instructions.td| 156 +++
2 files changed, 196 insertions(+), 129 deletions(-)
diff --git a/lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp
b/lib/Target/R600
---
src/gallium/drivers/r600/eg_asm.c | 38 +++
src/gallium/drivers/r600/eg_sq.h | 59
src/gallium/drivers/r600/r600_asm.c| 119 +
src/gallium/drivers/r600/r600_asm.h| 8 ++-
src/gallium/drivers/r600/r600_shader.c | 3
It allows the backend to generate reads to constant cache which
are faster that VTX_READ.
---
lib/Target/R600/R600ISelLowering.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Target/R600/R600ISelLowering.cpp
b/lib/Target/R600/R600ISelLowering.cpp
index a0e27ea..caa1899
Hi,
If LLVM backend development is allowed, maybe a student could work on improving
VLIW5 scheduling for R600 hardware.
So far I focused on VLIW4 architecture, but extending the scheduler to support
Trans ALU wouldn't be too hard.
This would require a way to represent Trans slot compatibility fo
;s why I wrote this patch. Besides, scalar values usually
have shorter live interval, lowering register pressure. Shaders that have a dp4
instructions often end up consuming less registers with this patch.
Vincent
- Mail original -----
> De : Christian König
> À : Vincent Lejeune
&
Dot4 now uses 8 scalar operands instead of 2 vectors one which allows register
coalescer to remove some unneeded COPY.
This patch also defines some structures/functions that can be used to handle
every vector instructions (CUBE, Cayman special instructions...) in a similar
fashion.
---
lib/Target/
I fixed the coding style issue.
The include was a debug leftover line, it shouldn't be there.
- Mail original -
> De : Tom Stellard
> À : Vincent Lejeune
> Cc : llvm-comm...@cs.uiuc.edu; mesa-dev@lists.freedesktop.org
> Envoyé le : Mercredi 13 mars 2013 21h49
>
---
lib/Target/R600/R600ISelLowering.cpp | 23 +++
test/CodeGen/R600/clamp-constants.ll | 20
2 files changed, 43 insertions(+)
create mode 100644 test/CodeGen/R600/clamp-constants.ll
diff --git a/lib/Target/R600/R600ISelLowering.cpp
b/lib/Target/R600/R6
---
lib/Target/R600/AMDILISelDAGToDAG.cpp| 34 ++
lib/Target/R600/R600InstrInfo.cpp| 54 ++
lib/Target/R600/R600InstrInfo.h | 3 ++
lib/Target/R600/R600MachineScheduler.cpp | 77
lib/Target/R600/R600MachineSched
This allows R600 Target to use the newly created -verify-misched llc flag
---
lib/Target/R600/AMDILCFGStructurizer.cpp| 8 +-
lib/Target/R600/R600ISelLowering.cpp| 7 +-
lib/Target/R600/R600InstrInfo.cpp | 66 ++--
lib/Target/R600/R600Instructions.td
LICM stands for Loop Invariant Code Motion.
Instructions that does not depend of loop index are moved outside of loop body.
(This solves one of llvm generated code Vadim pointed in another thread)
DCE is DeadCodeElimination...I don't know the difference between "classic" DCE
and aggressive DCE th
Reviewed-by: Vincent Lejeune
- Mail original -
> De : Christian König
> À : mesa-dev@lists.freedesktop.org
> Cc : mic...@daenzer.net
> Envoyé le : Mardi 5 mars 2013 15h27
> Objet : [Mesa-dev] [PATCH 7/7] radeon/llvm: enable LICM and DCE pass
>
> From: Christi
single VLIW group).
Also it tries to reduce clause switching by grouping instruction of the
same kind (ALU/FETCH/CF) together.
Vincent Lejeune:
- Support for VLIW4 Slot assignement
- Recomputation of ScheduleDAG to get more parallelism opportunities
Tom Stellard:
- Fix assertion failure when trying
Maintaining CONST_COPY Instructions until Pre Emit may prevent some ifcvt case
and taking them in account for scheduling is difficult for no real benefit.
---
lib/Target/R600/AMDGPU.h| 1 -
lib/Target/R600/AMDGPUTargetMachine.cpp | 1 -
lib/Target/R600/R600ISelLowering.cpp|
---
lib/Target/R600/R600Instructions.td | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/Target/R600/R600Instructions.td
b/lib/Target/R600/R600Instructions.td
index 0a777f1..74106c9 100644
--- a/lib/Target/R600/R600Instructions.td
+++ b/lib/Target/R600/R600Instructions.td
@@ -1587,6 +1587,
---
lib/Target/R600/AMDILISelDAGToDAG.cpp | 29 +
1 file changed, 29 insertions(+)
diff --git a/lib/Target/R600/AMDILISelDAGToDAG.cpp
b/lib/Target/R600/AMDILISelDAGToDAG.cpp
index 2e726e9..6b24117 100644
--- a/lib/Target/R600/AMDILISelDAGToDAG.cpp
+++ b/lib/Target/R60
mayLoad complexify scheduling and does not bring any usefull info
as the location is not writeable at all.
---
lib/Target/R600/R600Instructions.td | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/Target/R600/R600Instructions.td
b/lib/Target/R600/R600Instructions.td
index e4
---
lib/Target/R600/R600Instructions.td | 8
test/CodeGen/R600/fdiv.v4f32.ll | 8
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/lib/Target/R600/R600Instructions.td
b/lib/Target/R600/R600Instructions.td
index 0a01400..e4cc06e 100644
--- a/lib/Target/R600/R600
I think the bad result of llvm can be explained because of the lack of muladd
support currently. Unigine 3.0 has a lot of geometry and i suspect vertex
shader being almost twice bigger than they are in tgsi case does not help.
Fwiw with an hd 6950 I have the same performance in unigine 3 high, m
---
src/gallium/drivers/r600/r600_llvm.c | 29 +
1 file changed, 29 insertions(+)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
b/src/gallium/drivers/r600/r600_llvm.c
index 59047e7..89bcb79 100644
--- a/src/gallium/drivers/r600/r600_llvm.c
+++ b/src/gallium/driver
---
src/gallium/drivers/radeon/radeon_llvm.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/radeon/radeon_llvm.h
b/src/gallium/drivers/radeon/radeon_llvm.h
index bfeacb5..b1e025b 100644
--- a/src/gallium/drivers/radeon/radeon_llvm.h
+++ b/src/gallium/d
---
src/gallium/drivers/r600/r600_llvm.c | 2 ++
src/gallium/drivers/r600/r600_shader.c | 1 +
src/gallium/drivers/radeon/radeon_llvm.h | 1 +
3 files changed, 4 insertions(+)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
b/src/gallium/drivers/r600/r600_llvm.c
index 7a41688..59047e7 10
NOTE: This is a candidate for the Mesa stable branch.
---
src/gallium/drivers/r600/r600_llvm.c| 6 +-
src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 17 +
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/r600/r600_llvm.c
NOTE: This is a candidate for the Mesa stable branch.
---
lib/Target/R600/MCTargetDesc/R600MCCodeEmitter.cpp | 3 +-
lib/Target/R600/R600Instructions.td| 54 ++
lib/Target/R600/R600Intrinsics.td | 2 +
3 files changed, 58 insertions(+), 1 dele
---
lib/Target/R600/R600RegisterInfo.td | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/Target/R600/R600RegisterInfo.td
b/lib/Target/R600/R600RegisterInfo.td
index 3812eb7..0718854 100644
--- a/lib/Target/R600/R600RegisterInfo.td
+++ b/lib/Target/R600/R600RegisterInfo.
---
src/gallium/drivers/r600/r600_asm.c | 7 ++-
src/gallium/drivers/r600/r600_asm.h | 1 +
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/r600/r600_asm.c
b/src/gallium/drivers/r600/r600_asm.c
index 3632aa5..eacdb0c 100644
--- a/src/gallium/drivers/r600/r600
It fixes around 100 tfb piglit tests and 16 glean tests.
NOTE: This is a candidate for the Mesa stable branch.
---
lib/Target/R600/AMDILISelDAGToDAG.cpp | 2 ++
lib/Target/R600/R600LowerConstCopy.cpp | 2 +-
test/CodeGen/R600/kcache-fold.ll | 52 ++
3 file
NOTE: This is a candidate for the Mesa stable branch.
---
src/gallium/drivers/r600/r600_llvm.c| 10 +++---
src/gallium/drivers/radeon/radeon_setup_tgsi_llvm.c | 17 +
src/gallium/winsys/radeon/drm/radeon_drm_winsys.c | 4 ++--
3 files changed, 26 insertions(+
NOTE: This is a candidate for the Mesa stable branch.
---
lib/Target/R600/R600ISelLowering.cpp | 6 --
lib/Target/R600/R600Instructions.td | 9 -
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/lib/Target/R600/R600ISelLowering.cpp
b/lib/Target/R600/R600ISelLowering.cpp
It fixes around 100 tfb piglit tests and 16 glean tests.
NOTE: This is a candidate for the Mesa stable branch.
---
lib/Target/R600/AMDILISelDAGToDAG.cpp | 2 ++
lib/Target/R600/R600LowerConstCopy.cpp | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/Target/R600/AMDILISelD
- Mail original -
> De : Michel Dänzer
> À : Vincent Lejeune
> Cc : mesa-dev@lists.freedesktop.org
> Envoyé le : Lundi 11 février 2013 17h53
> Objet : [PATCH] R600: Fix regression with shadow array sampler on pre-SI GPUs.
>
> From: Michel Dänzer
>
single VLIW group).
Also it tries to reduce clause switching by grouping instruction of the
same kind (ALU/FETCH/CF) together.
Vincent Lejeune:
- Support for VLIW4 Slot assignement
- Recomputation of ScheduleDAG to get more parallelism opportunities
---
lib/Target/R600/AMDGPUTargetMachine.cpp | 17
---
lib/Target/R600/AMDILISelDAGToDAG.cpp | 24
1 file changed, 24 insertions(+)
diff --git a/lib/Target/R600/AMDILISelDAGToDAG.cpp
b/lib/Target/R600/AMDILISelDAGToDAG.cpp
index b125ba8..2f34fe3 100644
--- a/lib/Target/R600/AMDILISelDAGToDAG.cpp
+++ b/lib/Target/R600/AMD
---
lib/Target/R600/AMDGPUISelLowering.cpp | 10 +++---
lib/Target/R600/AMDGPUISelLowering.h | 1 -
lib/Target/R600/AMDILISelLowering.cpp | 3 ++-
lib/Target/R600/AMDILInstrInfo.td | 1 -
lib/Target/R600/AMDILIntrinsics.td | 10 --
lib/Target/R600/R600Instructions.td
---
lib/Target/R600/AMDGPUISelLowering.cpp | 10 +++---
lib/Target/R600/AMDGPUISelLowering.h | 1 -
lib/Target/R600/AMDILISelLowering.cpp | 3 ++-
lib/Target/R600/AMDILInstrInfo.td | 1 -
lib/Target/R600/AMDILIntrinsics.td | 10 --
lib/Target/R600/R600Instructions.td
This fixes a couple of regressions on (probably not just) cayman
---
lib/Target/R600/AMDILISelDAGToDAG.cpp | 7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/lib/Target/R600/AMDILISelDAGToDAG.cpp
b/lib/Target/R600/AMDILISelDAGToDAG.cpp
index 84223f6..7fc3a2f 100644
--- a/l
This allows MachineInstScheduler to reorder them, and thus make scheduling more
efficient.
---
lib/Target/R600/R600Instructions.td | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/Target/R600/R600Instructions.td
b/lib/Target/R600/R600Instructions.td
index 3c043aa..82a63
---
lib/Target/R600/R600ISelLowering.cpp | 111 ---
lib/Target/R600/R600Instructions.td | 20 ++-
lib/Target/R600/R600Intrinsics.td| 3 -
3 files changed, 55 insertions(+), 79 deletions(-)
diff --git a/lib/Target/R600/R600ISelLowering.cpp
b/lib/Target/
This fixes a couple of regressions on (probably not just) cayman
---
lib/Target/R600/AMDILISelDAGToDAG.cpp | 7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/lib/Target/R600/AMDILISelDAGToDAG.cpp
b/lib/Target/R600/AMDILISelDAGToDAG.cpp
index 84223f6..7fc3a2f 100644
--- a/l
---
lib/Target/R600/AMDGPUISelLowering.cpp | 6 +++---
lib/Target/R600/AMDILISelLowering.cpp | 3 ++-
lib/Target/R600/R600Instructions.td| 8
3 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/lib/Target/R600/AMDGPUISelLowering.cpp
b/lib/Target/R600/AMDGPUISelLowering.c
---
lib/Target/R600/AMDGPUTargetMachine.cpp | 2 +-
lib/Target/R600/R600LowerConstCopy.cpp | 170 +---
2 files changed, 160 insertions(+), 12 deletions(-)
diff --git a/lib/Target/R600/AMDGPUTargetMachine.cpp
b/lib/Target/R600/AMDGPUTargetMachine.cpp
index 7b069e7..
1 - 100 of 401 matches
Mail list logo