Displaying 20 results from an estimated 6000 matches similar to: "[LLVMdev] Modifing an operand of MDNode"
2010 Jun 08
0
[LLVMdev] Modifing an operand of MDNode
On Jun 7, 2010, at 3:35 PM, Junjie Gu wrote:
> I have a MDNode, and one of its operand is an int. I'd like to
> assign a new int value to that operand during the llvm optimization.
> What is the right way to do this ? (There is no setOperand() with
> MDNode class.)
Hi Junjie,
MDNodes are uniqued, so you can't change them. Just make a new MDNode with the new operand list
2010 Jun 02
0
[LLVMdev] Support for per-loop pragma
I'd like to add a pragma support in llvm. I am thinking about using a
llvm intrinsic to represent each pragma, such as
llvm.pragma (metadata, ...)
where metadata describes a pragma. So if an application has:
#pragma p1 ..
#pragma p2...
for (...)
The llvm IR would be
llvm.pragma (metadata..) // for p1
llvm.pragma (metadata..) // for p2
llvm IR for "for
2010 May 19
4
[LLVMdev] Support for per-loop pragma
Hi Chris,
Thanks. I will see what I can do for this.
Junjie
On Wed, May 19, 2010 at 3:45 PM, Chris Lattner <clattner at apple.com> wrote:
>
> On May 19, 2010, at 2:38 PM, Junjie Gu wrote:
>
>> Many compilers support per-loop pragma, such as loop unrolling (ie
>> #pragma unroll=2). Is there any LLVM project/effort going on
>> in this area ? What is the expected
2013 Nov 13
2
[LLVMdev] Proposal: release MDNodes for source modules (LTO+debug info)
On Nov 12, 2013, at 4:59 PM, Chandler Carruth <chandlerc at google.com> wrote:
> Other options are:
> 1> Using a different LLVMContext for the destination module, but it didn’t work out since Linker was not designed to work with different LLVMContexts for source vs destination.
> 2> removeUnusedMDNodes checks if a MDNode is used in a different way (i.e use_empty() &&
2010 Jun 02
0
[LLVMdev] Support for per-loop pragma
Thanks for comments/suggestions.
Yes, attaching metadata to instructions will be good choices for many
cases. But for loops,
attaching metadata to back-edges requires that the front end to build
loops, which is an
additional task for the front end. And this task is really a backend's
job, not the front end's.
If the only concern is that it is hard for pragma intrinsics to stay
with their
2010 Jun 02
3
[LLVMdev] Support for per-loop pragma
On Tue, Jun 1, 2010 at 5:42 PM, Junjie Gu <jgu222 at gmail.com> wrote:
> Any suggestions/ideas ?
IIUC, Chris suggested something like following ...
header:
br i1 %x, label %then, %label endif
then:
...
br i1 %y, label %loop_exit, label %header, !loop_pragma !1
endif:
...
br i1 %z, label %loop_exit, label %header, !loop_pragma !2
loop_exit:
ret i32 1
Where !1 and !2 are the
2013 Nov 13
0
[LLVMdev] Proposal: release MDNodes for source modules (LTO+debug info)
On Tue, Nov 12, 2013 at 4:46 PM, Manman Ren <manman.ren at gmail.com> wrote:
>
>
>
> On Tue, Nov 12, 2013 at 4:38 PM, Chandler Carruth <chandlerc at google.com>wrote:
>
>>
>> On Tue, Nov 12, 2013 at 4:29 PM, Manman Ren <manman.ren at gmail.com> wrote:
>>
>>> Hi All,
>>>
>>> In LTO, we load in the source modules and
2013 Nov 13
3
[LLVMdev] Proposal: release MDNodes for source modules (LTO+debug info)
On Tue, Nov 12, 2013 at 4:38 PM, Chandler Carruth <chandlerc at google.com>wrote:
>
> On Tue, Nov 12, 2013 at 4:29 PM, Manman Ren <manman.ren at gmail.com> wrote:
>
>> Hi All,
>>
>> In LTO, we load in the source modules and link the source modules into a
>> destination module.
>> Lots of MDNodes are only used by the source modules, for example
2011 Sep 29
1
[LLVMdev] llvm.memory.barrier does not work
On Wed, Sep 28, 2011 at 5:47 PM, Eli Friedman <eli.friedman at gmail.com> wrote:
> On Wed, Sep 28, 2011 at 3:27 PM, Junjie Gu <jgu222 at gmail.com> wrote:
>> Instrinsic llvm.memory.barrier does not work as expected. Is it a bug
>> or it has not been implemented yet ?
>
> It's going away in favor of the new fence instruction (and I'll remove
> it as soon
2010 Jun 02
1
[LLVMdev] Support for per-loop pragma
If LLVM would like to support OpenMP pragma in the future, not sure
if attaching metadata to instructions is still a good choice.
Junjie
On Wed, Jun 2, 2010 at 11:08 AM, Junjie Gu <jgu222 at gmail.com> wrote:
> Thanks for comments/suggestions.
>
> Yes, attaching metadata to instructions will be good choices for many
> cases. But for loops,
> attaching metadata to back-edges
2013 Nov 13
0
[LLVMdev] Proposal: release MDNodes for source modules (LTO+debug info)
On Tue, Nov 12, 2013 at 6:02 PM, Chris Lattner <clattner at apple.com> wrote:
> On Nov 12, 2013, at 4:59 PM, Chandler Carruth <chandlerc at google.com>
> wrote:
>
> Other options are:
>>>> 1> Using a different LLVMContext for the destination module, but it
>>>> didn’t work out since Linker was not designed to work with different
>>>>
2013 Nov 13
0
[LLVMdev] Proposal: release MDNodes for source modules (LTO+debug info)
On Tue, Nov 12, 2013 at 4:29 PM, Manman Ren <manman.ren at gmail.com> wrote:
> Hi All,
>
> In LTO, we load in the source modules and link the source modules into a
> destination module.
> Lots of MDNodes are only used by the source modules, for example Xalan
> used 649MB for MDNodes after loading and linking, but the actual
> destination module only has 393MB of
2013 Nov 13
2
[LLVMdev] Proposal: release MDNodes for source modules (LTO+debug info)
Hi All,
In LTO, we load in the source modules and link the source modules into a
destination module.
Lots of MDNodes are only used by the source modules, for example Xalan used
649MB for MDNodes after loading and linking, but the actual destination
module only has 393MB of MDNodes. There are 649-393MB (40% of 649MB) not
used.
MDNodes belong to the Context, deleting modules will not release the
2011 Sep 29
0
[LLVMdev] llvm.memory.barrier does not work
On Wed, Sep 28, 2011 at 3:27 PM, Junjie Gu <jgu222 at gmail.com> wrote:
> Instrinsic llvm.memory.barrier does not work as expected. Is it a bug
> or it has not been implemented yet ?
It's going away in favor of the new fence instruction (and I'll remove
it as soon as dragonegg catches up). It should still work at the
moment, though.
> (1) false arguments do not work
>
2010 Jun 02
1
[LLVMdev] Support for per-loop pragma
On Wed, Jun 2, 2010 at 11:08 AM, Junjie Gu <jgu222 at gmail.com> wrote:
> Thanks for comments/suggestions.
>
> Yes, attaching metadata to instructions will be good choices for many
> cases. But for loops,
> attaching metadata to back-edges requires that the front end to build
> loops, which is an
> additional task for the front end. And this task is really a
2018 Dec 05
2
RFC: LoopIDs are not identifiers (and better loop-parallel metadata)
Dear LLVM community,
LLVM IR has a concept of 'LoopID' [1] which is a misnomer:
(a) LoopIDs are not unique: Any pass that duplicates IR will do it
including its metadata (e.g. LoopVersioning) such that thereafter
multiple loops are linked with the same LoopID. There is even a test
case (Transforms/LoopUnroll/unroll-pragmas-disabled.ll) for multiple
loops with the same LoopID.
(b)
2011 Aug 22
1
[LLVMdev] Infinite loop when adding a new analysis pass
I am trying to add an analysis pass as a FunctionPass, and let LICM
(LoopPass) depends upon it. So in LICM.cpp, I have the following:
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesCFG();
AU.addRequired<DominatorTree>();
AU.addRequired<LoopInfo>();
AU.addRequiredID(LoopSimplifyID);
AU.addRequired<AliasAnalysis>();
2009 Jul 28
2
[LLVMdev] PROPOSAL : Introduce NamedMetadata
On Mon, Jul 27, 2009 at 9:31 PM, Nick Lewycky<nicholas at mxc.ca> wrote:
> Why not have a named GlobalValue with an MDNode initializer? How is this
> different from what we had before?
GlobalValue initializer accepts only Constants.
-
Devang
2010 May 19
2
[LLVMdev] Support for per-loop pragma
Many compilers support per-loop pragma, such as loop unrolling (ie
#pragma unroll=2). Is there any LLVM project/effort going on
in this area ? What is the expected way for implementing per-loop
pragma, or general pragma ? Suggestions/comments ?
Thanks
Junjie
2013 Nov 13
2
[LLVMdev] Proposal: release MDNodes for source modules (LTO+debug info)
On Tue, Nov 12, 2013 at 4:59 PM, Chandler Carruth <chandlerc at google.com>wrote:
> On Tue, Nov 12, 2013 at 4:46 PM, Manman Ren <manman.ren at gmail.com> wrote:
>
>>
>>
>>
>> On Tue, Nov 12, 2013 at 4:38 PM, Chandler Carruth <chandlerc at google.com>wrote:
>>
>>>
>>> On Tue, Nov 12, 2013 at 4:29 PM, Manman Ren <manman.ren