Displaying 20 results from an estimated 2000 matches similar to: "[LLVMdev] Evaluation of offsetof() macro"
2015 Jan 02
2
[LLVMdev] Evaluation of offsetof() macro
On Fri, Jan 2, 2015 at 2:20 AM, David Majnemer <david.majnemer at gmail.com>
wrote:
>
>
> On Fri, Jan 2, 2015 at 1:58 AM, Vadim Chugunov <vadimcn at gmail.com> wrote:
>
>> Hi!
>> LLVM has a class, ConstantExpr, that is very handy for compile-time
>> evaluation of const expressions. Unfortunately I cannot find any methods
>> in it that would be
2015 Jan 03
2
[LLVMdev] Evaluation of offsetof() macro
>
>> So it handles all const expression evaluation in the front-end?
>>
>>
> Yes, clang has it's own constant expression evaluator which understands
> the rules of C++.
>
> Let's take an example.
> The expression (long)&x/(long)&y divides two globals by each other. This
> expression is lowered to the following LLVM IR Constant:
> i64 sdiv
2014 Sep 26
3
[LLVMdev] [lldb-dev] RFC: LLVM should require a working C++11 <thread>, <mutex>, and <atomic>
When LLVM's configure finds a usable <pthread.h>, it prefers to use that
rather than the home-grown stuff. However if LLVM is configured with
--disable-pthreads, both mingw flavors produce the same results.
BTW, I've tried to quantify the slowdown: a quick test indicates that LLVM
build that uses pthreads is about 10% slower than the one which doesn't.
This is less that I
2014 Apr 14
3
[LLVMdev] Emit code for 'unreachable'
Hi,
Is it somehow possible to have LLVM emit machine code for the 'unreachable'
IR instruction, which would assert that it indeed never gets reached?
Vadim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140414/02108a74/attachment.html>
2014 Aug 04
6
[LLVMdev] Argument Lowering Redux
Hi,
Having just found an ABI conformance bug in a compiler front-end, I am
curious: is the state of target-independent argument lowering in LLVM still
the same as when this thread was taking place?:
http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-February/thread.html#59387
Vadim
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2014 Apr 14
2
[LLVMdev] Emit code for 'unreachable'
I am not seeing this happening, at least not for unreachables that
follow calls to 'noreturn' functions.
On Apr 14, 2014, at 3:48 AM, Anton Korobeynikov <anton at korobeynikov.info> wrote:
> Hello
>
> x86 backend emits ud2 instruction in this case
>
> On Mon, Apr 14, 2014 at 1:46 PM, Vadim Chugunov <vadimcn at gmail.com> wrote:
>> Hi,
>> Is it
2014 Dec 03
2
[LLVMdev] RFC: How to represent SEH (__try / __except) in LLVM IR
On Wed, Dec 3, 2014 at 1:41 PM, Reid Kleckner <rnk at google.com> wrote:
> On Wed, Dec 3, 2014 at 1:27 PM, Vadim Chugunov <vadimcn at gmail.com> wrote:
>
>> If we added unwind target to every potentially throwing instruction
>> (loads, stores, all binary operations), wouldn't all such instructions have
>> to become BB terminators? I'd expect that CFG
2014 Sep 26
2
[LLVMdev] [lldb-dev] RFC: LLVM should require a working C++11 <thread>, <mutex>, and <atomic>
Hi Yaron,
Not sure I understand your question. Wasn't <mutex> one of the more
important C++11 features that LLVM would like to use?
On Thu, Sep 25, 2014 at 1:24 AM, Yaron Keren <yaron.keren at gmail.com> wrote:
> Vadim,
>
> Thanks for the feedback on the -win32. A dependency on a small DLL with
> BSD license does not sound too bad, but performance regression is
2014 Jul 26
3
[LLVMdev] Machine basic blocks
Hi,
I have a couple of questions about MachineBasicBlocks:
- If I have a pointer to an MBB, is there an easy way to find which block
that precedes it in the MachineFunction blocks list? (without iterating
through all of the MF's basic blocks)
- Does LLVM make any effort to ensure that MBB's predecessors and
successors lists are semantically correct? For example, what happens if
an MBB
2014 Jul 26
2
[LLVMdev] Finding previous emitted instruction
Hi All,
For various obscure reasons I'd like to detect the condition when X86 CALL
instruction immediately precedes a function epilogue in the final emitted
code, and insert a NOP between them if that happens.
My initial attempt at it looked like this:
MachineBasicBlock& MBB;
MachineBasicBlock::iterator MBBI; <-- points to where the epilogue would
be inserted
if (MBBI != MBB.begin()
2014 Jun 20
3
[LLVMdev] [PATCH] Replace the Execution Engine's mutex with std::recursive_mutex
+llvmdev.
I find this pretty surprising. Actually, we already use std::mutex and
std::recursive_mutex in clang, lld, and other llvm projects, it's just a
coincidence that it hadn't been introduced into LLVM until my commits.
I'm not sure what the right thing to do here is. If I understand
correctly, it seems like in order to encounter this, a) you must be using
GCC, b) you must be
2014 Dec 03
2
[LLVMdev] RFC: How to represent SEH (__try / __except) in LLVM IR
If we added unwind target to every potentially throwing instruction (loads,
stores, all binary operations), wouldn't all such instructions have to
become BB terminators? I'd expect that CFG would then end up consisting
mostly of single-instruction BBs. This can't be good for compilation
performance and optimizations...
Another vague idea: what if lifetime.start() returned some kind
2014 Feb 11
3
[LLVMdev] Compiler-RT roadmap
Hello,
In continuation of several threads from the last week, I'd like to ask: is
there a stated plan of what is going to happen with compiler-rt in the near
future? In particular, I'm interested if any of the following is planned
to happen:
- Separation from clang
I've seen a suggestion to rename compiler-rt to "libclang_rt", but its'
applicability is much broader than
2014 Dec 03
3
[LLVMdev] RFC: How to represent SEH (__try / __except) in LLVM IR
Hi Reid,
Is this design supposed to be able to cope with asynchronous exceptions?
I am having trouble imagining how this would work without adding the
ability to associate landing pads with scopes in LLVM IR.
Vadim
On Tue, Nov 25, 2014 at 5:27 PM, Reid Kleckner <rnk at google.com> wrote:
> On Tue, Nov 25, 2014 at 3:09 PM, Kaylor, Andrew <andrew.kaylor at intel.com>
> wrote:
2014 Sep 25
2
[LLVMdev] [lldb-dev] RFC: LLVM should require a working C++11 <thread>, <mutex>, and <atomic>
Hi,
I think I can at least answer why the Rust project prefers to use
mingw-w64-win32threads:
1. It does not inject dependency on libwinpthread.dll, which is nice.
2. Those who tried building LLVM with mingw-w64-pthreads, had reported
significant slowdown of the resulting Rust compiler (as compared to one
linked to LLVM compiled with the win32threads flavor). Profiling seemed
to point towards
2014 Feb 12
3
[LLVMdev] Heads-up: changing the structure of compiler-rt source tree
Hi David,
On Wed, Feb 12, 2014 at 5:22 PM, David Chisnall <David.Chisnall at cl.cam.ac.uk
> wrote:
> On 12 Feb 2014, at 13:21, Alexey Samsonov <samsonov at google.com> wrote:
>
> > On Wed, Feb 12, 2014 at 4:56 PM, David Chisnall <
> David.Chisnall at cl.cam.ac.uk> wrote:
> >> Are you going to move the unwind library there as part of the
>
2014 Jun 20
3
[LLVMdev] [PATCH] Replace the Execution Engine's mutex with std::recursive_mutex
Sorry, I mean only disable this for THREADS-WIN32, not threads-posix.
On Fri, Jun 20, 2014 at 11:14 AM, Zachary Turner <zturner at google.com> wrote:
> #2 is better if we can detect threads-win32 vs threads-posix on MinGW, and
> only disable this for threads-posix. We can check for
> _GLIBCXX_HAS_GTHREADS, but that seems somewhat hackish, so I wonder if
> there's a better
2014 Apr 17
2
[LLVMdev] [PATCH] Seh exceptions on Win64
Hi,
On 15.04.2014 23:44, Vadim Chugunov wrote:
> Hi,
> I am curious - how does clang deal with epilogue-less functions that
> result from _Raise_Exception being marked 'noreturn'?
> I've also been playing with Kai's patch, and discovered that this tends
> to greatly confuse Windows stack unwinder in cases when noreturn call is
> at the end of a function, so
2014 Jun 25
6
[LLVMdev] Phabricator and private reviews
In a recent review via Phabricator, I was receiving bounce notifications
for mail being sent to llvm-commits because of "Too many recipients to the
message", even though I am a subscriber. I wonder how common is that.
On Wed, Jun 25, 2014 at 12:03 PM, Manuel Klimek <klimek at google.com> wrote:
> I am prioritizing email issues. Please always make sure to send them
>
2014 Jun 20
3
[LLVMdev] [PATCH] Replace the Execution Engine's mutex with std::recursive_mutex
It sounds like this version of libstdc++ doesn't support
std::recursive_mutex from C++11. This is really unfortunate, because we
were hoping that moving to C++11 would allow us to use standard, portable
threading primitives.
Does this version of MinGW have any C++11 threading support? Is it just
recursive_mutex that is missing, or do we have to avoid std::mutex,
std::call_once, etc? lld