Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] Compiler-assembler from different models (clang++)"
2013 Apr 19
1
[LLVMdev] funny llvm bug
> I have not looked at how gcc implements this internally but in LLVM I'm
> creating real IR for a function (the stub being in mips32 mode; even though
> the rest of the compilation unit is being compiled in mips16 mode). This is
> one (not the only) reason why I implemented the ability to switch processor
> modes on a per function basis.
Now that I see where this is from, why
2017 Jul 06
2
MSP430 code generation from LLVM IR
On Thu, Jul 6, 2017 at 1:35 AM, Nicholas Wilson <
iamthewilsonator at hotmail.com> wrote:
> Luís, try using the -no-integrated-as flag to execute the assembler for
> you.
> We should probably make that the default for MSP430.
>
Cool. When I did that on macOS, LDC generated a lot of complaints, possibly
because it is assuming mach-o files. I tried changing from -mtriple=msp430
2014 May 11
2
[LLVMdev] [cfe-dev] Code generation for noexcept functions
On Sun, May 11, 2014 at 8:19 AM, Stephan Tolksdorf <st at quanttec.com> wrote:
> Hi,
>
> When clang/LLVM can't prove that a noexcept function only contains
> non-throwing code, it seems to insert an explicit exception handler that
> calls std::terminate. Why doesn't clang leave it to the eh personality
> function to call std::terminate when an exception is thrown
2013 Apr 19
0
[LLVMdev] funny llvm bug
This came about in trying to implement some stubs used by gcc mips16 for
allowing floating point interoperability with mips32.
You get the following looking code from gcc -mips16:
# Stub function for foovf (float)
.section .mips16.fn.foovf,"ax", at progbits
.align 2
.set nomips16
.set nomicromips
.ent __fn_stub_foovf
.type __fn_stub_foovf, @function
__fn_stub_foovf:
la
2020 Jun 22
3
Hardware ASan Generating Unknown Instruction
Hi,
I am trying to execute a simple hello world program compiled like so:
path/to/compiled/clang -o test --target=aarch64-linux-gnu
-march=armv8.5-a -fsanitize=hwaddress
--sysroot=/usr/aarch64-linux-gnu/
-L/usr/lib/gcc/aarch64-linux-gnu/10.1.0/ -g test.c
However, when I look at the disassembly, there is an unknown
instruction listed at 0x2d51c:
000000000002d4c0 main:
2d4c0: ff c3 00 d1
2013 Apr 19
3
[LLVMdev] funny llvm bug
> It is exactly intended to handle section names as what they are --
> section names. The only reason it works with GCC is because it writes an
> assembler stream.
+1
Reed, this fails in gcc if you do LTO, no?
> Joerg
Cheers,
Rafael
2013 Nov 01
0
[LLVMdev] Implementing the ldr pseudo instruction in ARM integrated assembler
Hi David,
In these examples, I don’t see the directive that indicates where the assembler should place the constant pool?
-Jim
On Nov 1, 2013, at 11:16 AM, David Peixotto <dpeixott at codeaurora.org> wrote:
> In an earlier email[1] I proposed adding support for the ldr
> pseud-instruction to the ARM integrated assembler. After some discussion the
> overall consensus seemed to be
2013 Nov 11
0
[LLVMdev] Implementing the ldr pseudo instruction in ARM integrated assembler
I have attached an initial patch that implements the ldr pseudo. It still
needs some clean up and more tests, but I would like some feedback on the
approach I used and if there are any objections to implementing it this way.
Here is my approach:
Add a finishParse() callback to the target asm parser
This callback is invoked when the parse has finished
successfully. It will be used to write out
2014 Mar 31
3
[LLVMdev] [lld] supporting gnu linkonce sections in core linking
Hi Nick, Bigcheese,
I wanted to add support to support .gnu.linkonce sections in the resolver.
_*About .gnu.linkonce sections*_
.gnu.linkonce sections were primarily present in ELF that was used in a
way to model COMDAT in early ELF implementations.
We have seen usecases of .gnu.linkonce sections used in various object
files(mainly libc), and I think its much needed to support this style in
2013 Nov 01
8
[LLVMdev] Implementing the ldr pseudo instruction in ARM integrated assembler
In an earlier email[1] I proposed adding support for the ldr
pseud-instruction to the ARM integrated assembler. After some discussion the
overall consensus seemed to be that it was worth adding. One concern was
that we needed to have adequate testing. I promised to provide more details
on what the behavior should be and provide some tests before starting the
implementation. The FileCheck-ified
2020 Jun 09
2
[Debuginfo][DWARF][LLD] Remove obsolete debug info in lld.
"On Thu, Jun 4, 2020 at 3:11 PM Robinson, Paul <paul.robinson at sony.com> wrote:
>
> + Ben Dunbobbin, whose name I take in vain below.
> He's my local expert on weird ELF features.
>
> > -----Original Message-----
> > From: David Blaikie <dblaikie at gmail.com>
> > Sent: Thursday, June 4, 2020 2:43 PM
> > To: Robinson, Paul
2012 Mar 20
0
[LLVMdev] Runtime linker issue wtih X11R6 on i386 with -O3 optimization
I was told that my writeup lacked an example and details so I reproduced
the code that X uses and I was able to boil down the issue to a couple
of lines of code. Sorry again for the length of this email.
Code was compiled on OpenBSD with clang 3.0-release.
========================================================================
With -O0 which works as X expects:
2017 Apr 25
1
[LLD] Linking static library does not resolve symbols as gold/ld
Hi Martin,
Thank you for sending the script. I can reproduce the issue with it. It
looks like the program crashes when it tries to call
std::vector<sometype>'s ctor from a static initializer. I don't fully
understand what is causing the issue yet, but here are my observations.
- Since you are creating a temporary object file using `ld.gold -r`, your
object file contains multiple
2011 Dec 16
0
[LLVMdev] .debug_frame not produced by default?
Hello,
Building an object file with ToT Clang:
> Debug+Asserts/bin/clang -o penalty2.o -c penalty.cpp -g
These are the debug-related sections produced:
$ readelf -S penalty2.o |grep debug
[ 5] .debug_info PROGBITS 0000000000000000 00000bd0
[ 6] .rela.debug_info RELA 0000000000000000 00002f80
[ 7] .debug_abbrev PROGBITS 0000000000000000
2011 Nov 27
1
[LLVMdev] [cfe-dev] weak_odr constant versus weak_odr global
On Nov 21, 2011, at 9:05 AM, Rafael Espíndola wrote:
>> Unfortunately, making the comdat be for the entire function is not
>> conformant with the ABI, which says that you either put the variable
>> and its guard in different comdats or you put them in a single comdat
>> named for the variable. It also doesn't actually help unless we disable
>> inlining.
>
2011 Nov 09
3
[LLVMdev] [cfe-dev] weak_odr constant versus weak_odr global
On Nov 9, 2011, at 11:34 AM, Rafael Espíndola wrote:
>>> 1) [Requires ABI change] We emit dynamic initialization code for weak globals
>>> (even in TUs where static initialization is required to be performed), unless
>>> we can prove that every translation unit will use static initialization. We
>>> emit the global plus its guard variable as a single object so
2017 Dec 20
2
Dropping COMDAT with LTO
I've been digging into COMDAT with regular LTO, specifically in the
context of the LLVM gold plugin. The GCC WHOPR documentation specifies
that the linker will resolve all COMDAT groups to the IR-provided
definitions, if available. Additionally it specifies that "When the
WPA phase produces the definition of the COMDAT symbol in a new object
file, that definition should not be in a COMDAT
2014 Sep 05
2
[LLVMdev] [cfe-dev] weak_odr constant versus weak_odr global
> I see. Using two comdats would still cause the same problem for us,
> no? So the solution in the end is to emit:
>
> TU1:
> --------------------------------
> @_ZN1UI1SE1kE = weak_odr constant i32 42, align 4, comdat _ZN1UI1SE1kE
> @_ZGVN1UI1SE1kE = weak_odr global i64 1, comdat _ZN1UI1SE1kE
> --------------------------------
>
> TU2:
>
2014 Feb 19
2
[LLVMdev] [lldb-dev] How is variable info retrieved in debugging for executables generated by llvm backend?
Sorry, this is the attachment.
2014-02-19 15:08 GMT+08:00 杨勇勇 <triple.yang at gmail.com>:
> Thank you.
>
> Here is an example and the attchment contains extra files including object
> file and executable file.
> I want to print for example the value of "a", but lldb command "frame
> variable a" displays "0" and so does "b", and
2020 May 14
2
Sancov guard semantics for usage between comdats
Given the following C++ code:
```
// test.cpp
struct Foo {
int public_foo();
int outside_foo();
[[gnu::always_inline]] int inline_foo() {
int x = outside_foo();
if (x % 17) {
x += 1;
}
return x;
}
[[gnu::noinline]] int inline_bar1() {
int x = inline_foo();
if (x % 23) {
x += 2;
}
return x;
}
[[gnu::noinline]] int inline_bar2() {