Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | add support for a 1<<29 bit in the block flags field to mark blocks using ↵ | Blaine Garst | 2010-03-05 | 2 | -3/+18 |
| | | | | | | alternate struct return ABI llvm-svn: 97775 | ||||
* | Don't produce an alias for a destructor if the target is weak. | Rafael Espindola | 2010-03-05 | 1 | -0/+16 |
| | | | | | | This fixes bootstrap on ELF systems :-) llvm-svn: 97773 | ||||
* | really fix 6473 by handling weakref in constant expressions. | Rafael Espindola | 2010-03-04 | 1 | -1/+3 |
| | | | | llvm-svn: 97750 | ||||
* | Fix PR6473. | Rafael Espindola | 2010-03-04 | 3 | -0/+66 |
| | | | | | | | | | Clang's support for weakref is now better than llvm-gcc's :-) We don't introduce a new symbol and we correctly mark undefined references weak only if there is no definition or regular undefined references in the same file. llvm-svn: 97733 | ||||
* | Revert changes r97693, r97700, and r97718. | John McCall | 2010-03-04 | 4 | -35/+8 |
| | | | | | | Our testing framework can't deal with disabled targets yet. llvm-svn: 97719 | ||||
* | Refactor local class name mangling and make it | Fariborz Jahanian | 2010-03-04 | 3 | -15/+25 |
| | | | | | | ABI conforming. llvm-svn: 97702 | ||||
* | Implement __builtin_dwarf_sp_column(). | John McCall | 2010-03-04 | 1 | -0/+15 |
| | | | | llvm-svn: 97700 | ||||
* | Create a TargetMachine whenever we create a CodeGenAction. The codegen of | John McCall | 2010-03-04 | 3 | -8/+20 |
| | | | | | | some builtins will rely on target knowledge. llvm-svn: 97693 | ||||
* | Fix code gen bug generating code for | Fariborz Jahanian | 2010-03-03 | 1 | -0/+2 |
| | | | | | | ((id)cat)->isa. Fixes radar 7709015. llvm-svn: 97672 | ||||
* | fix PR6475, we were doing side-effecting stuff in an assert. | Chris Lattner | 2010-03-03 | 1 | -6/+5 |
| | | | | llvm-svn: 97669 | ||||
* | Implements mangling of local class names to | Fariborz Jahanian | 2010-03-03 | 1 | -13/+58 |
| | | | | | | | | fix a code gen crash. This is WIP as not all ABI cases are covered (there is a FIXME to this effect). Fixes radar 7696748. llvm-svn: 97658 | ||||
* | add framework for ARM builtins, Patch by Edmund Grimley Evans! | Chris Lattner | 2010-03-03 | 2 | -0/+16 |
| | | | | llvm-svn: 97656 | ||||
* | Sketch out an implementation for __builtin_dwarf_cfa. I have no idea | John McCall | 2010-03-03 | 1 | -0/+18 |
| | | | | | | why the front-end is calculating the argument to llvm.eh.dwarf.cfa(). llvm-svn: 97653 | ||||
* | Implement __builtin_eh_return. | John McCall | 2010-03-03 | 1 | -0/+16 |
| | | | | llvm-svn: 97643 | ||||
* | Fix a bug with base offset merging that Devang noticed. | Anders Carlsson | 2010-03-03 | 1 | -37/+9 |
| | | | | llvm-svn: 97641 | ||||
* | Add proper target hooks for __builtin_extract_return_address and | John McCall | 2010-03-03 | 3 | -4/+36 |
| | | | | | | | __builtin_frob_return_address. The implementations for both are still trivial in the default case. llvm-svn: 97638 | ||||
* | Don't emit derived-to-base destructor aliases if we don't have a definition | John McCall | 2010-03-03 | 1 | -1/+7 |
| | | | | | | | | for the base destructor, because aliases to declarations aren't legal. Fixes PR 6471. llvm-svn: 97637 | ||||
* | During codegen assert that any copy assignment, destructor or constructor that | Rafael Espindola | 2010-03-02 | 1 | -3/+9 |
| | | | | | | | | we need to synthesize has been marked as used by Sema. Change Sema to avoid these asserts. llvm-svn: 97589 | ||||
* | Simplify code. | Anders Carlsson | 2010-03-02 | 1 | -8/+7 |
| | | | | llvm-svn: 97551 | ||||
* | Inspired by seeing "MIPS" go by in the commits, I've gone ahead and | John McCall | 2010-03-02 | 2 | -10/+34 |
| | | | | | | | | | | | implemented a (codegen) target hook for __builtin_extend_pointer. I'm also making it return a uint64_t instead of an unsigned word; this comports with typical usage (i.e. the one use I know of). I don't know if any of the existing targets requires this hook to be set (other than x86 and x86_64, which I know do not). llvm-svn: 97547 | ||||
* | Rename BaseOffset to Offset and make it signed in preparation of more ↵ | Anders Carlsson | 2010-03-02 | 1 | -10/+11 |
| | | | | | | construction vtable work. llvm-svn: 97546 | ||||
* | After much consultation aimed at figuring out what this builtin actually | John McCall | 2010-03-02 | 1 | -0/+16 |
| | | | | | | | does, document the results and then implement __builtin_extend_pointer for platforms where it's a no-op. llvm-svn: 97540 | ||||
* | Split out types that are non-canonical unless dependent as their own | John McCall | 2010-03-01 | 2 | -4/+40 |
| | | | | | | | | | | | category. Use this in a few places to eliminate unnecessary TST cases and do some future-proofing. Provide terrible manglings for typeof. Mangle decltype with some hope of accuracy. Our manglings for some of the cases covered in the testcase are different from gcc's, which I've raised as an issue with the ABI list. llvm-svn: 97523 | ||||
* | The latest draft uses 'dt' to mangle member expressions, and now so do we. | John McCall | 2010-03-01 | 1 | -9/+3 |
| | | | | llvm-svn: 97479 | ||||
* | Improve name mangling for dependently-scoped declaration references. | Douglas Gregor | 2010-02-28 | 1 | -1/+12 |
| | | | | llvm-svn: 97422 | ||||
* | Add name mangling for DeclRefExprs that refer to external names | Douglas Gregor | 2010-02-28 | 1 | -2/+8 |
| | | | | llvm-svn: 97418 | ||||
* | Remove debug output. | Anders Carlsson | 2010-02-28 | 1 | -2/+0 |
| | | | | llvm-svn: 97407 | ||||
* | Handle unused functions in construction vtables correctly. | Anders Carlsson | 2010-02-28 | 1 | -9/+17 |
| | | | | llvm-svn: 97406 | ||||
* | When laying out vtables for virtual bases in construction vtables, we need ↵ | Anders Carlsson | 2010-02-28 | 1 | -3/+16 |
| | | | | | | to check if the vtable is a primary base in the layout class. llvm-svn: 97402 | ||||
* | More improvements to construction vtables; we know handle vbase offsets ↵ | Anders Carlsson | 2010-02-28 | 1 | -42/+51 |
| | | | | | | correctly (I hope). llvm-svn: 97361 | ||||
* | Pass information about whether a base is virtual or not down to ↵ | Anders Carlsson | 2010-02-28 | 3 | -19/+37 |
| | | | | | | getCtorVtable, we need this information in the vtable builder. llvm-svn: 97356 | ||||
* | Add new function. | Anders Carlsson | 2010-02-28 | 1 | -2/+8 |
| | | | | llvm-svn: 97353 | ||||
* | Fix to dumpLayout; we want to be able to dump address points even if the ↵ | Anders Carlsson | 2010-02-27 | 1 | -31/+34 |
| | | | | | | vtable doesn't have any methods. llvm-svn: 97350 | ||||
* | Add a simple construction vtable test. | Anders Carlsson | 2010-02-27 | 1 | -6/+22 |
| | | | | llvm-svn: 97344 | ||||
* | Start fleshing out construction vtable support. | Anders Carlsson | 2010-02-27 | 1 | -10/+38 |
| | | | | llvm-svn: 97342 | ||||
* | Enable the new vtable layout code for vtables that aren't construction ↵ | Anders Carlsson | 2010-02-27 | 1 | -5/+9 |
| | | | | | | vtables. (This doesn't mean that we emit LLVM IR using it yet, it just means that it's running and hopefully not crashing or asserting). llvm-svn: 97341 | ||||
* | Move ComputeThisAdjustmentBaseOffset to VtableBuilder. | Anders Carlsson | 2010-02-27 | 1 | -61/+61 |
| | | | | llvm-svn: 97340 | ||||
* | Make sure to insert the primary base in the set :) | Anders Carlsson | 2010-02-27 | 1 | -0/+3 |
| | | | | llvm-svn: 97339 | ||||
* | Use the real base offset when calculating vbase offsets. | Anders Carlsson | 2010-02-27 | 1 | -1/+1 |
| | | | | llvm-svn: 97338 | ||||
* | Figured out why the test was failing, this will hopefully fix it. | Anders Carlsson | 2010-02-27 | 1 | -3/+9 |
| | | | | llvm-svn: 97336 | ||||
* | Don't add this adjustments for pure virtual member functions. | Anders Carlsson | 2010-02-27 | 1 | -2/+6 |
| | | | | llvm-svn: 97334 | ||||
* | We want to store method info for unused functions. | Anders Carlsson | 2010-02-27 | 1 | -10/+20 |
| | | | | llvm-svn: 97333 | ||||
* | Finish up the changes to this adjustments. | Anders Carlsson | 2010-02-27 | 1 | -37/+102 |
| | | | | llvm-svn: 97328 | ||||
* | Stub out more of the 'this' pointer adjustment fixes I've been planning. ↵ | Anders Carlsson | 2010-02-27 | 1 | -13/+36 |
| | | | | | | Start using a set vector for primary bases so they will be ordered. llvm-svn: 97326 | ||||
* | Fix another vtable layout bug; we weren't looking hard enough for overriden ↵ | Anders Carlsson | 2010-02-27 | 1 | -8/+40 |
| | | | | | | functions when determining if an overrider will ever be used. llvm-svn: 97306 | ||||
* | Handle vcall offset sharing between destructors. | Anders Carlsson | 2010-02-27 | 1 | -3/+7 |
| | | | | llvm-svn: 97304 | ||||
* | Fix a bug where we were generating an unnecessary vtable for a virtual base ↵ | Anders Carlsson | 2010-02-27 | 1 | -9/+37 |
| | | | | | | that's already a primary virtual base. llvm-svn: 97303 | ||||
* | Sundry fixes to the new vtable builder. | John McCall | 2010-02-26 | 1 | -13/+33 |
| | | | | llvm-svn: 97258 | ||||
* | Don't generate method metadata for @dynamic properties. Fixes PR6354. | David Chisnall | 2010-02-26 | 1 | -7/+12 |
| | | | | llvm-svn: 97199 | ||||
* | Use the power of types to track down another canonicalization bug in | John McCall | 2010-02-26 | 6 | -63/+82 |
| | | | | | | the ABI-computation interface. Fixes <rdar://problem/7691046>. llvm-svn: 97197 |