Displaying 20 results from an estimated 4000 matches similar to: "Implementing stack probes"
2016 Jun 30
1
Implementing stack probes
On Thu, Jun 30, 2016 at 8:29 AM, Martin J. O'Riordan via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> I am trying to implement stack probes for our SHAVE target, and I see that
> the compiler injects references to ‘__stack_chk_guard’ and
> ‘__stack_chk_fail’. The code that gets generated is horribly wrong, but in
> order to understand how to fix it I was wondering if
2016 Jul 08
2
Dynamic selection of assembly mnemonic strings
Thanks for the quick answer Bruce.
So far as I can tell (from a quick read), this is really for integrated assemblers/disassemblers - but we use an external assembler. When invoking clang we would provide ‘-mcpu=chip_v1’ or ‘-mcpu=chip_v2’, and the mnemonic ‘LD32’ is only valid when compiling for ‘chip_v1’, while ‘LD.32’ is only valid when compiling for ‘chip_v2’. But I will study the
2018 Feb 17
2
Configuring LLVM v6.0 RC2 on Windows
Hi LLVM-Devs,
When I try to configure LLVM v6.0 RC2 (SVN Rev #324869) on Windows (I
haven't yet had a chance to try on Linux), I get a series of errors such as
this:
CMake Error at cmake/modules/AddLLVM.cmake:1333 (add_dependencies):
The dependency target "(" of target "check-all" does not exist.
Call Stack (most recent call first):
CMakeLists.txt:937
2018 Feb 18
0
Configuring LLVM v6.0 RC2 on Windows
Maybe it's caused by the space after the X86 argument? Can you try removing all the -D flags, and see if that works? Then add them one by one to see which is the culprit?
-Dimitry
> On 17 Feb 2018, at 23:11, Martin J. O'Riordan via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hi LLVM-Devs,
>
> When I try to configure LLVM v6.0 RC2 (SVN Rev #324869) on Windows
2016 Jul 08
2
Dynamic selection of assembly mnemonic strings
Hi LLVM Dev,
I have an old problem that I've wanted to clean-up for some time. Our chip
has gone through a number of iterations in the past few years, but with each
revision there have been changes to some of the mnemonics for instructions.
These are mostly very simple, for example we had a 32-bit load from memory
instruction named 'LD32' in one version of the chip, but for a
2016 Mar 05
2
Adding 'v16f16' to tablegen
I have been able to adapt the main LLVM sources to work with vectors of 16 x
FP16 values and I have introduced the 'v16f16' data type to CLang and LLVM,
but I am stumped on how to get TableGen to recognise this type. At the
moment I am trying to optimise the calling convention code, and whenever I
refer to 'v16f16' I get a crash in TableGen (unrecognised type).
Unfortunately I
2017 Jun 29
3
Definitive list of optimisations at each optimisation level
On Mon, Jun 26, 2017 at 5:04 AM, ORiordan, Martin <martin.oriordan at intel.com
> wrote:
> Thanks Sean and Silva.
>
>
>
> I guess what I was seeking was a URL that I could point (non-compiler)
> people at, but I guess no such reference exists. What I can do if
> reference bot the source manager and use ‘-mllvm -debug-pass=Structure’
> for each optimisation level,
2018 Mar 01
1
[cfe-dev] Disabling vectorisation at '-O3'
Yes, it looks like passing ‘EnableVec’ and ‘EnableSLPVec’ to ‘Args.hasFlag’ should be replaced with ‘false’ and then it has the expected behaviour.
MartinO
From: cfe-dev [mailto:cfe-dev-bounces at lists.llvm.org] On Behalf Of Martin J. O'Riordan via cfe-dev
Sent: 01 March 2018 18:02
To: 'Richard Smith' <richard at metafoo.co.uk>
Cc: 'Clang Dev'
2018 Aug 03
3
[7.0.0 Release] The release branch is open; trunk is now 8.0.0
Hi Martin,
On Fri, 3 Aug 2018 at 14:10, Martin J. O'Riordan <MartinO at theheart.ie> wrote:
> $ git branch --list
> * master
> martino
By default "git branch" only lists local branches. "git branch -a"
will list all of them, including (for me) "remotes/origin/release_70".
If you just type "git checkout release_70" git will
2018 Jan 01
2
Inspecting 'Triple' from arbitrary source files
Thanks Tim,
Sometimes my hacks last longer than I want as it isn't always apparent how I can implement it properly. At the moment I am looking at changes I need to 'MachineBasicBlock::ReplaceUsesOfBlockWith'. It is most likely that I need to handle the issue in a different way, but the change I need works here for my target for the time being, but breaks X86 which I also build for
2016 Sep 20
4
LLVM v3.9.0 and math built-ins
Hi Mehdi,
The ISO C specification does permit the math functions to modify ‘errno’, but I thought that the ‘-fno-math-errno’ option was to tell the optimiser to assume that ‘errno’ is not modified by the math functions. Explicitly providing ‘-fno-math-errno’ is not restoring the elision optimisation that was performed by LLVM v3.8, and this is really only a driver option, with ‘-fmath-errno’
2018 Jan 01
0
Inspecting 'Triple' from arbitrary source files
There's always the hypothetical
template<typename T> llvm::Triple giveMeATripleDamnYou(const T &);
Just keep adding implementations until you stop needing to. ;-)
Cheers.
Tim.
On 1 January 2018 at 17:00, Martin J. O'Riordan <MartinO at theheart.ie> wrote:
> Thanks Tim,
>
> Sometimes my hacks last longer than I want as it isn't always apparent how I can
2016 Jun 30
3
Building LLVM under Cygwin32 fails
I am updating our out-of-tree copy of LLVM to track the head (revision
#272991 specifically).
I have it building successfully with VC++ 2013 and CMake v3.5.2 on Windows,
and with GCC v4.8.5 and CMake v3.5.2 on CentOS; but when I try building on
Windows using Cygwin32 I get the following build failures:
[ 4%] Building CXX object
lib/Support/CMakeFiles/LLVMSupport.dir/Signals.cpp.o
In file
2017 May 25
2
[compiler-rt] '-fprofile-generate' and embedded systems
Yep, done that already, but it is not at all a good fit when the device is inside a drone flying around ;-) What we do have, is a fake file-system that keeps everything in memory, and after the profiling is completed we offload it for analysis. I guess I was hoping that there would be a more robust system agnostic implementation. Use of ‘mmap’ is similarly constraining.
MartinO
2017 Apr 14
2
Options for timing passes in LLVM?
Thanks :)
From: 陳韋任 [mailto:chenwj.cs97g at g2.nctu.edu.tw]
Sent: 14 April 2017 12:53
To: Martin J. O'Riordan <martin.oriordan at movidius.com>
Cc: LLVM Developers <llvm-dev at lists.llvm.org>
Subject: Re: [llvm-dev] Options for timing passes in LLVM?
Refer to `llc` document [1], it would be `--time-passes`.
[1] http://llvm.org/docs/CommandGuide/llc.html
HTH,
2017 Jul 25
2
PGO, zlib and 'default.profraw'
Hi David,
When I use CMake to configure, ‘zlib’ and its header are detected - I build on CentOS 6.5 or CentOS 7. Since I run CMake from the command-line, I tried added ‘-DLLVM_ENABLE_ZLIB=0’ and ‘-DLLVM_ENABLE_ZLIB=1’ (using ‘-DLLVM_ENABLE_ZLIB=ON’ does not seem to work). Both ‘clang’ and ‘llvm-profdata’ (and all other tools and utilities) are configured and built together, in any event,
2016 Jun 28
2
Question about changes to 'SelectionDAGISel.h'
Thanks Ahmed and also Alex for your replies.
This is more or less what I was realising, but it is a great confidence booster to know that it is the correct way also. I can replace all of my various 'Select*' specialisations with version that use 'ReplaceNode/SelectCode' and return 'void', but what about the places where I currently call 'Select(N)' directly?
2016 Jan 14
4
Question about comment conventions
This is a pretty trivial question, but why are triple-slash comments ('///')
sometime used instead of double-slash comments ('//'). I'm sure that there
is a good reason and a convention involved, but I do not know what it is.
Thanks, MartinO
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2016 Jun 28
3
Question about changes to 'SelectionDAGISel.h'
It occurred to me that instead of the various breakout 'Select*' functions
returning the 'SDNode*' result, maybe I should be calling:
ReplaceNode(N, newValue);
return;
or:
SelectCode(N);
return;
Perhaps?
MartinO
From: Martin J. O'Riordan [mailto:martin.oriordan at movidius.com]
Sent: 28 June 2016 16:49
To: 'LLVM Developers'
2015 Aug 27
2
Configuring LLVM Sparc target for Leon 3 and Leon 4 variants
At the moment I am using LLVM to target our proprietary SHAVE processor, but
the Movidius "Myriad" chip also utilises a Sparc Leon for executive
functions. For this I use the GCC compiler.
This all works fine, but I would like to consolidate code generation for
both targets in the same LLVM derived compiler to simplify things and I have
a couple of questions about the Sparc backend