Displaying 20 results from an estimated 200 matches similar to: "load instruction erroneously removed by GVN"
2015 Aug 07
3
load instruction erroneously removed by GVN
On 08/07/2015 01:53 PM, Caldarale, Charles R wrote:
>> From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org]
>> On Behalf Of Mikael Holmén via llvm-dev
>> Subject: [llvm-dev] load instruction erroneously removed by GVN
>
>> But between the load and the alloca there is also
>> call fastcc void @format_long(i16* %_tmp30, i16 10, i32 10), !dbg !22
>>
2015 Aug 10
2
load instruction erroneously removed by GVN
Hi,
On 08/07/2015 10:30 PM, Nick Lewycky wrote:
[...]
> Depends. What is the exact declaration of format_long?
>
>
> In the input .ll file it is:
>
> ; Function Attrs: minsize optsize
> define internal i16 @format_long(i16* %res.8.par, i16 %base.9.par,
> i32 %x.10.par) #3 {
>
> which is later changed somewhere in opt to:
>
> ;
2013 Jan 18
0
[LLVMdev] llvm getDependency() for ICMP instructions is UNKNOWN
Hello everyone !
I am trying to get the dependencies for the variables of ICMP instructions.
Do you know if I can use an already existing method?
I tried to use getDependency() method of class MemoryDependenceAnalysis.
Does it work only for particular instruction types? Its definition is
MemDepResult MemoryDependenceAnalysis::getDependency ( Instruction *
QueryInst )
When I running my pass
2016 Apr 18
2
Different index types in GEPs -> non-aliasing?
Hi,
It seems that opt thinks that the two pointers
%_tmp2 = getelementptr [3 x i16], [3 x i16]* %a, i16 0, i64 1
and
%_tmp4 = getelementptr [3 x i16], [3 x i16]* %a, i16 0, i16 1
does not alias? Is this intended or a bug?
Details below:
--------------
I found this when I ran opt on:
define i16 @f () {
%a = alloca [3 x i16]
; Write 98 at index 1 in the array.
; NB: using i64 as
2005 Oct 26
2
Problems setting up Samba+LDAP PDC in Debian Sarge
Dear list,
I have been struggling to get working a PDC using Samba with LDAP
backend, in a fresh Debian Sarge install.
1. SeMachineAccountPrivilege
I'm reading IDEALX's Linux Samba-OpenLDAP Howto as guidance. In my
last attempt, everything appeared to be fine until the very end, the
Integration test, when I added an admin user, got it on the "Domain
Admin" and then tried to
2017 Jan 13
4
Wrong code bug after GVN/PRE?
Hi,
I've stumbled upon a case where I think gvn does a bad (wrong)
optimization. It's a bit messy to debug though so I'm not sure if I
should just write a PR about it a let someone who knows the code look at
it instead.
Anyway, for the bug to trigger I need to run the following passes in the
same opt invocation:
-sroa -instcombine -simplifycfg -instcombine -gvn
The problem
2016 Jul 20
2
load instruction erroneously removed by GVN v2
Thanks for quick reply Daniel,
I tried to make a simple C testcase, but could not reproduce the same
condition with output from Clang. I suppose I could modify the C code to
make it look similar with TBAA's; I may be able to provide this by eod.
> store %ptr above the load.
My mistake; I was referring to the store $lcssa in bb2. Looking at the C
source code, it should definitely alias
2016 Jul 20
2
load instruction erroneously removed by GVN v2
before inlining
all 20005
after inlining
somewhere here changed made it NoAlias
after Global Variable Optimizer
20014
20373 20255
20372 20254
before GVN
19993
20011 19991
20010 20030
It appears that TBAA metadata certainly changed after inlining and
subsequent passes. I have attached the .bc file. I think I will try to dump
out more TBAA metadata between passes. The method in
2017 Oct 09
1
Expose aliasing information in getModRefInfo (or viceversa?)
On 10/09/2017 03:57 PM, Daniel Berlin wrote:
> FWIW: Bootstrap is probably not a good test of this, there are bugs
> filed where we end up with tons of loads and stores to test against
> each other. That's actually fairly rare in bootstrap, as you can see.
> Let me get you some test cases.
>
> My guess is that we should go with mustmod.
I agree.
-Hal
>
>
>
2017 Oct 09
2
Expose aliasing information in getModRefInfo (or viceversa?)
On Mon, Oct 9, 2017 at 1:57 PM, Daniel Berlin <dberlin at dberlin.org> wrote:
> FWIW: Bootstrap is probably not a good test of this, there are bugs filed
> where we end up with tons of loads and stores to test against each other.
> That's actually fairly rare in bootstrap, as you can see.
> Let me get you some test cases.
>
SG, thanks!
>
> My guess is that we
2002 Jul 25
3
Quality & ripping speed
Thanks for all the great responses on tools to use - I have Exact Audio Copy
and CDex working very well, and I've been working out all the kinks.
Two questions, one very Vorbis related, one not :)
1) I know people have asked many times "What quality should I use". Well, I
want to ask it again but in a narrower frame. I see less than 10% difference
in size between 4.99 and 5.00 -
2017 Oct 10
2
Expose aliasing information in getModRefInfo (or viceversa?)
Yes, this is odd.
On my clang.bc
Without:
2.2967 ( 53.8%) 0.0242 ( 26.4%) 2.3210 ( 53.2%) 2.3227 ( 53.2%)
Memory SSA
2.3364 ( 53.7%) 0.0246 ( 25.7%) 2.3610 ( 53.1%) 2.3636 ( 53.1%)
Memory SSA
2.3353 ( 54.0%) 0.0258 ( 27.0%) 2.3611 ( 53.4%) 2.3632 ( 53.3%)
Memory SSA
With two getModRefInfo calls:
3.0302 ( 58.8%) 0.0328 ( 29.9%) 3.0630 ( 58.2%) 3.0858 ( 58.2%)
2012 Jan 24
0
[LLVMdev] load widening conflicts with AddressSanitizer
Hi,
[resurrecting an old mail thread about AddressSanitizer false positive
caused by load widening]
Once the Attribute::AddressSafety is set by clang (a separate patch),
fixing this bug may look as simple as this:
--- lib/Analysis/MemoryDependenceAnalysis.cpp (revision 148708)
+++ lib/Analysis/MemoryDependenceAnalysis.cpp (working copy)
@@ -323,6 +323,14 @@
2016 Jul 20
2
load instruction erroneously removed by GVN v2
Hello to whom this may concern,
Versioned this as I saw identical title before. I'm compiling a clang
project where I'm seeing GVN mess up and replace a load with a wrong def
value. I am using LLVM-3.5, but the problem has been observed upto 3.8.
To illustrate the problem,
define i32 @main
scalar.ph:
<initialize [80 x i16] %dest>
...
preheader:
%index=0
br test, loop1, bb2
2011 Dec 13
1
[LLVMdev] Memory Dependence Analysis
Howdy,
I'm working on writing a dependence analyzer (rather like what
LoopDependenceAnalysis wants to be, except a bit more general). While this
is a problem of many parts, I'm currently focusing on finding pairs of
memory references to test for dependence. Consider this contrived C code:
double test2(int n, double *restrict A, double *restrict B, bool flag) {
if (flag) {
A[0] =
2017 Oct 10
2
Expose aliasing information in getModRefInfo (or viceversa?)
I'm trying to understand what is the result we'd seek in the example
in D38569 (pasting here for quick access)
double f(double a)
{
double b;
double c,d;
double (*fp) (double) __attribute__ ((const));
/* Partially redundant call */
if (a < 2.0)
{
fp = sin;
c = fp (a);
}
else
{
c = 1.0;
fp = cos;
}
d = fp (a);
2011 Nov 01
0
[LLVMdev] MemoryDependenceAnalysis && MemDepResult
How can extract memory dependence among of instructions. I used the
following code but it find only one dep for a instruction.I want to get all
dependences for an instruction.
MemoryDependenceAnalysis &mda = getAnalysis<MemoryDependenceAnalysis>();
MemDepResult mdr = mda.getDependency(inst);
if (mdr.isDef()) {
Instruction *dep =
2010 Sep 23
2
[LLVMdev] Finding all values derived from a function argument
Hello!
I am trying to retrieve all instructions from a function's body that
are dependent on a specific argument. The strategy I am currently
using for that is to follow all uses of the argument and record them.
Also, whenever I encounter a store of a dependent value, I try to find
loads in the function that are dependent on that store and resume
use-tracking from there. For this purpose I am
2010 Jul 18
0
[LLVMdev] MemoryDependenceAnalysis Bug or Feature?
Sorry, I misunderstood the question.
The difference between a load and a read-only call is that load can be
used as the value of the memory location. E.g. DeadStoreElimination
pass removes a store that stores a just loaded value back into the
same location. To do this it checks if the stored value is the value
of load. Read-only call cannot be used like this.
This being said, I don't know if
2006 Oct 31
0
6372082 ld -r erroneously creates .got section on i386
Author: rie
Repository: /hg/zfs-crypto/gate
Revision: 37c7c62679d7987230afdd78480cf8d105c096a6
Log message:
6372082 ld -r erroneously creates .got section on i386
6201866 amd64: linker symbol elimination is broken
Files:
update: usr/src/cmd/sgs/elfdump/common/elfdump.c
update: usr/src/cmd/sgs/elfdump/common/elfdump.msg
update: usr/src/cmd/sgs/libld/amd64/machrel.c
update: