Displaying 20 results from an estimated 2000 matches similar to: "Performance tests?"
2019 Jul 26
2
Stackmap offset computation on AArch64
Hi all,
I am trying to implement statepoints for the AArch64 target and I’m running into the issue where the following bitcode:
define i32 addrspace(1)* @test(i32 addrspace(1)* %ptr) gc "statepoint-example" {
entry:
call token (i64, i32, i1 ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_i1f(i64 0, i32 0, i1 ()* @foo, i32 0, i32 0, i32 0, i32 0, i32 addrspace(1)* %ptr)
ret
2020 Mar 25
2
__builtin_thread_pointer for RISC-V
Hi Devs,
since risc-v has a register $tp which is thread pointer.
is it possible to have __builtin_thread_pointer for RISC-V?
I am not sure what could be corresponding instructions?
./kamlesh
2019 Nov 20
2
Get the address of ConstantDataArray
Hi all,
I have a global array declared as: table = internal constant [8 x [256 x
i32]] ...
At the moment I'm able to get the reference to table using Constant* g_var
= cast<GlobalVariable>(I.getOperand(0))->getInitializer(); ( please
consider I to be a GetElementPtrInst object ).
Now I would like to understand how to get the address of table[2][3], for
instance, considering that I
2020 Apr 29
2
What is the process for release notes for LLVM
This approximately follows my understanding and expectation.
I think that, if you have commit access, commits to improve release notes fall under the contribution guidelines for documentation and therefore do not require a full Phabricator review.
I know Alex Bradbury tries to coordinate the RISC-V backend-related release notes based on the backend changes since the last release, and this seems
2020 Apr 26
2
assembly code for array iteration generated by llvm is much slower than gcc
Hi all developers,
I'm changing compiler from gcc to llvm on a RISCV target now. but I found in some case the assembly code generated by llvm is much more than gcc. It cause my program's performance about 40% decrease.
The flowing is a simple test code. It shows the problem. We can see than gcc prefer to use pointer to iterate the array, but llvm perfere to use index to iterate
2020 Mar 23
2
RISC-V LLVM sync-up call 19 Mar 2020
Hi, Sam.
I think that it's a fair comparison.
Keep in mind that the GP is only used to reach global variables of local scope and the GOT, where the address of global variables of global scope reside.
This model assumes that the distance between the GP and the global data area, GOT and local scope variables is defined at link time.
__
Evandro Menezes ◊ SiFive ◊ Austin, TX
> On Mar
2020 Jul 01
2
How to prevent llvm's default optimization
Thanks. I have checked the hook DAGCombiner::isMulAddWithConstProfitable
And I think the above condition is too aggressive.
// If the add only has one use, this would be OK to do.
if (AddNode.getNode()->hasOneUse())
return true;
Shall we make it to
if (AddNode.getNode()->hasOneUse() && TargetLowering.isCheaperCommuteAddMul(......))
return true;
The virtual hook
2020 Apr 30
2
What is the process for release notes for LLVM
Eh - I'd say "Big" new features (hey, LLVM supports DWARFv5, or Split
DWARF, or DWARF type units, or DWARF compression (though I don't think I
wrote any release notes for several of those features that I implemented)).
I wouldn't bother release noting changes in output format for tools we
don't consider to have stable output, or changes in robustness/better error
2019 Sep 03
2
RFC: Adding GCC C Torture Suite to External Test Suites
There are 1500 tests total, and about 100 on the platform-agnostic blacklist. Alex and I do not think this is an onerous burden for maintenance, either as an external test suite or if the test suite is imported.
In the long term, if we import the tests, we know we will have to do updates when the Embecosm work lands, and beyond that updates can be more sporadic. It’s not clear to me how much
2019 Aug 30
2
RFC: Adding GCC C Torture Suite to External Test Suites
TL;DR: I am proposing to add the GCC C Torture suite [1], as an additional external source of tests for the “nightly” test suite. If you are willing to review the patch, it is here: https://reviews.llvm.org/D66887
Background:
While working on the RISC-V backend, we have found it useful to use additional test suites beyond the in-tree Clang and LLVM tests and the LLVM nightly tests, in order to
2020 Aug 06
3
RISC-V LLVM Sync Up - 6 Aug 2020
For background on these calls, see
<http://lists.llvm.org/pipermail/llvm-dev/2019-September/135087.html>.
Reminder: the purpose is to co-ordinate between active contributors.
If you have support questions etc then it's best to post to llvm-dev.
We have a call every alternate Thursday at 4pm BST, via
<https://meet.google.com/ske-zcog-spp>.
We have created a shared calendar which
2019 Aug 30
2
RFC: Adding GCC C Torture Suite to External Test Suites
On Fri, 30 Aug 2019 at 17:34, Finkel, Hal J. via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
>
> On 8/30/19 10:18 AM, Sam Elliott via llvm-dev wrote:
> > TL;DR: I am proposing to add the GCC C Torture suite [1], as an additional external source of tests for the “nightly” test suite. If you are willing to review the patch, it is here: https://reviews.llvm.org/D66887
>
2020 Jun 30
2
How to prevent llvm's default optimization
Yes - this has been in InstCombine for a long time:
https://github.com/llvm/llvm-project/blob/master/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp#L268
We could say that the canonicalization should be reversed, but that
probably uncovers more missing optimizations.
The code size concern is legitimate. For example on x86, gcc asm is 2 bytes
smaller on this example:
2019 Sep 03
2
RFC: Adding GCC C Torture Suite to External Test Suites
Op di 3 sep. 2019 om 18:36 schreef Finkel, Hal J. via llvm-dev <
llvm-dev at lists.llvm.org>:
> On 9/3/19 7:19 AM, Sam Elliott wrote:
> > There are 1500 tests total, and about 100 on the platform-agnostic
> blacklist. Alex and I do not think this is an onerous burden for
> maintenance, either as an external test suite or if the test suite is
> imported.
> >
> >
2020 Mar 20
2
RISC-V LLVM sync-up call 19 Mar 2020
Oh, I wasn’t really thinking about devices without an MMU where the addresses are physically separated. Makes sense.
This reminds me of rwpi on ARM; it has a sort of similar scheme of referring to data indirectly through a pointer, but it also changes the ABI to keep the pointer in a reserved register.
-Eli
From: Evandro Menezes <evandro.menezes at sifive.com>
Sent: Friday, March 20, 2020
2019 Jul 12
6
Reminder: SVN will be retired on Oct 21, 2019 -- Please migrate your workflows to github ASAP.
Hi,
We are still on track to retire SVN and complete the transition to GitHub
by Oct 21, 2019 (This year's US Dev Meeting).
Even though this 3+ months away, it is very important that you begin to migrate
your workflows to GitHub as soon as possible. For developers, this means using
the git-llvm script to commit changes and for CI systems or other read-only use
cases can begin fetching code
2020 Mar 25
2
Build Clang/LLVM for AVR
Thank you for both of your input. Yes, I try to cross-compile for AVR, the simple ATMEGA328P used in every Arduino Uno. My main motivation being that I hope to be able to use a couple of STL containers, <functional> and <type_traits> on the MCU. Not sure though if this can be reached by going via the clang route.
Getting back to the compilation: when I run clang with both both
2020 Apr 30
2
What is the process for release notes for LLVM
On 2020-04-30, Robinson, Paul via llvm-dev wrote:
>For the tools (which I know is mostly what James works on) I’d say new command-line options are worth release-noting as a way to advertise their existence.
>
>From: llvm-dev <llvm-dev-bounces at lists.llvm.org> On Behalf Of David Blaikie via llvm-dev
>Sent: Thursday, April 30, 2020 11:47 AM
>To: James Henderson <jh7370.2008
2020 Jan 30
2
RISC-V disassembly doesn't seem to know about multiply instructions
I built llvm + clang from source, a github clone from today:
clang version 11.0.0 (https://github.com/llvm/llvm-project.git
91aa67bf290bc7f877b1b90128284863bc31aa43)
I compiled a small program:
#include <stdint.h>
int main() {
uint8_t a = 2;
uint8_t b = 5;
uint8_t c = a * b;
}
$ clang -c -target riscv32 -march=rv32imc -g main.c
Works fine.
The dumped assembly seems to not know
2020 Jul 23
2
Explicitly spelling out the lack of stability for the C++ API in the Developer Policy?
Something that would be good to get clarity on:
The RISC-V backend recently had a bugfix patch that got backported to the 10.0.1 branch. The original patch introduced a new virtual method in TargetLowering.h, and the backported patch [1] was rewritten to avoid changing the ABI of libLLVM.so.
This feels like some kind of policy decision about the C++ ABI beyond "it's entirely