Displaying 20 results from an estimated 700 matches similar to: "[LLVMdev] [AArch64] Remaining broken tests"
2016 Mar 16
2
[PATCH mesa 5/6] nouveau: codegen: Add support for OpenCL global memory buffers
Could you please get rid of the cosmetic changes (eg. the switch ones)?
Because this doesn't really improve readability and in my opinion these 
changes should be eventually done in a separate patch.
Other than that, this patch is :
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Yes, this probably won't work as is for atomic operations but the 
lowering pass is
2016 Mar 16
2
[PATCH mesa 4/6] nouveau: codegen: s/FILE_MEMORY_GLOBAL/FILE_MEMORY_BUFFER/
This approach leads to the emitters needing to know about both global and
buffer, even though at that point, they are identical. I was thinking that
in the lowering logic, buffer would just get rewritten as global (with the
offset added), thus not needing any change to the emitters. What do you
think about such an approach?
On Mar 16, 2016 2:24 AM, "Hans de Goede" <hdegoede at
2016 Mar 16
13
[PATCH mesa 1/6] tgsi_build: Fix return of uninitialized memory in tgsi_*_instruction_memory
tgsi_default_instruction_memory / tgsi_build_instruction_memory were
returning uninitialized memory for tgsi_instruction_memory.Texture and
tgsi_instruction_memory.Format. Note 0 means not set, and thus is a
correct default initializer for these.
Fixes: 3243b6fc97 ("tgsi: add Texture and Format to tgsi_instruction_memory")
Cc: Nicolai Hähnle <nicolai.haehnle at amd.com>
2016 Mar 16
0
[PATCH mesa 4/6] nouveau: codegen: s/FILE_MEMORY_GLOBAL/FILE_MEMORY_BUFFER/
FILE_MEMORY_GLOBAL is currently only used for buffer handling, as we
do not yet have (opencl) global memory support. Global memory support
actually requires some different handling during lowering, so rename
FILE_MEMORY_GLOBAL to FILE_MEMORY_BUFFER to reflect that the current
code is for buffer handling, this will allow the later (re-)addition
of FILE_MEMORY_GLOBAL for regular global memory.
2014 Jan 24
2
[LLVMdev] New machine model questions
Hi Andrew,
I seem to be making good progress on the P5600 scheduler using the new machine model but I've got a few questions about it.
How would you represent an instruction that splits into two micro-ops and is dispatched to two different reservation stations?
For example, I have two reservation stations (AGQ and FPQ). An FPU load instruction is split into a load micro-op which is
2016 Mar 16
0
[PATCH mesa 5/6] nouveau: codegen: Add support for OpenCL global memory buffers
Add support for OpenCL global memory buffers, note this has only
been tested with regular load and stores and likely needs more work
for e.g. atomic ops.
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
---
 src/gallium/drivers/nouveau/codegen/nv50_ir.h      |  1 +
 .../drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp | 31 +++++++++++++++++-----
2016 Mar 16
0
[PATCH mesa 4/6] nouveau: codegen: s/FILE_MEMORY_GLOBAL/FILE_MEMORY_BUFFER/
Hi,
On 16-03-16 15:55, Ilia Mirkin wrote:
> This approach leads to the emitters needing to know about both global and
> buffer, even though at that point, they are identical. I was thinking that
> in the lowering logic, buffer would just get rewritten as global (with the
> offset added), thus not needing any change to the emitters. What do you
> think about such an approach?
I was
2016 Mar 16
0
[PATCH mesa 5/6] nouveau: codegen: Add support for OpenCL global memory buffers
Hi,
On 16-03-16 11:37, Samuel Pitoiset wrote:
> Could you please get rid of the cosmetic changes (eg. the switch ones)?
> Because this doesn't really improve readability and in my opinion these changes should be eventually done in a separate patch.
I need at least halve of those cosmetic changes, because half of them is not cosmetic, e.g. :
-   case FILE_MEMORY_BUFFER: code[1] =
2016 Mar 29
2
[CodeGen] CodeSize - TailMerging and BlockPlacement
Hi everyone,
The code layout that TailMerging (inside BranchFolding) works on is not 
the final layout optimized based on the branch probability.  Generally, 
after BlockPlacement, many new merging opportunities emerge. I did an 
experiment of adding additional BranchFolding and BlockPlacement after 
the existing BlockPlacement (i.e., -block-placement  -branch-folder 
-block-placement) targeting
2016 Oct 27
1
PIC and mcmodel=large on x86 doesn't use any relocations
We're at the point in our port of OpenVMS to x86 using LLVM to make choices
on mcmodel.  Given OpenVMS's history, our linker will allocate static data
(ie, .data, .bss, .plt, GOT, etc.) in the bottom 32-bits of address space
(ie, 00000000.xxxxxxxx).  However, we support code anywhere in the 64-bit
address space as PIC code (we do this on Itanium today using our own
code-generator and
2018 Jan 24
2
[PATCH] D41675: Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1)
Hello,
Is there a script to update those test cases? I see mention of a sed script
in the commit message but when I try it (see attached) on sed I get the
following error:
sed: file script line 2: invalid reference \3 on `s' command's RHS
Did I lose something in a copy-paste? Is it not really a sed script? How do
I run it?
On Fri, Jan 19, 2018 at 9:15 AM, Daniel Neilson via
2018 Jan 24
0
[PATCH] D41675: Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1)
Hi Alexandre,
 The script uses extended-sed syntax, so you need to run sed with the -E option.
 For example, when preparing the patch I created a file ( script.sed ) containing all of the lines that I copied into the commit message. Then, I ran this bash one-liner from the test directory:
for f in $(find . -name '*.ll'); do sed -E -i ‘.sedbak' -f script.sed $f; done
 When I was happy
2018 Jan 25
2
[PATCH] D41675: Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1)
Thanks, that worked like a charm except for the following:
llvm generate:
 call void @llvm.memcpy.p3i8.p1i8.i64(i8 addrspace(3)* align 1 bitcast
([512 x float] addrspace(3)* @a_scratchpad to i8 addrspace(3)*), i8
addrspace(1)* align 1 %0, i64 2048, i1 false)
And we expected:
call void @llvm.memcpy.p3i8.p1i8.i64(i8 addrspace(3)* bitcast ([512 x
float] addrspace(3)* [[SPM0]] to i8
2018 Jan 25
0
[PATCH] D41675: Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1)
Hi Alexandre,
 Before the change you would have been expecting one of the following, correct?
a) call void @llvm.memcpy.p3i8.p1i8.i64(i8 addrspace(3)* bitcast ([512 x float] addrspace(3)* [[SPM0]] to i8 addrspace(3)*), i8 addrspace(1)* [[APTR]], i64 2048, i32 0, i1 false)
b) call void @llvm.memcpy.p3i8.p1i8.i64(i8 addrspace(3)* bitcast ([512 x float] addrspace(3)* [[SPM0]] to i8 addrspace(3)*), i8
2018 Jan 25
3
[PATCH] D41675: Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1)
Yes, all that is correct.
My question is more a long term question: why do the .ll printer specify
the alignment if it is equivalent to the default one?
That is, it seems the sed script expect the printer to not specify it (this
would match the load/store behavior), but the ll-printer does specify it,
which either means the printer is not ideal on this case and I should fix
it, or in this case
2017 Jul 27
2
Tail merging "undef" with a defined register: wrong code
The comment in test/CodeGen/X86/branchfolding-undef.mir states that such 
merging is legal, however doing so can actually generate wrong code:
Consider this (valid code):
---
name: fred
tracksRegLiveness: true
body: |
   bb.0:
     successors: %bb.1, %bb.2
       J2_jumpt undef %p0, %bb.2, implicit-def %pc
       J2_jump %bb.1, implicit-def %pc
   bb.1:
     successors: %bb.3
       %r0 =
2018 Jan 25
0
[PATCH] D41675: Remove alignment argument from memcpy/memmove/memset in favour of alignment attributes (Step 1)
Good question. AFAIK, the IR-printer doesn’t understand the semantics of parameter attributes. In this case, it only knows that there is an attribute on the parameter that is integer valued (with value 1) and that has the name “align”, so it prints it out. If we don’t want it printing out ‘align 1’ then it’s up to us to not set the alignment parameter attribute to a value if that value would be 1.
2008 Feb 19
2
[LLVMdev] 2008-02-18-TailMergingBug.ll Failure
Hi again,
On my PPC G4 box, I'm getting this failure for TOT with llvm-gcc 4.2:
Running /Users/wendling/llvm/llvm.src/test/CodeGen/X86/dg.exp ...
FAIL: /Users/wendling/llvm/llvm.src/test/CodeGen/X86/2008-02-18- 
TailMergingBug.ll for PR1909
Failed with exit(1) at line 1
while running: llvm-as < /Users/wendling/llvm/llvm.src/test/CodeGen/ 
X86/2008-02-18-TailMergingBug.ll | llc -march=x86
2012 Nov 01
0
[LLVMdev] Tail Duplication Questions
http://llvm.org/viewvc/llvm-project/llvm/tags/RELEASE_31/final/lib/CodeGen/Passes.cpp?revision=156747&view=markup
void TargetPassConfig::addMachineSSAOptimization() {
  // Pre-ra tail duplication.
  if (addPass(EarlyTailDuplicateID) != &NoPassID)
    printAndVerify("After Pre-RegAlloc TailDuplicate");
/// Add passes that optimize machine instructions after register allocation.
2008 Oct 14
0
[LLVMdev] CFG modifcations and code gen
On Oct 13, 2008, at 5:14 PMPDT, Villmow, Micah wrote:
> As stated in an earlier email, I am working on getting break/ 
> continue to work correctly for my backend, but I ran into another  
> issue with codegen and the CFG. It seems that code gen is not done  
> based on the CFG, but rather on the block numbers, and the function  
> call MachineFunction::RenumberBlocks doesn’t