Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] [PATCH] Remove instruction within a bundle"
2012 Jun 07
2
[LLVMdev] Instruction bundles before RA: Rematerialization
Hi Jakob,
2012/6/6 Jakob Stoklund Olesen <stoklund at 2pi.dk <mailto:stoklund at 2pi.dk>>
On Jun 6, 2012, at 2:53 AM, Ivan Llopard <ivanllopard at gmail.com
<mailto:ivanllopard at gmail.com>> wrote:
> We have a new BE for a VLIW-like processor and I'm currently
working on
> instruction bundles. Ideally, I'd like to have bundles
2012 Jun 06
0
[LLVMdev] Instruction bundles before RA: Rematerialization
On Jun 6, 2012, at 2:53 AM, Ivan Llopard <ivanllopard at gmail.com> wrote:
> We have a new BE for a VLIW-like processor and I'm currently working on
> instruction bundles. Ideally, I'd like to have bundles *before* RA to
> model certain constraints, e.g. the exposed one by Tzu-Chien a while ago
> in his thread
>
2012 Jun 07
0
[LLVMdev] Instruction bundles before RA: Rematerialization
I should probably voice our point of view as well… Hexagon is another VLIW target with “non standard” demands for bundling.
I think Jacob has summarized current view of bundles as “black box” rather precise, but I should say that our view of bundles is way more fluid and open than that.
To avoid going into lengthy discussion, let me just say – bundling for us is not a single occurrence, but
2012 Jun 06
2
[LLVMdev] Instruction bundles before RA: Rematerialization
Hi,
We have a new BE for a VLIW-like processor and I'm currently working on
instruction bundles. Ideally, I'd like to have bundles *before* RA to
model certain constraints, e.g. the exposed one by Tzu-Chien a while ago
in his thread
http://lists.cs.uiuc.edu/pipermail/llvmdev/2005-September/004798.html
In order to build bundles, we have added a new bottom-up MIScheduler,
right after
2012 Oct 30
2
[LLVMdev] [PATCH][Review request] MachineBasicBlock::iterator bug fix
The attached patch fixes bugs related to MachineBasicBlock::iterator. I
don't have any test cases that reproduce on an X86 machine the problems
that this patch fixes (these bugs were found when make check was run on a
mips board).
Please review.
The first part just ensures that iterator I is not instr_end() before it
invokes isInsideBundle().
The second part changes the signature of spillAll
2012 Oct 26
2
[LLVMdev] instr_iterator
Is it safe or legal to call isInsideBundle even when I == E?
MachineBasicBlock::iterator MachineBasicBlock::getFirstNonPHI() {
instr_iterator I = instr_begin(), E = instr_end();
while (I != E && I->isPHI())
++I;
assert(!I->isInsideBundle() && "First non-phi MI cannot be inside a
bundle!");
return I;
}
I am seeing an assert when I run llc.
The code is
2012 Oct 26
1
[LLVMdev] instr_iterator
Please see the attached patch.
There was one more line which was calling isInsideBundle without any check.
On Thu, Oct 25, 2012 at 7:08 PM, Jakob Stoklund Olesen <stoklund at 2pi.dk>wrote:
>
> On Oct 25, 2012, at 7:01 PM, Akira Hatanaka <ahatanak at gmail.com> wrote:
>
> Is it safe or legal to call isInsideBundle even when I == E?
>
>
> No, neither.
>
2015 Jan 30
1
[LLVMdev] About user of bitcast/GEP instruction
Hi,
If the special handling in the meg2reg pass is to look for lifetime
intrinsics, shouldn't it cast to <IntrisicInst> and then use
getInstrinsicID to check for lifetime_start and lifetime_end ?
The thing that I don't understand is the following piece of code, which
finds all the users and cast it to <Instruction> then eraseFromParent().
How can this guarantee that it only
2011 Dec 10
1
[LLVMdev] Types inference in tblgen: Multiple exceptions
On 10/12/2011 01:32, Eli Friedman wrote:
> On Fri, Dec 9, 2011 at 4:12 PM, Ivan Llopard<ivanllopard at gmail.com> wrote:
>> Hi Eli,
>> Thanks for your response. Please see my responses below.
>>
>>
>> On 10/12/2011 00:28, Eli Friedman wrote:
>>> On Fri, Dec 9, 2011 at 4:46 AM, Llopard Ivan<ivanllopard at gmail.com>
>>> wrote:
2010 Jun 18
1
[LLVMdev] Erasing Instruction
Hi,
Can anyone tell me how to erase an instruction, (specially a
load/store instruction) ?
If I use Instr->eraseFromParent(), I get following error. Note the
instruction does not have any use.
opt: /home/chayan/llvm/llvm-2.6/include/llvm/ADT/ilist.h:218:
llvm::ilist_iterator<NodeTy>&
llvm::ilist_iterator<NodeTy>::operator++() [with NodeTy =
llvm::Instruction]: Assertion
2018 Aug 08
2
Error Calling eraseFromParent()
Hi. Thanks. I changed the code but the problem exists. This is my new code
which is again very simple:
...
bool runOnFunction(Function &F) override {
vector<Instruction *> dels;
dels.clear();
for (inst_iterator It = inst_begin(&F), Ie = inst_end(&F); It != Ie;) {
Instruction *I = &*(It++);
if (auto* op = dyn_cast<BinaryOperator>(I)) {
IRBuilder<NoFolder>
2012 Oct 26
0
[LLVMdev] instr_iterator
On Oct 25, 2012, at 7:01 PM, Akira Hatanaka <ahatanak at gmail.com> wrote:
> Is it safe or legal to call isInsideBundle even when I == E?
No, neither.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121025/cb0bdec9/attachment.html>
2016 May 09
2
Replacing an instruction in a post-RA pass
I'm writing a pass that looks at the operands of certain non-commutable
instructions and swaps a couple of them if certain conditions exist (a
register bank conflict in the instruction). If the conflict exists, I build
a new instruction which has the 2nd and 3rd operands swapped (using
BuildMI). Then I want to get rid of the original instruction. I had done
some searching and found that
2018 Aug 07
2
Error Calling eraseFromParent()
Thanks Bjorn! But The problem is still there.
On Wed, Aug 8, 2018 at 2:04 AM, Björn Pettersson A <
bjorn.a.pettersson at ericsson.com> wrote:
> It looks quite dangerous to erase the instruction I inside the loop when
> iterating over all instructions in the function.
> I guess it depends on how the range based iterator is implemented if that
> works or not.
>
> I think
2012 Aug 13
1
[LLVMdev] [RFC] Bundling support in the PostRA Scheduler
Hi all,
Thanks for your feed-backs :-)
@Andrew: In fact, I've reused most of the postRA list scheduler code and
the resource priority queue. Every time it needs to move forward, either
because of a res hazard (HazardRec) or an invalid combination of
instructions in the current packet (DFA), it closes the current bundle
and advances to the next cycle. The non-interlocked nature of our
2010 Mar 23
1
[LLVMdev] How to avoid memory leaks
I think you need to call "llvm::Function::deleteBody() first"
On Tue, Mar 23, 2010 at 15:49, Reid Kleckner <rnk at mit.edu> wrote:
> On Tue, Mar 23, 2010 at 7:04 AM, Gabi <bugspynet at gmail.com> wrote:
>> Hi
>> I get huge memory leaks using LLVM IRBuilder (trunk version)
>>
>> Basically I recreate a function over and over again, and pretty sure
2018 Aug 08
3
Error Calling eraseFromParent()
LLVM is built in Release mode. The version is 6.0.0. I think that a similar
code worked on verison 3.9.0. It is probably a null pointer dereference
occurring in eraseFromParent(). I checked and reconfirmed that the
instruction had no uses. Perhaps I should rebuild LLVM. Thanks.
On Wed, Aug 8, 2018 at 9:03 PM, mayuyu.io <admin at mayuyu.io> wrote:
> Hmmmm that’s strange. Do you get an
2012 May 08
0
[LLVMdev] Address space information dropped
On Tue, May 8, 2012 at 4:59 AM, Ivan Llopard <ivanllopard at gmail.com> wrote:
> Hi Eli,
>
>
> On 07/05/2012 18:15, Eli Friedman wrote:
>>
>> On Mon, May 7, 2012 at 5:15 AM, Ivan Llopard<ivanllopard at gmail.com>
>> wrote:
>>>
>>> Hi all,
>>>
>>> Tuning my TargetAsmPrinter implementation in the back-end side, I
2012 Aug 18
1
[LLVMdev] GlobalVariable initializer using from beyond the grave
For LLDB I'm writing a dumb module pass that removes all global variables, by running the following code:
bool erased = true;
while (erased)
{
erased = false;
for (Module::global_iterator gi = llvm_module.global_begin(), ge = llvm_module.global_end();
gi != ge;
++gi)
{
GlobalVariable *global_var =
2012 May 08
4
[LLVMdev] Address space information dropped
Hi Eli,
On 07/05/2012 18:15, Eli Friedman wrote:
> On Mon, May 7, 2012 at 5:15 AM, Ivan Llopard<ivanllopard at gmail.com> wrote:
>> Hi all,
>>
>> Tuning my TargetAsmPrinter implementation in the back-end side, I
>> discovered that the address space number is not passed down while
>> emitting global variables with constant initializers. The information is