History log of /llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp (Results 1751 – 1775 of 2094)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 2a521948 17-Aug-2011 Bill Wendling <isanbard@gmail.com>

Add the body of 'visitLandingPad'.

This generates the SDNodes for the new exception handling scheme. It takes the
two values coming from the landingpad instruction and assigns them to the
EXCEPTIONA

Add the body of 'visitLandingPad'.

This generates the SDNodes for the new exception handling scheme. It takes the
two values coming from the landingpad instruction and assigns them to the
EXCEPTIONADDR and EHSELECTION nodes.

llvm-svn: 137873

show more ...


# fae14758 12-Aug-2011 Bill Wendling <isanbard@gmail.com>

Initial commit of the 'landingpad' instruction.

This implements the 'landingpad' instruction. It's used to indicate that a basic
block is a landing pad. There are several restrictions on its use (se

Initial commit of the 'landingpad' instruction.

This implements the 'landingpad' instruction. It's used to indicate that a basic
block is a landing pad. There are several restrictions on its use (see
LangRef.html for more detail). These restrictions allow the exception handling
code to gather the information it needs in a much more sane way.

This patch has the definition, implementation, C interface, parsing, and bitcode
support in it.

llvm-svn: 137501

show more ...


# aab841cf 03-Aug-2011 Devang Patel <dpatel@apple.com>

Do not drop undef debug values. These are used as range termination marker by live debug variable pass.

llvm-svn: 136834


# 30a49e93 03-Aug-2011 Eli Friedman <eli.friedman@gmail.com>

New approach to r136737: insert the necessary fences for atomic ops in platform-independent code, since a bunch of platforms (ARM, Mips, PPC, Alpha are the relevant targets here) need to do essential

New approach to r136737: insert the necessary fences for atomic ops in platform-independent code, since a bunch of platforms (ARM, Mips, PPC, Alpha are the relevant targets here) need to do essentially the same thing.

I think this completes the basic CodeGen for atomicrmw and cmpxchg.

llvm-svn: 136813

show more ...


# f891bf8b 31-Jul-2011 Bill Wendling <isanbard@gmail.com>

Add the 'resume' instruction for the new EH rewrite.

This adds the 'resume' instruction class, IR parsing, and bitcode reading and
writing. The 'resume' instruction resumes propagation of an existin

Add the 'resume' instruction for the new EH rewrite.

This adds the 'resume' instruction class, IR parsing, and bitcode reading and
writing. The 'resume' instruction resumes propagation of an existing (in-flight)
exception whose unwinding was interrupted with a 'landingpad' instruction (to be
added later).

llvm-svn: 136589

show more ...


# ad088e67 30-Jul-2011 Bill Wendling <isanbard@gmail.com>

Revert r136253, r136263, r136269, r136313, r136325, r136326, r136329, r136338,
r136339, r136341, r136369, r136387, r136392, r136396, r136429, r136430, r136444,
r136445, r136446, r136253 pending revie

Revert r136253, r136263, r136269, r136313, r136325, r136326, r136329, r136338,
r136339, r136341, r136369, r136387, r136392, r136396, r136429, r136430, r136444,
r136445, r136446, r136253 pending review.

llvm-svn: 136556

show more ...


# 0480a8fb 29-Jul-2011 Jakub Staszak <jstaszak@apple.com>

Do not lose branch weights when lowering SwitchInst.

llvm-svn: 136529


# 539db989 29-Jul-2011 Jakub Staszak <jstaszak@apple.com>

Remove unneeded const_cast.

llvm-svn: 136506


# adec587d 29-Jul-2011 Eli Friedman <eli.friedman@gmail.com>

Misc optimizer+codegen work for 'cmpxchg' and 'atomicrmw'. They appear to be
working on x86 (at least for trivial testcases); other architectures will
need more work so that they actually emit the a

Misc optimizer+codegen work for 'cmpxchg' and 'atomicrmw'. They appear to be
working on x86 (at least for trivial testcases); other architectures will
need more work so that they actually emit the appropriate instructions for
orderings stricter than 'monotonic'. (As far as I can tell, the ARM, PPC,
Mips, and Alpha backends need such changes.)

llvm-svn: 136457

show more ...


# 7eadbeaf 29-Jul-2011 Bill Wendling <isanbard@gmail.com>

Use the pointer type size.

With this, we can now compile a simple EH program.

llvm-svn: 136446


# 6a8cac73 29-Jul-2011 Bill Wendling <isanbard@gmail.com>

And now something that compiles...

llvm-svn: 136445


# 4b0a365b 29-Jul-2011 Bill Wendling <isanbard@gmail.com>

Make sure to sext or trunc the result from the register.

llvm-svn: 136444


# 3cc87682 28-Jul-2011 Bill Wendling <isanbard@gmail.com>

Visit the landingpad instruction.

This generates the correct SDNodes for the landingpad instruction. It makes an
assumption that the result of the landingpad instruction has at least two
values. And

Visit the landingpad instruction.

This generates the correct SDNodes for the landingpad instruction. It makes an
assumption that the result of the landingpad instruction has at least two
values. And that the first value is a pointer to the exception object and the
second value is the "selector."

llvm-svn: 136430

show more ...


# c9a551eb 28-Jul-2011 Eli Friedman <eli.friedman@gmail.com>

LangRef and basic memory-representation/reading/writing for 'cmpxchg' and
'atomicrmw' instructions, which allow representing all the current atomic
rmw intrinsics.

The allowed operands for these ins

LangRef and basic memory-representation/reading/writing for 'cmpxchg' and
'atomicrmw' instructions, which allow representing all the current atomic
rmw intrinsics.

The allowed operands for these instructions are heavily restricted at the
moment; we can probably loosen it a bit, but supporting general
first-class types (where it makes sense) might get a bit complicated,
given how SelectionDAG works.

As an initial cut, these operations do not support specifying an alignment,
but it would be possible to add if we think it's useful. Specifying an
alignment lower than the natural alignment would be essentially
impossible to support on anything other than x86, but specifying a greater
alignment would be possible. I can't think of any useful optimizations which
would use that information, but maybe someone else has ideas.

Optimizer/codegen support coming soon.

llvm-svn: 136404

show more ...


# 4f027233 28-Jul-2011 Bill Wendling <isanbard@gmail.com>

The personality function should be a Function* and not just a Value*.

llvm-svn: 136392


# 26a48485 27-Jul-2011 Eli Friedman <eli.friedman@gmail.com>

Code generation for 'fence' instruction.

llvm-svn: 136283


# 6c923bb8 27-Jul-2011 Bill Wendling <isanbard@gmail.com>

Merge the contents from exception-handling-rewrite to the mainline.

This adds the new instructions 'landingpad' and 'resume'.

llvm-svn: 136253


# 6381c010 27-Jul-2011 Jeffrey Yasskin <jyasskin@google.com>

Explicitly cast narrowing conversions inside {}s that will become errors in
C++0x.

llvm-svn: 136211


# fee02c6c 25-Jul-2011 Eli Friedman <eli.friedman@gmail.com>

Initial implementation of 'fence' instruction, the new C++0x-style replacement for llvm.memory.barrier.

This is just a LangRef entry and reading/writing/memory representation; optimizer+codegen supp

Initial implementation of 'fence' instruction, the new C++0x-style replacement for llvm.memory.barrier.

This is just a LangRef entry and reading/writing/memory representation; optimizer+codegen support coming soon.

llvm-svn: 136009

show more ...


# 229907cd 18-Jul-2011 Chris Lattner <sabre@nondot.org>

land David Blaikie's patch to de-constify Type, with a few tweaks.

llvm-svn: 135375


# 92464be2 14-Jul-2011 Eric Christopher <echristo@apple.com>

Check register class matching instead of width of type matching
when determining validity of matching constraint. Allow i1
types access to the GR8 reg class for x86.

Fixes PR10352 and rdar://9777108

Check register class matching instead of width of type matching
when determining validity of matching constraint. Allow i1
types access to the GR8 reg class for x86.

Fixes PR10352 and rdar://9777108

llvm-svn: 135180

show more ...


# 15cd5a3f 14-Jul-2011 Benjamin Kramer <benny.kra@googlemail.com>

Don't emit a bit test if there is only one case the test can yield false. A simple SETNE is sufficient.

llvm-svn: 135126


# 57aa6367 13-Jul-2011 Jay Foad <jay.foad@gmail.com>

Convert InsertValueInst and ExtractValueInst APIs to use ArrayRef.

llvm-svn: 135040


# f03fa189 08-Jul-2011 Cameron Zwarich <zwarich@apple.com>

Add an intrinsic and codegen support for fused multiply-accumulate. The intent
is to use this for architectures that have a native FMA instruction.

llvm-svn: 134742


# 2bb8b26a 08-Jul-2011 Benjamin Kramer <benny.kra@googlemail.com>

Apparently we can't expect a BinaryOperator here.

Should fix llvm-gcc selfhost.

llvm-svn: 134699


1...<<71727374757677787980>>...84