Displaying 20 results from an estimated 4000 matches similar to: "[LLVMdev] failed folding with constant array with opt -O3"
2014 Sep 10
3
[LLVMdev] failed folding with constant array with opt -O3
I came in to an email this morning that said basically the same thing
for the reduced example we were looking at. However, the original IR it
came from (before hand reduction) had the data layout set correctly, so
there's probably still *something* going on. It's just not what I
thought at first. :)
Philip
On 09/10/2014 02:26 AM, Roel Jordans wrote:
> Looking at the -debug
2016 Dec 02
2
Is the instruction %4 = select i1 %tobool.i, metadata !12, metadata !10 legal?
To reproduce the issue, please use the command line "opt -simplifycfg filename".
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
%struct.G = type { %struct.ordered_index_node*, i32 }
%struct.ordered_index_node = type { %struct.B, %struct.F }
%struct.B = type { i32 }
%struct.F = type { i32*, i32* }
2016 Dec 02
4
Is the instruction %4 = select i1 %tobool.i, metadata !12, metadata !10 legal?
Hi,
The phase of instruction combine cannot handle the instruction %4 = select i1 %tobool.i, metadata !12, metadata !10 generated by the phase of CFG simplification and the compiler generates an assertion failure.
I wonder whether this is valid LLVM IR:
%4 = select i1 %tobool.i, metadata !12, metadata !10
Before CFGSimplify
cond.true.i: ; preds = %entry
2013 Feb 14
1
[LLVMdev] LiveIntervals analysis problem
Hello everyone,
please I need your help.
To reproduce my problem I created simple pass for backends (TestPass.cpp
in attached files). That pass I call from Mips backend in this way
(MipsTargetMachine.cpp):
bool MipsPassConfig::addPreRegAlloc() {
addPass(createTestPass());
return false;
}
The problem becomes, when I am trying compile file ldtoa.ll (in attached
files). Compiling
2013 Sep 11
0
[LLVMdev] removing unnecessary ZEXT
Hi Andrew,
Thank you for the suggestion.
I've looked at CodeGenPrepare.cpp and MoveExtToFormExtLoad() is never run.
I also notice that the ARM target produces the same additional register usage (copy) and zero extending (of the copy).
(See the usage of r3 &r5 and also r12 & r4 in attached file arm-strcspn.s, my understanding is that 'ldrb' is zero extending.)
Here is a
2016 Feb 11
3
Expected constant simplification not happening
Hi
the appended IR code does not optimize to my liking :)
this is the interesting part in x86_64, that got produced via clang -Os:
---
movq -16(%r12), %rax
movl -4(%rax), %ecx
andl $2298949, %ecx ## imm = 0x231445
cmpq $2298949, (%rax,%rcx) ## imm = 0x231445
leaq 8(%rax,%rcx), %rax
cmovneq %r15, %rax
movl $2298949, %esi ## imm = 0x231445
movq %r12, %rdi
movq %r14,
2013 May 31
2
[LLVMdev] Dead Code Elimination and undef values
Hello there,
I'm writing a transformation pass for LLVM, and I hoped to use dce to clean
up the resulting code after my pass. I just have some questions about
LLVM's dce implementation.
Well, my transformation is a function pass, and, after the changes are
made, some instructions are not needed anymore. In order to easily get rid
of those instructions, I'm setting all their uses to
2016 Dec 07
1
Expected constant simplification not happening
Hello
Has there been any progress on this topic ? The 3.9 optimizer output is
still the same as I just looked.
https://llvm.org/bugs/show_bug.cgi?id=24448
Ciao
Nat!
Sanjay Patel schrieb:
> [cc'ing Zia]
>
> We have this transform with -Os for some cases after:
> http://reviews.llvm.org/rL244601
> http://reviews.llvm.org/D11363
>
> but something in this example is
2013 Jun 01
0
[LLVMdev] Dead Code Elimination and undef values
Hi Cristianno,
On 01/06/13 01:49, Cristianno Martins wrote:
> Hello there,
>
> I'm writing a transformation pass for LLVM, and I hoped to use dce to clean up
> the resulting code after my pass. I just have some questions about LLVM's dce
> implementation.
>
> Well, my transformation is a function pass, and, after the changes are made,
> some instructions are not
2011 Dec 27
2
[LLVMdev] InstCombine "pessimizes" trunc i8 to i1?
Hi!
before InstCombine (llvm::createInstructionCombiningPass()) I have
a trunc from i8 to i1 and then a select:
%45 = load i8* @myGlobal, align 1
%tobool = trunc i8 %45 to i1
%cond = select i1 %tobool, float 1.000000e+00, float -1.000000e+00
after instCombine I have:
%29 = load i8* @myGlobal, align 1
%30 = and i8 %29, 1
%tobool = icmp ne i8 %30, 0
%cond = select i1 %tobool, float 1.000000e+00,
2011 Dec 28
0
[LLVMdev] InstCombine "pessimizes" trunc i8 to i1?
On Dec 27, 2011, at 5:09 AM, Jochen Wilhelmy wrote:
> Hi!
>
> before InstCombine (llvm::createInstructionCombiningPass()) I have
> a trunc from i8 to i1 and then a select:
>
> %45 = load i8* @myGlobal, align 1
> %tobool = trunc i8 %45 to i1
> %cond = select i1 %tobool, float 1.000000e+00, float -1.000000e+00
>
> after instCombine I have:
>
> %29 = load i8*
2013 Sep 11
2
[LLVMdev] removing unnecessary ZEXT
On Sep 10, 2013, at 8:59 AM, Robert Lytton <robert at xmos.com> wrote:
> Hi,
>
> A bit more information.
> I believe my problem lies with the fact that the load is left as 'anyext from i8'.
> On the XCore target we know this will become an 8bit zext load - as there is no 8bit sign extended load!
> If BB#1 were to force the load to a "zext from i8" would
2011 Dec 28
3
[LLVMdev] InstCombine "pessimizes" trunc i8 to i1?
>> Hi!
>>
>> before InstCombine (llvm::createInstructionCombiningPass()) I have
>> a trunc from i8 to i1 and then a select:
>>
>> %45 = load i8* @myGlobal, align 1
>> %tobool = trunc i8 %45 to i1
>> %cond = select i1 %tobool, float 1.000000e+00, float -1.000000e+00
>>
>> after instCombine I have:
>>
>> %29 = load i8*
2011 Dec 29
0
[LLVMdev] InstCombine "pessimizes" trunc i8 to i1?
I think Chris is saying that the and is necessary because with your i1
trunc you're ignoring all of the high bits. The and implements that. If
you don't want this behavior, don't generate the trunc in the first place
and just compare the full width to zero.
Reid
On Wed, Dec 28, 2011 at 6:45 AM, Jochen Wilhelmy <j.wilhelmy at arcor.de>wrote:
>
> >> Hi!
>
2008 Aug 12
4
[LLVMdev] Eliminating gotos
Hi,
Comments inline.
Ben
On 12/08/2008 03:14, "Owen Anderson" <resistor at mac.com> wrote:
>> We would like to develop a code generator using LLVM for a target language
>> that does not support conditional branches and in fact only supports
>> structured control flow, eg. If and while.
What's the difference between an "if" and a conditional
2010 Sep 17
3
ZFS Dataset lost structure
After a crash, in my zpool tree, some dataset report this we i do a ls -la:
brwxrwxrwx 2 777 root 0, 0 Oct 18 2009 mail-cts
also if i set
zfs set mountpoint=legacy dataset
and then i mount the dataset to other location
before the directory tree was only :
dataset
- vdisk.raw
The file was a backing device of a Xen VM, but i cannot access the directory structure of this dataset.
However i
2009 May 29
1
edge case concerning NA in dim() (PR#13729)
Full_Name: Allan Stokes
Version: 28.1
OS: XP
Submission from: (NULL) (24.108.0.245)
I'm trying to use package HDF5 and have discovered some round-trip errors: save,
load, save is not idempotent. I started digging into the type system to figure
out what type graffiti is fouling this up.
Soon I discovered that comparisons with NULL produce zero length vectors, which
I hadn't known was
2006 Sep 22
1
Variable as color in a barplot
Dear wise ones,
I have a problem assigning different colors to bars in a barplot.
The data I'm using is the following dataframe (truncated) :
> L0
r n p t
[...]
18 19 1 1 RFM
19 20 1 1 RFM
20 21 2 1 RFM
21 23 6 1 RIH
22 24 2 1 ROC
23 25 1 1 ROC
24 26 1 1 ROC
25 27 2 1 ROC
26 28 2 1 RFT
27 29 1 1 RFT
28 30 2 1 RFT
29 31 1 1 ROH
[...]
My barplot should
2018 Aug 23
2
[RFC] "Properly" Derive Function/Argument/Parameter Attributes
After I spend some time working with the function attribute* deduction
pass** [1,3], I would like to propose a "proper" organization***.
Why?
Because we do not derive nearly as many attributes as we could****,
while we do maintain various (separate and diffently organized)
"data-flow-like analyses" to do so.
What else?
I propose a single optimistic data-flow
2009 Feb 09
2
How to plot multiple graphs each with multiple y variables
I am new to R and have a problem that I haven't been able to find the answer to in the guides or online.
I have multiple datasets, D1, D2, D3, D4, D5, D6, D7 and D8, and I would like to produce two plots side by side using mfrow. The first plot should contain data from D1-D4, the second should contain D5-D8.
I can plot these separately using the code,
par(mfrow=c(1,1))