Displaying 20 results from an estimated 9000 matches similar to: "[LLVMdev] Writing an address space re-numbering pass?"
2020 May 03
2
LLVM type.h question
Hi,
I see this in the Type class:
unsigned getSubclassData() const { return SubclassData; }
void setSubclassData(unsigned val) {
SubclassData = val;
// Ensure we don't have any accidental truncation.
assert(getSubclassData() == val && "Subclass data too large for field");
}
How will the assert ever get triggered?
The type is "unsigned" so how can
2012 Jun 10
1
[LLVMdev] Why no setAddressSpace method?
Dear LLVM,
A minor thing.
During opt passes it is sometimes needed to adjust the pointer address
space. However, I've noticed PointerType in LLVM has only get accessor, and
clang has its initial setter. Maybe better to
--- DerivedTypes.h (revision 156703)
+++ DerivedTypes.h (working copy)
@@ -450,6 +450,9 @@
/// @brief Return the address space of the Pointer type.
inline
2014 Dec 10
4
[LLVMdev] Metadata/Value split has landed
The `Metadata`/`Value` split (PR21532) landed in r223802 -- at least, the
C++ side of it. This was a rocky day, but I suppose that's what I get
for failing to stage the change in smaller pieces.
As of r223916 (lldb), I'm not aware of any remaining (in-tree) breakage,
so if I've missed some problem in the sea of buildbot errors, please
flag me down.
I'll follow up soon with
2014 Dec 10
2
[LLVMdev] Metadata/Value split has landed
> On 2014 Dec 10, at 08:40, Tom Stellard <tom at stellard.net> wrote:
>
> On Tue, Dec 09, 2014 at 09:22:16PM -0800, Duncan P. N. Exon Smith wrote:
>> The `Metadata`/`Value` split (PR21532) landed in r223802 -- at least, the
>> C++ side of it. This was a rocky day, but I suppose that's what I get
>> for failing to stage the change in smaller pieces.
>>
2014 Dec 10
3
[LLVMdev] Metadata/Value split has landed
> On 2014 Dec 10, at 14:08, Tom Stellard <tom at stellard.net> wrote:
>
> On Wed, Dec 10, 2014 at 11:21:08AM -0800, Duncan P. N. Exon Smith wrote:
>>
>>> On 2014 Dec 10, at 08:40, Tom Stellard <tom at stellard.net> wrote:
>>>
>>> On Tue, Dec 09, 2014 at 09:22:16PM -0800, Duncan P. N. Exon Smith wrote:
>>>> The `Metadata`/`Value`
2014 Dec 11
2
[LLVMdev] Metadata/Value split has landed
On Wed, Dec 10, 2014 at 05:27:45PM -0800, Duncan P. N. Exon Smith wrote:
> +zalman at google.com
>
Hi Duncan,
This patch plus another small change fixes the assertion failure for
me. With the patch alone, the void* overload of addGarbageObject()
was being used by MDNode::getTemporary(), so I had to cast the object as
an MDNode*:
diff --git a/lib/IR/Metadata.cpp b/lib/IR/Metadata.cpp
2014 Dec 11
2
[LLVMdev] Metadata/Value split has landed
I committed:
r224058 = 966942da9e68b59c31ce770e7f94c55a63482c6b
r224060 = da75f7277e3a129aed8ef8aa4e0d84de40b76fd4
r224061 = f88e4c8e9171045454b2c8e05054c2af8da3fe4f
Let me know if somehow you're still hitting the problem.
r224061 removes leak detection entirely from `MachineInstr`. There aren't
any leaks to be had there, since they're allocated in a custom allocator.
They're
2018 Sep 06
2
Replacing a function from one module into another one
Hi Philip,
The error happens when the program finishes and it automatically calls the
destructors, so it is not an error specifically inside my program. Here's
the full code:
#include "llvm/ExecutionEngine/ExecutionEngine.h"
#include "llvm/ExecutionEngine/MCJIT.h"
#include "llvm/IRReader/IRReader.h"
#include "llvm/Support/TargetSelect.h"
#include
2018 Sep 06
2
Replacing a function from one module into another one
Hi Philip,
Thanks for the reference, I was able to follow it and copy the code that I
saw necessary, but I still have some issues (references are still not
updated). I created the function:
void populateVMap(llvm::ValueToValueMapTy &VMap, llvm::Function *fOld,
llvm::Function *fNew) {
llvm::Function::arg_iterator DestI = fOld->arg_begin();
for (llvm::Function::const_arg_iterator J =
2016 Mar 29
1
llvm isTokenTy() deprecated?
Hi,
I am trying to process the typeID from a type as follows:
Type *T;
if(T->isTokenTy()){
std::cout << "Token Type";
}
/home/shehbaz/courses/ece1781/project/fslice/plugin/FSlice.cpp:147:14:
error: ‘class llvm::Type’ has no member named ‘isTokenTy’
else if(T->isTokenTy())
^
I am successfully able to do this for all other 20-25 types mentioned here:
2013 Jun 06
3
[LLVMdev] CFG of a function
I think I understood that, but what I mean is what is the function
responsible to do mapping is it MapValue() in ValueMapper.h?
Thanks for your help
On 6 June 2013 09:54, Alexandru Ionut Diaconescu <
alexandruionutdiaconescu at gmail.com> wrote:
> Map every basic block from the CFG to a set of integers. The successors
> from the CFG can be used to make the edges in your simplified
2018 Sep 04
2
Replacing a function from one module into another one
Hi Philip,
Thank you very much for your answer, the vector declaration example worked.
I'm pretty sure the ValueToValueMapTy is the last thing I need because I
even saw there is another function that could help me llvm*:*:RemapFunction
<http://llvm.org/doxygen/namespacellvm.html#addf0183e92893bdbcde00fc9091dda93>;
but my problem is that I don't know how to populate the
2008 Nov 13
0
[LLVMdev] Using isa with derived types
Zappel-Phillip wrote:
> Hello,
>
> I am writing an optimization pass which optimizes code based on an online
> pointer analysis algorithm and need to detect pointers which are pointing to
> derived types. I have not had any problem identifying pointers in general
> using isa<PointerType>(...), but I can't seem to figure out how I can make
> sure that the pointer is
2012 Jun 21
3
[LLVMdev] Cloning block for newbie
Hello everybody.
I'm quite new to LLVM and I'm encontering problems with cloning basic
blocks. My two basic blocks are in the same function and it doesn't really
matter how the cloned one behave for the moment. Of course, to do so, I
used the cloning.h 's method "CloneBasicBlock" but I have the "Instruction
does not dominate all uses!" error.
I know what it
2013 Feb 13
1
[LLVMdev] Overhauling the command-line processing/codegen options code
On 13 February 2013 19:37, Justin Holewinski
<justin.holewinski at gmail.com> wrote:
> Is anyone currently working on overhauling the command-line processing code?
>
I'm currently doing some work on the CommandLine library but I don't
think my work is going to help you. I'm current working on...
- Allowing declared command line options to be put into categories to
allow a
2013 Aug 30
1
[LLVMdev] Are instr_iterators invalidated when function inlining is performed?
Hi,
I'm trying to write a small piece of code that inlines all calls to a
particular function. The codes is as follows
Function* klee_check_divF = module->getFunction("klee_div_zero_check");
assert(klee_check_divF != 0 && "Failed to find klee_div_zero_check function");
// Hack inline checks
for (Module::iterator f = module->begin(), fe =
2008 Dec 08
1
[LLVMdev] Using isa with derived types
I believe I failed to ask the question properly, I am not trying to determine
whether the elements of an array are scalar type. Instead, I want to be able
to iterate over the function's parameters and determine whether a pointer
argument is actually an array being passed which contains scalar values, or
simply a pointer with a single scalar value. In other words, I want to
ignore functions
2020 Sep 17
3
Timeout tests timing out
Hi David,
Unfortunately writing a reliable test is tricky given that the
functionality we're trying to test involves timing. I would advise
against disabling the test entirely because it actually tests
functionality that people use. I'd suggest bumping up the time limits.
This is what I've done in the past. See
commit 6dfcc78364fa3e8104d6e6634733863eb0bf4be8
Author: Dan Liew <dan
2013 Dec 20
2
[LLVMdev] [LLVM] What has happened to LLVM bitcode archive support?
>> Therefore LLVM is still supporting runtime libraries that consist of llvm
>> bitcode files (even if the format is now different)
>
> runtime? It is still possible to build .a files if that is what you men.
Sorry I haven't explained very clearly. The tool that I work on is an
interpreter of LLVM IR and when the tool runs, it links in an archive
of bitcode modules into the
2014 Aug 15
2
[LLVMdev] Functions with unnamed parameters in LLVM IR
> I did mean the LangRef, but probably not there, and not to that degree.
For documentation I think being explicit is much better than being implicit.
> It's a fairly minor point, perhaps warranting a sentence where unnamed
> values are generally discussed and the basic-block case is mentioned
> (under the "Identifiers" section).
I took a look at the