Displaying 20 results from an estimated 7000 matches similar to: "[LLVMdev] Call to address 0 gets removed"
2009 Jun 09
0
[LLVMdev] Call to address 0 gets removed
On Jun 8, 2009, at 4:48 PMPDT, Marius Wachtler wrote:
> Hello
>
> If I optimize (opt -std-compile-opts ) the following .ll
>
> ; ModuleID = 'call0.ll'
> target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-
> i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-
> f80:32:32"
> target triple = "i386-mingw32"
>
>
2009 Jun 09
2
[LLVMdev] Call to address 0 gets removed
> Dale Johannesen wrote:
>> Marius Wachtler wrote:
>> ...
>> The call to address 0 gets removed.
>>
>> define i32 @t(i32 %a) noreturn nounwind readnone {
>> entry:
>> unreachable
>> }
>>
>> How can I prevent that the call is removed, without making the
>> function addr volatile?
>> Does anyone know which optimization
2009 Aug 21
2
[LLVMdev] Possible Typo in SelectionDAGLowering::visitShuffleVector
Hello
While building LLVM, the compiler (static analysis) is giving me a warning
about "if (RangeUse[0] == 0 && RangeUse[0] == 0) {".
Can somebody familar with the codebase look over it, maybe this should be
"if (RangeUse[0] == 0 && RangeUse[1] == 0) {", otherwise sorry for the
noise.
Index: F:/dev/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp
2009 Jan 29
2
[LLVMdev] [PATCH] Build fails on windows with VC2009
Hi everybody,
I just updated to the latest svn trunk version, but now the code does not
compile anymore.
It trows an error in "f:\dev\llvm\lib\system\Win32/DynamicLibrary.inc(159) :
error C2228: left of '.find' must have class/struct/union".
Below you can find the small patch which makes the compiler happy again :-)
Sincerely yours
Marius Wachtler
2009 Jan 29
0
[LLVMdev] [PATCH] Build fails on windows with VC2009
On Jan 29, 2009, at 10:35 AM, Marius Wachtler wrote:
> Hi everybody,
>
> I just updated to the latest svn trunk version, but now the code
> does not compile anymore.
> It trows an error in "f:\dev\llvm\lib\system\Win32/
> DynamicLibrary.inc(159) : error C2228: left of '.find' must have
> class/struct/union".
Oops, sorry about that, fixed, please
2010 Apr 05
1
[LLVMdev] Fix wrong x86 inst encoding / problem with disassembler
Hello
I think I found a bug in the x86 instruction definition file, while trying
out the disassembler.
It looks like the "ADD32rr_alt" instruction should have GR32 operands, not
GR16.
Attached you can find a patch, which should fix the problem.
But even with the change I can not decode e.g. "0x03 0xC1" (should be
"addl %ecx, %eax") only if I remove the
2014 Mar 10
2
[LLVMdev] GlobalValues appear in their own use lists?
In the following IR module:
–
define i8 @foo() #0 {
entry:
%call0 = call i8 @bar()
ret i8 %call0
}
declare i8 @bar() #1
–
@bar() gets marked as its own user in top-of-tree LLVM. I patched the Verifier to check it (but didn’t commit the patch):
–
Index: lib/IR/Verifier.cpp
===================================================================
--- lib/IR/Verifier.cpp (revision 203468)
+++
2009 Jun 09
0
[LLVMdev] Call to address 0 gets removed
On Jun 9, 2009, at 10:02 AMPDT, Paul Schlie wrote:
>> Dale Johannesen wrote:
>>> Marius Wachtler wrote:
>>> ...
>>> The call to address 0 gets removed.
>>>
>>> define i32 @t(i32 %a) noreturn nounwind readnone {
>>> entry:
>>> unreachable
>>> }
>>>
>>> How can I prevent that the call is removed,
2009 Apr 20
1
[LLVMdev] Build fails on windows with VC2008
Hello
The current svn revision fails to compile on windows using Visual Studio
2008.
I'm getting:
3>f:\dev\llvm\lib\codegen\asmprinter\dwarfwriter.cpp(1167) : error C4716:
'llvm::DbgScope::getLine' : must return a value
3>f:\dev\llvm\lib\codegen\asmprinter\dwarfwriter.cpp(1168) : error C4716:
'llvm::DbgScope::getColumn' : must return a value
2009 Oct 27
1
[LLVMdev] [PATCH] Add missing file (SCCVN.cpp) to the cmake build system
Hello
When I compile LLVM trunk with Visual Studio 2008 and cmake, the build is
failing because a new file is not yet added to the build system.
Attached you can find a patch which fixes the problem for me.
Marius Wachtler
Index: lib/Transforms/Scalar/CMakeLists.txt
===================================================================
--- lib/Transforms/Scalar/CMakeLists.txt (revision 85194)
2009 Oct 27
1
[LLVMdev] Remove class/struct DenseMapInfo mix
Hello
Visual Studio is complaining about the mix of struct and class.
2>C:\dev\llvm\include\llvm/ADT/ValueMap.h(202) : warning C4099:
'llvm::DenseMapInfo<llvm::ValueMapCallbackVH<KeyT,ValueT,Config,ValueInfoT>>'
: type name first seen using 'struct' now seen using 'class'
2> C:\dev\llvm\include\llvm/ADT/ValueMap.h(251) : see reference to
class
2009 Jun 10
3
[LLVMdev] Call to address 0 gets removed
> Dale Johannesen wrote:
>> Paul Schlie wrote:
>>> Dale Johannesen wrote:
>>>> Marius Wachtler wrote:
>>>> ...
>>>> The call to address 0 gets removed.
>>>>
>>>> define i32 @t(i32 %a) noreturn nounwind readnone {
>>>> entry:
>>>> unreachable
>>>> }
>>>>
2013 Jan 18
2
[LLVMdev] Weird volatile propagation ?
Hi All,
Using clang+llvm at head, I noticed a weird behaviour with the following
reduced testcase :
$ cat test.c
#include <stdint.h>
struct R {
uint16_t a;
uint16_t b;
};
volatile struct R * const addr = (volatile struct R *) 416;
void test(uint16_t a)
{
struct R r = { a, 1 };
*addr = r;
}
$ clang -O2 -o - -emit-llvm -S -c test.c
; ModuleID = 'test.c'
target
2013 Jan 28
4
[LLVMdev] Specify the volatile access behaviour of the memcpy, memmove and memset intrinsics
Hi All,
In the language reference manual, the access behavior of the memcpy,
memmove and memset intrinsics is not well defined with respect to the
volatile flag. The LRM even states that "it is unwise to depend on it".
This forces optimization passes to be conservatively correct and prevent
optimizations.
A very simple example of this is :
$ cat test.c
#include <stdint.h>
2013 Jan 20
0
[LLVMdev] codegen of volatile aggregate copies (was "Weird volatile propagation" on llvm-dev)
As a results of my investigations, the thread is also added to cfe-dev.
The context : while porting my company code from the LLVM/Clang releases
3.1 to 3.2, I stumbled on a code size and performance regression. The
testcase is :
$ cat test.c
#include <stdint.h>
struct R {
uint16_t a;
uint16_t b;
};
volatile struct R * const addr = (volatile struct R *) 416;
void test(uint16_t a)
{
2009 May 12
1
[LLVMdev] How distinguish Catch all llvm-IR from other catch type ?
Hi,
catch_all.cpp:
1 int main()
2 {
3 try {
4 throw 34;
5 }
6 catch (...) {}
7 }
llvm-gcc -O3 -S -emit-llvm catch_all.cpp -o catch_all.ll:
1 ; ModuleID = 'catch_all.cpp'
2 target datalayout =
2013 Jan 29
0
[LLVMdev] Specify the volatile access behaviour of the memcpy, memmove and memset intrinsics
I can't think of a better way to do this, so I think it's ok.
I also submitted a complementary patch on llvm-commits clarifying volatile semantics.
-Andy
On Jan 28, 2013, at 8:54 AM, Arnaud A. de Grandmaison <arnaud.allarddegrandmaison at parrot.com> wrote:
> Hi All,
>
> In the language reference manual, the access behavior of the memcpy,
> memmove and memset
2013 Mar 15
6
[LLVMdev] Simple question
Hi,
I think this is a very simple question, and it must just be missing something.
I am looking for find out how to assign a constant integer value to
the variable in llvm ir.
The following returns 12, and %var2 = 12.
; ModuleID = 't.c'
target datalayout =
2012 Jun 17
3
[LLVMdev] BlockAddress instruction is copied instead of cloned during module link?
I have a module having the blockaddress instruction.
When I link it into another module and delete the original, blockaddress
disappears and is replaced by inttoptr (i32 1 to i8*).
Please compile and run the attached program to see the demo of this
problem.
Right after linking modules, blockaddress still exists:
@switch.bbs = internal global [3 x i8*] [i8* blockaddress(@my_func,
2012 Nov 30
1
[LLVMdev] clang : assert ignored with -O1 ?!
Hi all,
I work on an embedded target, in which function assert is an infinite
while(1) loop.
It is a common technique to set a breakpoint in the loop, in case some
error occurs while debugging.
It looks like clang simply *removes* any call to assert when compiling
with -O1 (not -O0).
note 1 : the name 'assert' is not the problem.
note 2 : if the while(1) loop has some side effect,