Displaying 20 results from an estimated 200 matches similar to: "[LLVMdev] Q: When is a boolean not a boolean?"
2013 May 13
0
[LLVMdev] Q: When is a boolean not a boolean?
Jeremy Lakeman wrote:
> A: When the types are created in different contexts.
>
> I've been running into a module validation error related to phi nodes
> produced by the GVN pass, where the types of the incoming values aren't
> the same instance of IntegerType i1.
>
> I'm not certain I've found the root cause of the problem yet, it's
> probably due to my
2010 Aug 06
2
[LLVMdev] PR5373
Hello again :)
It's been some time since I sent you last patch, but here I'm again. I send the patch for PR5373.
Regards
--
Jakub Staszak
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr5373.patch
Type: application/octet-stream
Size: 5913 bytes
Desc: not available
URL:
2010 Aug 06
2
[LLVMdev] PR5373
On Aug 6, 2010, at 11:47 AM, Dale Johannesen wrote:
> The last bit here
>
> + if (LoopExitBB) {
> + // It is possible that for both successors isTrivialLoopExitBlock()
> + // returns different exit blocks. It means that the loop isn't trivial,
> + // just quit then.
> + if (LoopExitBB != LoopExitBB2)
> + return false;
> +
2010 Aug 06
0
[LLVMdev] PR5373
The last bit here
+ if (LoopExitBB) {
+ // It is possible that for both successors
isTrivialLoopExitBlock()
+ // returns different exit blocks. It means that the loop
isn't trivial,
+ // just quit then.
+ if (LoopExitBB != LoopExitBB2)
+ return false;
+ } else if (Val) {
+ // if LoopExitBB == LoopExitBB2 pick the first one (true).
+
2016 Jul 04
2
Path condition propagation
Sure
On Mon, Jul 4, 2016, 9:40 AM Carlos Liam <carlos at aarzee.me> wrote:
> It looks like there's already something similar in PropagateEquality which
> eg X >= Y == true and replaces X < Y == false, which is somewhat similar -
> could I base an addition off of that?
>
>
> - CL
>
> On Jul 3, 2016, at 7:13 PM, Daniel Berlin <dberlin at dberlin.org>
2007 Oct 26
2
[LLVMdev] LLVM Newbie. Questions about backend.
Hello,
I have been studying LLVM and started to create a new backend for a
new RISC architecture. Now I need some help to get forward with my
project. I'm quite new to compiling techniques so I'm sorry for the
stupid questions.
Question 1:
My idea is to lower the select SDNode as follows:
%res1 = %falseVal
%res2 = setc %trueVal, %condition
Where setc is conditional mov. The
2006 Aug 21
5
[LLVMdev] selecting select_cc
I am trying to add support for select_cc. In ARM it can be implemented with:
mov $dst, $falseVal
cmp $a, $b
moveq $dst, $trueVal
My current strategy is to expand select_cc in two ARM nodes:
ARM::SELECT and ARM::CMP. The two nodes would be connected by a flag
edge.
ARM::CMP would then expand to "cmp $a, $b". This instruction has no
results. It only alters the CPSR (current program
2012 Aug 19
1
[LLVMdev] MBlaze select_cc lowering question.
Can someone explain how the condition code is passed from the
MBlazeTargetLowering::LowerSELECT_CC to
MBlazeTargetLowering::EmitCustomSelect custom inserter? In
LowerSELECT_CC the condition code is never accessed (Op.GetOperand(4))
and I don't see how it ends up getting correctly passed to the
MBlazeTargetLowering::EmitCustomSelect.
> SDValue
2006 Aug 22
0
[LLVMdev] selecting select_cc
Hi Rafael,
> I am trying to add support for select_cc. In ARM it can be implemented
> with:
>
> mov $dst, $falseVal
> cmp $a, $b
> moveq $dst, $trueVal
The more normal ARM code, as produced by assembly writers and compilers
that I've seen, is
cmp $a, $b
moveq $dst, $trueVal
movne $dst, $falseVal
e.g. at the end of a function returning r0
orr r0, r0, #0x40
2008 Sep 12
2
[LLVMdev] Selection Condition Codes
Eli, Thanks for the tips.
I've been able to get something working using a custom instruction
inserter, however, I'm still having the problem of linking together the
setcc and the select_cc commands. I want to turn the setcc into a
comparison and use the results in the select_cc register. However, the
comparison information is in the select_cc instruction and the result of
the comparison
2008 Sep 12
0
[LLVMdev] Selection Condition Codes
On Thu, Sep 11, 2008 at 6:14 PM, Villmow, Micah <Micah.Villmow at amd.com> wrote:
> I am attempting to lower the selectCC instruction to the instruction set of
> the backend I'm working on and I cannot seem to find a way to correctly
> implement this instruction. I know how this instruction should get
> implemented; I just have yet to find a way to do it. I want the select_cc
2016 Jul 20
2
Hitting assertion failure related to vectorization + instcombine
Hi folks,
I'm hitting the below assertion failure when compiling this small piece of C code (repro.c, attached).
My command line is:
bin/clang --target=aarch64-linux-gnu -c -O2 repro.c
clang is built from top of trunk as of this morning. It only happens at -O2, and it doesn't happen with the default target (x86_64). I tried to reproduce using just 'llc -O2' but didn't
2016 Jul 20
2
Hitting assertion failure related to vectorization + instcombine
Thanks for notifying me. Yes, this was a recent change. Taking a look now.
On Wed, Jul 20, 2016 at 1:49 PM, Michael Kuperstein <mkuper at google.com>
wrote:
> +Sanjay, who touched this last. :-)
>
> On Wed, Jul 20, 2016 at 12:44 PM, Ismail Badawi (ibadawi) via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> Hi folks,
>>
>> I'm hitting the
2008 Sep 12
2
[LLVMdev] Selection Condition Codes
I am attempting to lower the selectCC instruction to the instruction set
of the backend I'm working on and I cannot seem to find a way to
correctly implement this instruction. I know how this instruction should
get implemented; I just have yet to find a way to do it. I want the
select_cc instruction to be lowered into a comparison followed by a
conditional move. I've attempted to use a
2016 Jul 22
2
Hitting assertion failure related to vectorization + instcombine
Sanjay: let me know if this is something that will apply to 3.9.
Thanks,
Hans
On Wed, Jul 20, 2016 at 5:59 PM, Sanjay Patel via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Quick update - the bug existed before I refactored that chunk in
> InstSimplify with:
> https://reviews.llvm.org/rL275911
>
> In fact, as discussed in https://reviews.llvm.org/D22537 - because we have a
2016 Jul 25
2
Hitting assertion failure related to vectorization + instcombine
Sure. David, what do you think about merging this to 3.9?
Sanjay: are you saying I'd just apply that diff to
InstructionSimplify.cpp, not InstCombineSelect.cpp?
On Fri, Jul 22, 2016 at 7:08 AM, Sanjay Patel <spatel at rotateright.com> wrote:
> Hi Hans -
>
> Yes, I think this is a good patch for 3.9 (cc'ing David Majnemer as code
> owner). The functional change was
2012 Jul 02
1
[LLVMdev] Intrinsic::getDeclaration causing dump() segfault
In the following scrap of code (pared down from actually useful code),
the func->dump() command segfaults iff the commented-out line is
uncommented. This is with llvm 3.0. I'm only dipping my toes into the
waters of llvm for the first time, and have no idea what I am doing
incorrectly. In actual code, I would be wanting to call the memcpy
intrinsic eventually, of course.
int main(void)
2016 Jul 27
0
Hitting assertion failure related to vectorization + instcombine
David, Sanjay: ping?
On Mon, Jul 25, 2016 at 11:07 AM, Hans Wennborg <hans at chromium.org> wrote:
> Sure. David, what do you think about merging this to 3.9?
>
> Sanjay: are you saying I'd just apply that diff to
> InstructionSimplify.cpp, not InstCombineSelect.cpp?
>
> On Fri, Jul 22, 2016 at 7:08 AM, Sanjay Patel <spatel at rotateright.com> wrote:
>> Hi
2016 Jul 28
1
Hitting assertion failure related to vectorization + instcombine
LGTM
On Wednesday, July 27, 2016, Hans Wennborg <hans at chromium.org> wrote:
> David, Sanjay: ping?
>
> On Mon, Jul 25, 2016 at 11:07 AM, Hans Wennborg <hans at chromium.org
> <javascript:;>> wrote:
> > Sure. David, what do you think about merging this to 3.9?
> >
> > Sanjay: are you saying I'd just apply that diff to
> >
2011 Jan 03
1
[LLVMdev] Erasing dead blocks
Dear LLVM developers,
I have a question regarding the IPSCCP class and the handling of dead blocks:
The file lib/Transforms/Scalar/SCCP.cpp of llvm 2.8 from contains some
code to deal with a dead block which could not be folded (line
1909ff). This happens when a user of this dead block is a branch or
switch with an undef condition. The action taken than is to replace
this terminator with an