Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] ARMLoadStoreOptimizer bug"
2012 Feb 07
0
[LLVMdev] ARMLoadStoreOptimizer bug
I've committed a fix: r149970. Please try it. I would really appreciate it if you can provide us with a test case (unreduced test case is fine).
Evan
On 2012 2 4, at 09:46, David Meyer <pdox at google.com> wrote:
> Evan & llvmdev,
>
> I'm seeing a case where ARM Load/Store optimizer is breaking code. I have not had any luck trying to come up with a minimal example;
2012 Feb 07
1
[LLVMdev] ARMLoadStoreOptimizer bug
Evan,
A test case is extremely hard to pin down. For months now, we've noticed
our stage 2 LLVM ARM build has sporadic failures. Tests would start
failing, then start working, then start failing, etc, for no apparent
reason.
The test case I have (llc.bc, which is all of llc in bitcode form, 44.8
MB), only works against r149814. And in this case, there are only 2 cases
of the miscompile
2018 Apr 09
2
How to get the case value from Machine Instruction
Hi, guys
I am interesting about how to get the switch case value form the Machine Instruction.
I know the switch will be converted to jump-table in the Machine Instruction.
And in the phase CodeGen , the case-value of SwitchInst can get esasly.
but it seems no case -value in Machine Instruction.
The MI as follows:
Frame Objects:
fi#0: size=1, align=0, at location [SP]
fi#1: size=4,
2018 Apr 09
0
How to get the case value from Machine Instruction
Some glitch in the emailer? I have received this message 3 times in a row!?
I think that by the time it gets as far as MI-level there is no reversible
method of determining the 'case' label at all. The reason I say this, is
that I have often seen optimisations that coalesce groups of values into
interesting logical tests and jump-tables are completely avoided. For
example, a simple
2018 Apr 10
1
How to get the case value from Machine Instruction
Thanks for your help.
Is there possible I can get the realily case value form the MI?
For the case in https://bugs.llvm.org/show_bug.cgi?id=34902.
as follows.
#############################
* GCC v7.1 generated assembly
#############################
** Options: -Os -marm -march=armv7-a
foo:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
sub
2017 Oct 09
4
{ARM} IfConversion does not detect BX instruction as a branch
Hi all,
I got a silly bug when compiling our project with the latest Clang.
Here's the outputted assembly:
> tst r3, #255
> strbeq r6, [r7]
> ldreq r6, [r4, r6, lsl #2]
> strne r6, [r7, #4]
> ldr r6, [r4, r6, lsl #2]
> bx r6
For the code to execute correctly, either the _ldr_ should be a _ldrne_
instruction or the _ldreq_ instruction should be removed. The error
seems to
2012 Feb 05
0
[LLVMdev] ARMLoadStoreOptimizer bug
Hello David,
> I'm seeing a case where ARM Load/Store optimizer is breaking code. I have
> not had any luck trying to come up with a minimal example; it is breaking in
> our stage 2 LLVM build.
Still, *any* testcase is better than no testcase :)
--
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University
2018 Jun 15
2
Strange Machineinstr
Hi
I write a machinefunction pass to print all the machinefunction's machine
instructions.
My target architecture is ARM. However, I don't understand some part of the
machine instructions.
Below is some of the assembly language for function A.
.text:0001C034 STMFD SP!, {R4,R10,R11,LR}
> .text:0001C038 ADD R11, SP, #8
> .text:0001C03C
2018 Jun 15
3
Strange Machineinstr
Hi Krzysztof
Thank you very much for your quick and clear reply. I know that MIR may not
match hardware instructions directly. However, I think the semantics should
be similar.
For example, the first instruction is a store-multiple instruction in ARM.
I think the first four MIR I shown should have the similar semantics with
the first three hardware instructions. I still cannot see the
2007 Sep 07
1
[LLVMdev] Call instruction
My home e--mail is down, which is where I get my llvm feeds, so please copy
any replies to this address as well as the list.
The call instruction can define implicit defs. What are the semantics when
the call includes a use with a kill of some register and also an implicit def
of that register? Is the register to be considered live out at that point?
I've found a failing testcase where
2012 Feb 06
1
[LLVMdev] ARMLoadStoreOptimizer bug
Anton,
I'm afraid I really can't produce a meaningful example. The bug is
extremely sensitive to code placement, optimization. I had to do a terrible
amount of drugdery to find it in the first place.
Here's how I found the bug:
1) Stage 1: Compile LLVM with build/host x86, target ARM.
2) Stage 2: Cross-compile LLVM with host ARM, target ARM, using the stage 1
Clang/LLVM.
3) Use the
2018 Apr 09
0
How to get the case value from Machine Instruction
Hi, guys
I am interesting about how to get the switch case value form the Machine Instruction.
I know the switch will be converted to jump-table in the Machine Instruction.
And in the phase CodeGen , the case-value of SwitchInst can get esasly.
but it seems no case -value in Machine Instruction.
The MI as follows:
Frame Objects:
fi#0: size=1, align=0, at location [SP]
fi#1: size=4,
2009 Jan 07
4
[LLVMdev] Possible bug in the ARM backend?
Hi,
I'm working on the iterated register coalescing graph coloring
allocator and try to test it with all backends available currently in
LLVM.
Initial tests with most of the backends are successful.
It turned out that my allocator triggers a specific assertion in the
RegScavenger and only for the ARM target. It looks like the LR
register is used for frame pointer related things,
but it is
2009 Jan 13
2
[LLVMdev] Possible bug in the ARM backend?
2009/1/13 Evan Cheng <echeng at apple.com>:
>
> On Jan 7, 2009, at 2:48 AM, Roman Levenstein wrote:
>
>> bb368: 0x8fdad00, LLVM BB @0x8fc2c98, ID#1:
>> Predecessors according to CFG: 0x8fdac90 (#0)
>> %R0<def> = MOVi 0, 14, %reg0, %reg0
>> *** STR %LR<kill>, %R0<kill>, %reg0, 0, 14, %reg0, Mem:ST(4,4)
>> [0x8fc2d68 + 0]
2009 Jan 13
0
[LLVMdev] Possible bug in the ARM backend?
On Jan 7, 2009, at 2:48 AM, Roman Levenstein wrote:
> bb368: 0x8fdad00, LLVM BB @0x8fc2c98, ID#1:
> Predecessors according to CFG: 0x8fdac90 (#0)
> %R0<def> = MOVi 0, 14, %reg0, %reg0
> *** STR %LR<kill>, %R0<kill>, %reg0, 0, 14, %reg0, Mem:ST(4,4)
> [0x8fc2d68 + 0]
> %LR<def> = LDR <fi#0>, %reg0, 0, 14, %reg0
>
2015 Aug 12
2
ARM: Predicated returns considered analyzable?
Doh. I missed the list in my first reply... Here's the replay of the
conversation:
----- Renato:
On 10 August 2015 at 14:05, Krzysztof Parzyszek via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> --> %SP<def,tied1> = t2LDMIA_RET %SP<tied0>, pred:8, pred:%CPSR,
> %R7<def>, %PC<def>, %SP<imp-use,undef>, %R7<imp-use,undef>,
>
2009 Jan 13
2
[LLVMdev] Possible bug in the ARM backend?
Hi again,
2009/1/13 Evan Cheng <evan.cheng at apple.com>:
>
>
> On Jan 13, 2009, at 12:27 AM, Roman Levenstein <romix.llvm at googlemail.com>
> wrote:
>
>> 2009/1/13 Evan Cheng <echeng at apple.com>:
>>>
>>> On Jan 7, 2009, at 2:48 AM, Roman Levenstein wrote:
>>>
>>>> bb368: 0x8fdad00, LLVM BB @0x8fc2c98, ID#1:
2009 Jan 13
0
[LLVMdev] Possible bug in the ARM backend?
On Jan 13, 2009, at 12:27 AM, Roman Levenstein <romix.llvm at googlemail.com
> wrote:
> 2009/1/13 Evan Cheng <echeng at apple.com>:
>>
>> On Jan 7, 2009, at 2:48 AM, Roman Levenstein wrote:
>>
>>> bb368: 0x8fdad00, LLVM BB @0x8fc2c98, ID#1:
>>> Predecessors according to CFG: 0x8fdac90 (#0)
>>> %R0<def> = MOVi 0, 14, %reg0,
2018 Dec 04
2
Incorrect placement of an instruction after PostRAScheduler pass
Hi,
I’m facing a crash issue (--target=arm-linux-gnueabi
-march=armv8-a+crc -mfloat-abi=hard) and debugging the problem, I
found that an intended branch was not taken due to bad code generation
after the Post RA Scheduler pass. A CMPri instruction after an
INLINEASM block (which inturn contains a cmp, bne instruction) is
being moved before the INLINEASM block incorrectly resulting in two
2012 Sep 18
0
[LLVMdev] liveness assertion problem in llc
On Sep 18, 2012, at 1:45 PM, Bjorn De Sutter <bjorn.desutter at elis.ugent.be> wrote:
> I am working on a backend for a CGRA architecture with advanced predicate support (as on EPIC machines and as first used in the OpenIMPACT compiler). Until last month, the backend was working fine, but since the r161643 commit by stoklund, my backend doesn't work anymore. I think I noticed some