Displaying 20 results from an estimated 70 matches similar to: "[LLVMdev] Instruction does not dominate all uses"
2008 Jun 17
1
[LLVMdev] Instruction does not dominate all uses
Hello, Gary
> I'm getting a weird error if I run llc on the attached module.
> Did I do something wrong (llc says the module is broken, also
> attached) or is this a bug?
This is clear indication, that module was constructed improperly: there
is some possible path in CFG, where result of instruction can be used
before actual definition.
--
With best regards, Anton Korobeynikov.
2012 Nov 02
0
[LLVMdev] Instruction does not dominate all uses! <badref> ??
Hi edA-qa mort-ora-y,
On 02/11/12 10:20, edA-qa mort-ora-y wrote:
> I'm having trouble figuring out what the error "Instruction does not
> dominate all uses!" means. I'm trying to construct a call to a function
> with two parameters. The printed IR, with error, looks like this:
>
> define i32 @add(i32, i32) {
> EntryBlock:
> %2 = add i32 %0, %1
>
2013 Sep 08
0
[LLVMdev] "Instruction does not dominate all uses"
Hi Rasha,
> Instruction does not dominate all uses!
There should be two instructions printed after that message. The first
defines a value used by the second, but the message means there's some
path through your function that can reach the second inst (the use)
without the value being defined by the first instruction.
At its simplest you probably want to decide what that value should be
2013 Sep 08
1
[LLVMdev] "Instruction does not dominate all uses"
Hi Tim,
Instruction does not dominate all uses!
%5 = icmp ne i32 %4, 0
br i1 %5, label %BB1, label %BB2
Broken module found, compilation aborted!
On 8 September 2013 11:58, Tim Northover <t.p.northover at gmail.com> wrote:
> Hi Rasha,
>
> > Instruction does not dominate all uses!
>
> There should be two instructions printed after that message. The first
> defines
2013 Nov 04
0
[LLVMdev] conditional flow resulting in "Instruction does not dominate all uses!"
Well, what I had in mind was actually something like the following:
entry:
result0 = invoke func0 to defer_block unwind landing0
landing0:
landingpad
result1 = invoke func1 to defer_block unwind landing1
landing1:
landingpad
br defer_block
defer_block:
result = phi [ result0, entry ], [ result1, landing0 ], [ null, landing1 ]
...
This doesn't have landing pads with multiple
2013 Nov 04
2
[LLVMdev] conditional flow resulting in "Instruction does not dominate all uses!"
On 4 November 2013 08:19, Henrique Santos
<henrique.nazare.santos at gmail.com> wrote:
> Well, what I had in mind was actually something like the following:
>
> entry:
> result0 = invoke func0 to defer_block unwind landing0
>
> landing0:
> landingpad
> result1 = invoke func1 to defer_block unwind landing1
>
> landing1:
> landingpad
> br
2013 Nov 04
0
[LLVMdev] conditional flow resulting in "Instruction does not dominate all uses!"
If you're talking about the IR, then I don't think so.
It seems like perfectly valid.
H.
On Mon, Nov 4, 2013 at 2:25 PM, Rafael EspĂndola <rafael.espindola at gmail.com
> wrote:
> On 4 November 2013 08:19, Henrique Santos
> <henrique.nazare.santos at gmail.com> wrote:
> > Well, what I had in mind was actually something like the following:
> >
> >
2014 Nov 05
2
[LLVMdev] Virtual register def doesn't dominate all uses
Hi!
Am 05.11.2014 um 16:05 schrieb Tim Northover <t.p.northover at gmail.com>:
> Hi Boris,
>
> On 5 November 2014 06:47, Boris Boesler <baembel at gmx.de> wrote:
>> Cross-check: Move the MV-patterns from the beginning to the end. Voila, it works.
>
> It would be better to delete those patterns entirely. They'll always
> match (if asked) and never give a
2017 Jun 10
2
Instruction does not dominate all uses!
LLVM 3.8.0, Ubuntu 16.04.2, 64 bit is being used to instrument IR.
====================================================
define i32 @bar() #0 {
entry:
%var = alloca [3 x i32], align 4
%0 = bitcast [3 x i32]* %var to i8*
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* bitcast ([3 x i32]*
@bar.var to i8*), i64 12, i32 4, i1 false)
%arrayidx = getelementptr inbounds [3 x i32], [3 x i32]*
2013 Sep 08
2
[LLVMdev] "Instruction does not dominate all uses"
BB:
%4= load i32* @"FB"
%5 = icmp ne i32 %4, 0
br i1 %5, label %BB1, label %BB2
The error after
$clang -pthread MyNew.ll -o MyNew
Instruction does not dominate all uses!
Could you help for this ?
--
* Rasha Salah Omar
Msc Student at E-JUST
Demonestrator at Faculty of Computers and Informatics
Benha University*
* e-mail: rasha.omar at ejust.edu.eg*
2013 Apr 16
1
[LLVMdev] Instruction does not dominate all uses
Hi,
I am writing an alias profiler using the points-to relation.
For this I'm inserting a function call of external function with the
following type
profile(int,int,int,void*,void*,...)
I'm trying to pass the dereferenced pointer's memory address and the
address of the location who are in alias set of the pointer.
For this i'm using BitCastInst
BitCastInst *init1= new
2010 Oct 12
1
[LLVMdev] Specify dominator for BasicBlock to avoid "Instruction does not dominate all uses!"
Hi, I tried adding the PHI nodes in BB_unique, and it works for the simple
case described here, but in case the nodes were declared in some
predecessors of ExitBB1 and used in ExitBB1_redirect and its successors, it
won't work, unless I create entries for all of them in BB_unique.
B1 (declares PHI_1) B3
| |
B2
2013 Nov 04
2
[LLVMdev] conditional flow resulting in "Instruction does not dominate all uses!"
On 4 November 2013 02:31, Henrique Santos
<henrique.nazare.santos at gmail.com> wrote:
> But the incoming value from the landing pad will always be null, won't it?
> If so, just iterate through the predecessors and add the terminator as the
> incoming value if it's an invoke instruction and add the null value it's
> not.
> Won't that work?
>
Note that the
2019 Apr 16
2
Virtual register defs don't dominate all uses
Hi all,
I'm getting this error: "Virtual register defs don't dominate all uses". It comes from llvm/lib/CodeGen/MachineVerifier.cpp:2138
I don't understand what it means. Does anyone know?
Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190416/f2eef252/attachment.html>
2012 Nov 02
0
[LLVMdev] Instruction does not dominate all uses! <badref> ??
edA-qa mort-ora-y wrote:
> I'm having trouble figuring out what the error "Instruction does not
> dominate all uses!" means. I'm trying to construct a call to a function
> with two parameters. The printed IR, with error, looks like this:
>
> define i32 @add(i32, i32) {
> EntryBlock:
> %2 = add i32 %0, %1
> ret i32 %2
> }
>
> define i32
2014 Nov 05
2
[LLVMdev] Virtual register def doesn't dominate all uses
Hi Quentin,
Am 03.11.2014 um 23:30 schrieb Quentin Colombet <qcolombet at apple.com>:
>> Continuing at 4309
>> Match failed at index 4310
>> Continuing at 4322
>> Morphed node: 0x7fef2a033610: i32 = MVrr 0x7fef2a033610 [ORD=21]
>>
>>
>> Does the add operation become a MOVE instruction, or is this a chain of rules?
>
> Yes, your add becomes
2012 Nov 02
2
[LLVMdev] Instruction does not dominate all uses! <badref> ??
Okay, I've think I understand now. By using a "Value" object (like a
function call) in another instruction does nothing more than use a
reference to that value. It is still my responsibility to ensure that
value/reference is actually created prior to its use in the block.
On 02/11/12 12:16, Nick Lewycky wrote:
> edA-qa mort-ora-y wrote:
>> I'm having trouble figuring
2010 Oct 11
0
[LLVMdev] Specify dominator for BasicBlock to avoid "Instruction does not dominate all uses!"
On Oct 11, 2010, at 9:05 AM, Xinfinity wrote:
>
> Hi,
>
> I am working on a pass aimed to unify multiple exits of a loop into a unique
> basic block. The approach is straight forward:
> I create a unique BasicBlock BB_unique that has as predecessors all the exit
> blocks of the loop, it contains a phi instruction and a switch to redirect
> the flow correctly.
2013 Nov 04
0
[LLVMdev] conditional flow resulting in "Instruction does not dominate all uses!"
But the incoming value from the landing pad will always be null, won't it?
If so, just iterate through the predecessors and add the terminator as the
incoming value if it's an invoke instruction and add the null value it's
not.
Won't that work?
On Mon, Nov 4, 2013 at 2:22 AM, edA-qa mort-ora-y <eda-qa at disemia.com>wrote:
> On 03/11/13 12:16, Henrique Santos wrote:
2010 Jun 23
0
[LLVMdev] Instruction does not dominate all uses ???
Chayan Sarkar wrote:
> Hi,
>
> I am trying to write a small pass. In my pass, I have inserted some
> instruction and used that in another. But, during OPT it is showing
> "Instruction does not dominate all uses" like following -
>
> %b.1 = bitcast i32 4 to i32 ; <i32> [#uses=8] %11
> = add i32 %a.1, %b.1 ;