Displaying 20 results from an estimated 4000 matches similar to: "Alias Analysis and backend specific memory intrinsic"
2017 Jan 06
2
LLVMTargetMachine with optimization level passed from clang.
> -----Original Message-----
> From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Mehdi
> Amini via llvm-dev
> Sent: Friday, January 06, 2017 11:10 AM
> To: Sumanth Gundapaneni
> Cc: LLVM Developers
> Subject: Re: [llvm-dev] LLVMTargetMachine with optimization level passed
> from clang.
>
>
> > On Jan 6, 2017, at 10:56 AM, Sumanth
2017 Jan 06
3
LLVMTargetMachine with optimization level passed from clang.
Here is a problem scenario.
I want to enable a backend pass at -O2 or above.
if (TM->getOptLevel() >= CodeGenOpt::Default)
addPass(&xxxxx);
This pass will be run at -O1 too since clang is creating the TargetMachine with CodeGenOpt::Default for -O1.
--Sumanth G
-----Original Message-----
From: mehdi.amini at apple.com [mailto:mehdi.amini at apple.com]
Sent: Friday, January 6, 2017
2015 Jan 28
2
[LLVMdev] CMake: Gold linker detection
I reacted as per my case. You need CFLAGS in order to what linker you might be using.
In case of clang, you can use “-fuse-ld” to control the invocation of linker.
In my opinion, it is not necessary to carry forward LDFLAGS unless you want to control specific parts of the linker.
In my case, I have a cross compiler for ARM and I usually compile the code with
Clang
2015 Jan 29
4
[LLVMdev] CPUStringIsValid() into MCSubtargetInfo and use it for ARM .cpu parsing
Tim,
How about the below option ?
1. Specify an existing generic armv7 CPU or the CPU which is close my custom variant. My custom variant can be treated as "cortex-a9" + hwdiv.
So my CPU here is "cortex-a9"
2. Specify the ".arch_extension idiv" which is available as an extension for my custom variant.
3. Teach LLVM & Clang about your CPU's
2014 Dec 16
2
[LLVMdev] [Compiler-rt] -march=aarch64 flag in gcc/clang
On 16 December 2014 at 21:12, Gundapaneni, Sumanth <sgundapa at quicinc.com> wrote:
> The point here is, if you are not building for Android.
> You will hit this patch with cmake configuration -DCOMPILER_RT_TEST_TRIPLE=aarch64-linux-gnu
>
> + elseif("${COMPILER_RT_TEST_TARGET_ARCH}" MATCHES "aarch64")
> + test_target_arch(aarch64
2015 Jul 28
0
[LLVMdev] [ARM]__modsi3 call in android
On 28 July 2015 at 17:52, Sumanth Gundapaneni <sgundapa at codeaurora.org> wrote:
> Android bionic libc doesn’t provide a __modsi3, instead it provides
> “__aeabi_idivmod”.
Hi Sumanth,
Have a look at ARMSubtarget.h, functions:
bool isTargetAEABI()
They control the lowering of DIV/MOD calls in ARMISelLowering.cpp.
Maybe Android needs to be in?
cheers,
--renato
2014 Dec 16
2
[LLVMdev] [Compiler-rt] -march=aarch64 flag in gcc/clang
The point here is, if you are not building for Android.
You will hit this patch with cmake configuration -DCOMPILER_RT_TEST_TRIPLE=aarch64-linux-gnu
+ elseif("${COMPILER_RT_TEST_TARGET_ARCH}" MATCHES "aarch64")
+ test_target_arch(aarch64 "-march=aarch64")
I don't see "-march=aarch64" is a valid flag on either LLVM or GCC.
Should we replace this
2014 Dec 10
2
[LLVMdev] [Compiler-rt] -march=aarch64 flag in gcc/clang
On 10 December 2014 at 16:06, Renato Golin <renato.golin at linaro.org> wrote:
> Hi Sumanth,
>
> Christophe (cc'd) is seeing the same problems on his build. It seems
> that r181130 (by Tim) has something to do with it, but I'm not sure.
>
> I remember trying to build compiler-rt on AArch64 natively in
> February, and even running the test-suite with it, so
2015 Jul 28
2
[LLVMdev] [ARM]__modsi3 call in android
Hi,
I see there is an inconsistency in LLVM libc calls.
For a modulo (reminder) operation,
clang -target arm-none-linux-gnueabi generates "__modsi3".
clang -target arm-none-eabi generates "__aeabi_idivmod"
clang -target arm-linux-androideabi generates "__modsi3"
Android bionic libc doesn't provide a __modsi3, instead it provides
2017 Jan 06
2
LLVMTargetMachine with optimization level passed from clang.
getOptLevel() gets the level from TargetMachine which is created by the Backendutil in clang with either
"Default", "None" or "Aggressive". Threre is no correspondence for "Less".
This boils down to , if I pass "-O1", the Target Machine is created with CodeGenOpt::Default.
I am available on IRC @ sgundapa.
-----Original Message-----
From:
2012 Sep 21
0
[LLVMdev] Alias Analysis accuracy
OK, with the restrict type qualifier, it is a little bit better:
The IR's function signature becomes:
define void @foo(i32* noalias %a, i32* noalias %b, i32* noalias %c)
nounwind {
Now the AA result:
Function: foo: 13 pointers, 0 call sites
NoAlias: i32* %a, i32* %b
NoAlias: i32* %a, i32* %c
NoAlias: i32* %b, i32* %c
NoAlias: i32* %a, i32** %a_addr
NoAlias:
2012 Sep 21
3
[LLVMdev] Alias Analysis accuracy
Dear LLVM,
I would like to understand how to improve the LLVM alias analysis accuracy.
I am currently using llvmgcc 2.9 and llvm 3.0. Here is the C code:
void foo(int a[SIZE], int b[SIZE], int c[SIZE])
{
for(int i=0; i<SIZE; i++)
c[i] = a[i] + b[i];
}
Here is the IR:
target datalayout =
2017 Jan 05
3
LLVMTargetMachine with optimization level passed from clang.
I want the optimization to be turned on at -O1 and above.
In my case, it is a target independent back-end pass. (Eg:
MachinePipeliner)
On 2017-01-04 18:10, Mehdi Amini wrote:
>> On Jan 4, 2017, at 4:03 PM, Sumanth Gundapaneni via llvm-dev
>> <llvm-dev at lists.llvm.org> wrote:
>>
>> I see the BackendUtil.cpp of Clang creates the TargetMachine with
>> the
2015 Feb 10
4
[LLVMdev] C++ demangler for llvm tools
Hi,
AFAIK, the tools "symbolizer, objdump and nm" need a demangler.
I see there is libcxxabi which provides the demangle library. But there is
no support to build libcxxabi on windows with MSVC.
This left a huge void and my symbolizer cannot work on Windows if built with
MSVC.
Instead of mucking around OS dependencies, why shouldn't we have a demangle
library in LLVM.
2012 Sep 21
0
[LLVMdev] Alias Analysis accuracy
Here is the result of running mem2reg then basicaa, it is even worse: (%a
should be alias to %0, and partial alias to %3)
opt -mem2reg -basicaa -aa-eval -print-all-alias-modref-info < foo.s >
/dev/null
Function: foo: 6 pointers, 0 call sites
NoAlias: i32* %a, i32* %b
NoAlias: i32* %a, i32* %c
NoAlias: i32* %b, i32* %c
PartialAlias: i32* %1, i32* %a
NoAlias:
2009 May 29
1
[LLVMdev] difference between alias set tracker and alias analysis evaluator
Hi all,
I have a problem with alias aliasing results returned by the alias set
tracker and the alias analysis evaluator.
so i call opt tool to run my module with the following options
"-anders-aa -aa-eval -print-alias-sets -print-all-alias-modref-info"
i use 2 classes to print alias analysis, the AliasSetTracket and
AliasAnalysisEvaluator.
but they give different results.
here is a
2009 May 29
0
[LLVMdev] difference between alias set tracker and alias analysis evaluator
Hi all,
I have a problem with alias aliasing results returned by the alias set
tracker and the alias analysis evaluator.
so i call opt tool to run my module with the following options
"-anders-aa -aa-eval -print-alias-sets -print-all-alias-modref-info"
i use 2 classes to print alias analysis, the AliasSetTracket and
AliasAnalysisEvaluator.
but they give different results.
here is a
2012 Sep 21
3
[LLVMdev] Alias Analysis accuracy
On Fri, Sep 21, 2012 at 3:08 PM, Welson Sun <welson.sun at gmail.com> wrote:
> OK, with the restrict type qualifier, it is a little bit better:
>
> The IR's function signature becomes:
> define void @foo(i32* noalias %a, i32* noalias %b, i32* noalias %c) nounwind
> {
>
> Now the AA result:
> Function: foo: 13 pointers, 0 call sites
> NoAlias: i32* %a,
2015 Feb 12
2
[LLVMdev] Fixes to release_36 from master
Hi Hans,
I have attached a unit test which demonstrates a
hang/infinite loop with the opt built with release_36 sources.
The fixes are already pushed to "master" branch. The revisions r226588 and
r226616 should be pushed to release_36 to fix the unit test.
--Sumanth G
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2015 Jan 31
0
[LLVMdev] CPUStringIsValid() into MCSubtargetInfo and use it for ARM .cpu parsing
I have pushed the patch here: http://reviews.llvm.org/D7316
Review it and let me know.
--Sumanth G
> I have tried ".arch_extension" and it works perfectly fine for me.
> I will move ahead and add the arch_extension framework to ARM.
>
> Thanks for your guidance guys.
> --Sumanth G
> -----Original Message-----
> From: Renato Golin [mailto:renato.golin at linaro.org]