Displaying 20 results from an estimated 1000 matches similar to: "Test Error Paths for Expected & ErrorOr"
2017 Jul 27
2
Test Error Paths for Expected & ErrorOr
Yes definitely, testing a small piece of code like the
GlobPattern::create() example, it would mostly indicate missing unit
tests or insufficient test data.
In contrast to unit tests, however, it can also verify correct handling
of errors passed between function call hierarchies in more complex
scenarios.
For this I should point to the other example in the code, where it's
applied to
2017 Jul 28
3
Test Error Paths for Expected & ErrorOr
Hi Stefan, David,
This is very interesting stuff - it adds a dimension of error security that
Error/Expected can't provide on their own. I think it would be interesting
to try to build a tool around this.
Did you identify many cases where "real work" (in your example, the nullptr
dereference" was being done in an error branch? My suspicion is that that
should be rare, but that
2017 Jul 31
2
Test Error Paths for Expected & ErrorOr
On Mon, Jul 31, 2017 at 8:19 AM Stefan Gränitz <stefan.graenitz at gmail.com>
wrote:
> Hi Lang, hi David, thanks for looking into this.
>
>
>
> Did you identify many cases where "real work" (in your example, the
> nullptr dereference" was being done in an error branch?
>
> In my own code yes, not in LLVM ;) I'd like to run it on a large example,
2017 Sep 28
0
Clang/LLVM JIT - When to use "registerEHFrames()"
> I tried loading the "msvcrt.lib" as a archive. That was... a bad idea!
> I get a Exception while loading:
> Assertion failed: ((int64_t)Result <= INT32_MAX) && "Relocation
> overflow", file
> \lib\executionengine\runtimedyld\Targets/RuntimeDyldCOFFX86_64.h, line 81
It's a limitation of the COFF/PE format and unrelated to exceptions.
This patch
2017 Sep 29
2
Clang/LLVM JIT - When to use "registerEHFrames()"
Hi Bjoern,
I'm trying to make exceptions run. I have an Object file with a function,
> throwing a 1 and a second function which should catch the 1. Normal JITTING
> under Windows showed me, that I have an unresolved reference to the virtual
> table of type_info. Some experiments later I was able to load "msvcrt.lib"
> as an archive and could resolve the reference. Nice -
2017 Sep 28
2
Clang/LLVM JIT - When to use "registerEHFrames()"
Hello Stefan,
I'm happy someone replied to my problem! Many thanks! To be honest... I
didn't understood much of your mail. I'm a beginner with the JIT - so I
will explain what I've done.
To manage the memory and resolve symbols, I'm using my own Resolver-Class,
which overloads the allocation and the findSymbol functions. I've noticed
today, that the
2017 Oct 03
2
Clang/LLVM JIT - When to use "registerEHFrames()"
I'm catching up on this. Does this mean LLVM x64 JITTed code is not
exception friendly or you can't catch exceptions inside LLVM JITTed
code. The first one seems to indicate that the code is not ABI
friendly or that not enough information is present to notify Windows
of unwind tables.
I'll ask the question another way: Does LLVM emit enough information
so that RtlAddFunctionTable can
2018 Jul 23
2
LLVM FunctionType cannot be returned as VectorType?
Hi Stefan,
Thank you very much for answering my question!
I followed your suggestion but the function still cannot return the correct
result. I also set target-feature attributes for my function. I am using
LLVM 6.0.
It only prints out some random large numbers but the correct answer is
supposed to be all 0.
Can you please help me figure out what's going on here? Any help will be
greatly
2017 Oct 04
3
Clang/LLVM JIT - When to use "registerEHFrames()"
That's encouraging.
Assuming that all access to the JITted code is going to be done
through a function pointer, and all JIT code is ephemeral, why is the
object container format important? In fact, why is it even needed? I
found it somewhat odd that MCJIT generates an object file for even the
JIT case.
To answer my own question, could it be that advanced JIT's may
need/want to use things
2018 Aug 28
2
Execute / Interpret LLVM IR Bitcode
Hi,
I know their are various tools that can take LLVM IR Bitcode and JIT
it and execute it.
Is there anything that can do the equivalent but at the LL\VM IR Bitcode level?
So, that for example, I could set some initial conditions, and then
single step through the IR Bitcode function, and pause it and print
out any of the SSA values that I wish?
Kind Regards
James
2017 Nov 23
2
JIT and atexit crash
Maybe the easiest workaround would be overriding symbol resolution for
the function name and redirect it to your own version in static code
(and hope it has no bad side effect on your use case).
I think when running 3rd party code, the only way to definitely avoid
this kind of trouble is to never deallocate any code or data sections.
Doug Binks mentioned that too in his cppcast about Runtime
2018 Jul 23
2
LLVM FunctionType cannot be returned as VectorType?
Hi Joshua,
Thanks for your great comment. I made up a ConstantVector in IR. Then I
successfully use AVX intrinsics to retrieve the returned vector data. The
remaining thing is that how to pass the vectors to LLVM function using
intrinsics. Do you have any suggestions? Please forgive me if the question
is too naive.
I pasted below two IR I used. The first one works. The second one doesn't.
2017 Aug 24
1
Invalid Signature of orc::RTDyldObjectLinkingLayer::NotifyLoadedFtor
Hi all, hi Lang
It's a little late to report issues for release_50, but I just found
that thing while porting my JitFromScratch examples to 5.0.
This is a really nifty detail, but (if I'm not mistaken) the function
signature of RTDyldObjectLinkingLayer::NotifyLoadedFtor is incorrect:
$ grep -h -r -A 1 "using NotifyLoadedFtor"
2018 Nov 05
2
ORC JIT api, object files and stackmaps
Hi Christian
Your use case seems to have similar requirements as remote JITing in
ORC. So far I haven't used that part myself and I am sure Lang can tell
you much more about it. However, this comment on the
RemoteObjectClientLayer class sounds promising for your questions (1)
and (2):
/// Sending relocatable objects to the server (rather than fully relocated
/// bits) allows JIT'd code
2018 Jul 20
2
LLVM FunctionType cannot be returned as VectorType?
Dear all,
I am using LLVM C++ API to generate some code. In particular, I am dealing
with AVX2 SIMD API which uses __m256i.
My function input types a set of vectors and return type is also a vector.
///////////////////////////////////////////////////////////////////////////////////////////
arguments.push_back(VectorType::get(IntegerType::getIntNTy(TheContext, 64),
4));//int64*4 = __m256i
2018 May 16
1
LLVM JIT 3.9 vs 6.0: How to emitAndFinalize multiple modules correctly?
Hi all,
I am having hard time figuring out how I should use the API for JIT in LLVM 6.
In LLVM 3.9 I am used to adding all objects at once and
emitAndFinalizing them all:
handle = objectLayer.addObjectSet(objectFiles, memoryManager, resolver);
objectLayer.emitAndFinalize(handle);
In LLVM 6.0 the objects are added one by one:
auto handle = objectLayer.addObject(objectFile, resolver).get();
2017 Sep 27
0
Clang/LLVM JIT - When to use "registerEHFrames()"
Hi Björn
To first answer your questionin the subject: For x86 registerEHFrames()
is only a stub. For x86_64 registerEHFrames() is implemented properly in
RuntimeDyldCOFFX86_64, calling MemMgr.registerEHFrames() for each EH
frame section. It should be called and work out of the box without your
involvement, but unfortunately it won't solve your issue. All the
essential information is there in
2017 Aug 16
3
LLVM JIT Compilation
ok i have managed to compile using lli (jit) as follows: but i dont get
assembly file?
my sum-main.c file is:
#include <stdio.h>
#include<stdlib.h>
int sum(int a, int b) {
return a + b;
}
int main(int argc, char** argv) {
printf("sum: %d\n", sum(atoi(argv[1]), atoi(argv[2])) + sum(atoi(argv[1]),
atoi(argv[2])));
return 0;
}
and i used the following steps to compile.
clang
2019 Jan 15
2
Function - replaceAllUsesWith
On Mon, Jan 14, 2019 at 3:21 AM Gaier, Bjoern via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote:
Hello LLVM-World,
currently I play around with a „llvm::Module” and an external function defined there “puts”. Normally this function gets resolved in the JIT-Process but I wonder about two things:
1. Can I resolve the function already in this step? I
2017 Sep 25
2
Clang/LLVM JIT - When to use "registerEHFrames()"
Hello friendly LLVM-World,
because I don't know if I had send my problem to the correct Mailing-List,
I will send my problem to this address too. I'm not subscribed to this
list, so please add my in CC if you response.
Kind regards
Björn
From: Bjoern Gaier/HE/HORIBA
To: Clang Dev <cfe-dev at lists.llvm.org>, "cfe-dev"
<cfe-dev-bounces at lists.llvm.org>