Displaying 20 results from an estimated 30000 matches similar to: "[LLVMdev] Code generation problem"
2010 Feb 10
0
[LLVMdev] Code generation problem
Hi Russell,
> br i32 1, label %1, label %6
if you build LLVM with checking enabled, then you would not have been able to
create this bogus branch instruction: the BranchInst constructors assert if the
condition does not have type i1.
This does raise a philosophical question though: should the verifier try to
catch mistakes that constructors would catch if assertions are turned on?
Ciao,
2010 Feb 08
1
[LLVMdev] Code generation problem
Oh! Okay, thanks, I'll fix it up to do that then.
Any chance verifyFunction could be tightened up to catch this case?
I'm currently running all my generated code through it, and it passes
the i32 conditional without complaint.
On Mon, Feb 8, 2010 at 10:07 PM, John McCall <rjmccall at apple.com> wrote:
> On Feb 8, 2010, at 1:53 PM, Russell Wallace wrote:
>> I was testing my
2010 Feb 08
0
[LLVMdev] Code generation problem
On Feb 8, 2010, at 1:53 PM, Russell Wallace wrote:
> I was testing my implementation of the usual ternary function just
> now, and it's giving the wrong answer; I would attribute this to an
> error in my parser/abstract syntax tree code, but looking at the
> output, as far as I can see, the intermediate code is correct at the
> point where I hand it to LLVM's JIT. Could
2018 Jul 06
2
Verify that we only get loop metadata on latches
In https://bugs.llvm.org/show_bug.cgi?id=38011 (see also https://reviews.llvm.org/D48721) a problem was revealed related to llvm.loop metadata.
The fault was that clang added the !llvm.loop metadata to branches outside of the loop (not only the loop latch). That was not handled properly by some opt passes (simplifying cfg) since it ended up merging branch instructions with different !llvm.loop
2013 Nov 19
3
[LLVMdev] Curiosity about transform changes under Sanitizers (Was: [PATCH] Disable branch folding with MemorySanitizer)
Just moving this branch of the thread out of the review because I don't
want to derail the review thread...
Kostya - why are these two cases not optimization bugs in general? (why do
they only affect sanitizers?)
On Mon, Nov 18, 2013 at 8:37 PM, Kostya Serebryany <kcc at google.com> wrote:
> And we've been just informed by the mozilla folks about yet another case
> of
2013 Nov 19
0
[LLVMdev] Curiosity about transform changes under Sanitizers (Was: [PATCH] Disable branch folding with MemorySanitizer)
On Tue, Nov 19, 2013 at 8:25 PM, David Blaikie <dblaikie at gmail.com> wrote:
> Just moving this branch of the thread out of the review because I don't
> want to derail the review thread...
>
> Kostya - why are these two cases not optimization bugs in general? (why do
> they only affect sanitizers?)
>
The recent case from mozilla (
2016 Mar 25
2
Link error on Linux
Yeah, seems to.
a at a-VirtualBox:~$ nm /home/a/build//lib/libLLVMSupport.a | grep
ZN4llvm4outsEv
U _ZN4llvm4outsEv
U _ZN4llvm4outsEv
0000000000000000 b _ZGVZN4llvm4outsEvE1S
0000000000000000 T _ZN4llvm4outsEv
0000000000000000 r _ZZN4llvm4outsEvE19__PRETTY_FUNCTION__
0000000000000000 b _ZZN4llvm4outsEvE1S
U _ZN4llvm4outsEv
I can try building
2013 Nov 19
3
[LLVMdev] Curiosity about transform changes under Sanitizers (Was: [PATCH] Disable branch folding with MemorySanitizer)
The root cause of those issues is the fact that sanitizers verify
C++-level semantics with LLVM IR level instrumentation. For example,
speculative loads are OK in IR if it can be proved that the load won't
trap, but in C++ it would be a data race.
On Tue, Nov 19, 2013 at 8:38 PM, Kostya Serebryany <kcc at google.com> wrote:
>
>
>
> On Tue, Nov 19, 2013 at 8:25 PM, David
2016 Mar 25
0
Link error on Linux
Looking again at your link line, I think static library has to appear after their uses. So try to put the .o before the list of library.
--
Mehdi
> On Mar 25, 2016, at 12:41 AM, Russell Wallace <russell.wallace at gmail.com> wrote:
>
> Yeah, seems to.
>
> a at a-VirtualBox:~$ nm /home/a/build//lib/libLLVMSupport.a | grep ZN4llvm4outsEv
> U
2016 Mar 25
3
Link error on Linux
Tried that just now, same result.
On Fri, Mar 25, 2016 at 6:58 AM, Snehasish Kumar <kumar.snehasish at gmail.com>
wrote:
> Hi Russel,
>
> Can you try compiling aklo.o using -fno-rtti prior to linking?
>
> On Thu, Mar 24, 2016 at 11:44 PM, Russell Wallace via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
> > I'm trying to link a program with LLVM on Linux.
2019 Apr 27
2
Understand the meaning of preds = %0
Hi all,
I have seen in multiple cases that, usually at the beginning of the
function. if a BranchInst is encountered the next block might have %0
indicated as predecessor. I think it is a way to say "no predecessors
found". Am I correct?
Few examples just for clarifying what I mean:
define noalias %struct.png_struct_def* @png_create_read_struct_2(i8*
%user_png_ver, i8* %error_ptr, void
2017 May 19
4
memcmp code fragment
Hi,
Look at the following code:
Look at the following C code seqence:
unsigned char mainGtU ( unsigned int i1,
unsigned int i2,
unsigned char* block)
{
unsigned char c1, c2;
c1 = block[i1]; c2 = block[i2];
if (c1 != c2) return (c1 > c2);
i1++; i2++;
c1 = block[i1]; c2 = block[i2];
if (c1 != c2) return (c1 > c2);
i1++; i2++;
..
..
2016 Mar 25
0
Link error on Linux
Since the log tells you that llvm::outs() is not found, and since it is supposed to be found in libLLVMSupport.a, you can try:
$ nm /home/a/build//lib/libLLVMSupport.a | grep ZN4llvm4outsEv
...
0000000000002070 T __ZN4llvm4outsEv
...
The output should have the symbol defined.
--
Mehdi
> On Mar 25, 2016, at 12:18 AM, Russell Wallace via llvm-dev <llvm-dev at lists.llvm.org> wrote:
2013 Nov 19
5
[LLVMdev] Curiosity about transform changes under Sanitizers (Was: [PATCH] Disable branch folding with MemorySanitizer)
On Tue, Nov 19, 2013 at 9:05 PM, Kuperstein, Michael M <
michael.m.kuperstein at intel.com> wrote:
> My $0.02 - I'm not sure the transformation introduces a data race.
>
> To the best of my understanding, the point of the C++11/C11 memory model
> is to allow a wide array of compiler transformations - including
> speculative loads - for non-atomic variables.
> I believe
2013 Nov 19
1
[LLVMdev] Curiosity about transform changes under Sanitizers (Was: [PATCH] Disable branch folding with MemorySanitizer)
On Tue, Nov 19, 2013 at 8:38 AM, Kostya Serebryany <kcc at google.com> wrote:
>
>
>
> On Tue, Nov 19, 2013 at 8:25 PM, David Blaikie <dblaikie at gmail.com> wrote:
>
>> Just moving this branch of the thread out of the review because I don't
>> want to derail the review thread...
>>
>> Kostya - why are these two cases not optimization bugs in
2001 Mar 19
2
Ternary plots
**********************************************************
** Dr. David Lucy **
** Centre for Forensic Statistics and Legal Reasoning **
** Department of Mathematics and Statistics **
** The University of Edinburgh **
** James Clerk Maxwell Building **
** King's Buildings
2016 Mar 25
2
Link error on Linux
I'm trying to link a program with LLVM on Linux. I've managed to take out
the test files from 'llvm-config --libs' but now it's getting errors with
missing symbols. The same program successfully links with the same version
of LLVM (3.8) on Windows, so it's not a problem with the code per se, it's
some kind of configuration issue. Any ideas?
g++ -std=c++11
2016 Mar 25
0
Link error on Linux
Hi Russel,
Can you try compiling aklo.o using -fno-rtti prior to linking?
On Thu, Mar 24, 2016 at 11:44 PM, Russell Wallace via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> I'm trying to link a program with LLVM on Linux. I've managed to take out
> the test files from 'llvm-config --libs' but now it's getting errors with
> missing symbols. The same program
2013 Nov 19
0
[LLVMdev] Curiosity about transform changes under Sanitizers (Was: [PATCH] Disable branch folding with MemorySanitizer)
What I'm trying to say is that according to my understanding of the C++11 memory model, even in that small reproducer, the store to g and the load from g are in fact a data race.
(This is regardless of the fact the load is protected by a branch that is not taken.)
From: Kostya Serebryany [mailto:kcc at google.com]
Sent: Tuesday, November 19, 2013 19:46
To: Kuperstein, Michael M
Cc: Evgeniy
2013 Nov 19
0
[LLVMdev] Curiosity about transform changes under Sanitizers (Was: [PATCH] Disable branch folding with MemorySanitizer)
My $0.02 - I'm not sure the transformation introduces a data race.
To the best of my understanding, the point of the C++11/C11 memory model is to allow a wide array of compiler transformations - including speculative loads - for non-atomic variables.
I believe what's most likely happening (without looking at the Mozilla source) is that the original program contains a C++ data race, and