Displaying 20 results from an estimated 2000 matches similar to: "Instruction does not dominate all uses!"
2017 Apr 28
3
How to get the address of a global variable in LLVM?
On 28 April 2017 at 14:32, Jonathan Roelofs via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> You need a load instruction since your function takes an i32, not an
> i32*.... A global's value in llvm is its address, not the numeric data it
> contains.
I suspect he actually wants to make his function take an "i8*" and
bitcast his pointer to that type before calling it.
2017 Jun 12
2
Force casting a Value*
On 11 June 2017 at 14:04, don hinton <hintonda at gmail.com> wrote:
> Assuming you know it's a 64 bit value, and the function you are calling
> takes a uint64_t, try this:
>
The values from the test program are of type: i32/i32*/i32**. Can't I
interpret these as uint64_t some way?
>
> Value* args[] = {store_inst->getOperand(0)};
>
>
> On Sun, Jun 11,
2017 Oct 22
2
How to dump broken IR from LLVM backend?
You can also `-disable-verify -o <output-filename> ` which will disable the
verify check.
On Sat, 21 Oct 2017 at 23:54 Dipanjan Das via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
>
> Yes, that definitely works. Wanted to know if there's a switch for file
> output or not.
>
> On 21 October 2017 at 23:45, 陳韋任 <chenwj.cs97g at g2.nctu.edu.tw> wrote:
>
2017 Oct 22
2
How to dump broken IR from LLVM backend?
Just use Unix IO redirect? `llc -mllvm -print-after-all &> a.txt`
2017-10-22 14:17 GMT+08:00 Dipanjan Das via llvm-dev <
llvm-dev at lists.llvm.org>:
>
> Seems like "-mllvm -print-after-all" does the trick. Is there any switch
> that dumps the output to a file instead of console?
>
> On 21 October 2017 at 21:33, Dipanjan Das <mail.dipanjan.das at
2017 Jun 11
2
Force casting a Value*
On 11 June 2017 at 12:05, Tim Northover <t.p.northover at gmail.com> wrote:
> On 11 June 2017 at 11:56, Dipanjan Das via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
> > I can't pass var_value to a function accepting uint64_t. LLVM complains
> > about broken function call.
>
> Well, yes. var_value has type "ConstantInt *", not uint64_t. Assuming
2017 Apr 28
4
How to pass a StringRef to a function call inserted as instrumentation?
I am wriitng an LLVM pass to insert instrumentation at certain points of
the program. I want to pass the `StringRef` obtained from `getName()` as a
parameter to a function `func(char* s)`. I can allocate some space on stack
using `AllocaInst` to generate an `alloca` instruction. But, how can I copy
the `StringRef` to the stack space?
--
Thanks & Regards,
Dipanjan
-------------- next part
2017 Oct 22
2
How to dump broken IR from LLVM backend?
My pass complains and gives up after spitting out:
======================================
Instruction does not dominate all uses!
%44 = icmp ne i8** %endptr, null
br i1 %44, label %32, label %33
Instruction has bogus parent pointer!
======================================
Is there any way to dump the entire IR even in broken form from the backend
so that I can inspect what's going on?
--
2017 Jun 11
2
Force casting a Value*
On 11 June 2017 at 07:53, David Blaikie <dblaikie at gmail.com> wrote:
> Sounds like you're looking for reinterpret_cast: http://en.
> cppreference.com/w/cpp/language/reinterpret_cast
>
I tried cast<ConstInt>(vo), but that failed at run-time.
>
> On Sun, Jun 11, 2017 at 3:06 AM Dipanjan Das via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
2017 Apr 29
0
How to pass a StringRef to a function call inserted as instrumentation?
Hi, Dipanjan,
On 28 April 2017 at 16:32, Dipanjan Das via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> I am wriitng an LLVM pass to insert instrumentation at certain points of the
> program. I want to pass the `StringRef` obtained from `getName()` as a
> parameter to a function `func(char* s)`. I can allocate some space on stack
> using `AllocaInst` to generate an `alloca`
2017 Jun 12
4
How to know the sub-class of a Value class?
On 11 June 2017 at 23:06, Jeremy Lakeman <Jeremy.Lakeman at gmail.com> wrote:
> http://llvm.org/docs/ProgrammersManual.html#the-isa-cast-and-dyn-cast-
> templates
>
I understand isa and dyn-cast let you test the type of an object at
run-time by leveraging LLVM's custom implementation of RTTI. However, it
doesn't make much sense to test out for all possible sub-classes to
2017 Jun 11
2
Force casting a Value*
On 11 June 2017 at 11:32, Nikodemus Siivola <nikodemus at random-state.net>
wrote:
> On Sun, Jun 11, 2017 at 7:49 PM, Dipanjan Das via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>>
>>
>> On 11 June 2017 at 07:53, David Blaikie <dblaikie at gmail.com> wrote:
>>
>>> Sounds like you're looking for reinterpret_cast: http://en.cp
2017 Jun 15
2
Linker error while linking DataFlowSanitizer to LLVM IR
I am using pre-built LLVM/Clang 3.8.0 binaries on Ubuntu 16.04.2, 64 bit. I
tried to lift a minimal program to LLVM IR, then link the IR to
DataFlowSanitizer libraries to produce executable code. In the second step,
the process throws a bunch of linker errors.
=========================================
#include <sanitizer/dfsan_interface.h>
#include <assert.h>
int main(void) {
int
2017 Jun 12
4
How to know the sub-class of a Value class?
As a concrete question, I understand 'Value' class is the parent of many
concrete sub-classes. Let's say I retrieve a Value* value =
store_inst->getValueOperand(). Unless I know what the sub-type is, how can
I further use this object? I tried something like this:
=================================================
Value* value = store_inst->getValueOperand()
2017 May 09
2
Computing unique ID of IR instructions that can be mapped back
On 5/8/17 6:40 PM, Robinson, Paul via llvm-dev wrote:
> (adding back llvm-dev)
>
>
>
> Is there any standard means to add an extra field to LLVM IR instructions?
>
>
>
> Your description implies that you are not intending to change the
> on-disk format, so it's simple:
>
> It is a class. Change the source to add a field to it. Use it as you wish.
An
2017 Jun 11
2
Force casting a Value*
I am trying to cast a Value* irrespective of its underlying subclass to
uint64 and pass it on to a method as an argument.
if (StoreInst *store_inst = dyn_cast<StoreInst>(&I)) {
Value* vo = store_inst->getValueOperand();
uint64 value = /* cast vo to unsigned int 64 bit */
func(value);
}
How can I force
2017 Jun 28
3
LLVM docs links broken
Has LLVM docs deen moved to somewhere recently? The link is broken:
http://llvm.org/docs/doxygen/html/classllvm_1_1InsertValueInst.html
--
Thanks & Regards,
Dipanjan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170627/64ae4f89/attachment-0001.html>
2017 Oct 20
2
How to create a 64 bit ConstInt having a value of -1?
I tried the following:
- ConstantInt::get(Type::getInt64Ty(Ctx), APInt(0xFFFFFFFFFFFFFFFF, 64,
false))
- ConstantInt::get(Type::getInt64Ty(Ctx), APInt(-1, 64))
I am receiving the following error: Assertion `NumBits <= MAX_INT_BITS &&
"bitwidth too large" failed
--
Thanks & Regards,
Dipanjan
-------------- next part --------------
An HTML attachment was scrubbed...
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
2017 May 09
2
Computing unique ID of IR instructions that can be mapped back
> Isn't Instruction* a pointer to the instruction in memory? If so, it'll
change across runs
Correct, but none of this is meant to be stored across runs, so the actual
address doesn't matter. You recompute the map every time your IR is loaded.
On Mon, May 8, 2017 at 7:34 PM, Dipanjan Das via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
>
>
> On 8 May 2017 at
2017 May 04
6
Computing unique ID of IR instructions that can be mapped back
I am writing an analysis pass on LLVM which requires to:
[1] generate unique, positive ID corresponding to each instruction
[2] the ID must survive across runs
[3] given the ID, corresponding instruction has to be mapped back
For [1], the general suggestion is to use the Value* instr_ptr associated
to each instruction. The instr_ptr points to specific instruction in
memory, hence