- Feb 17, 2012
-
-
Kevin Enderby authored
llvm-svn: 150836
-
Howard Hinnant authored
llvm-svn: 150835
-
Howard Hinnant authored
llvm-svn: 150834
-
Jakob Stoklund Olesen authored
llvm-svn: 150833
-
Kevin Enderby authored
to why this is needed. This broke the darwin's otool(1) program. This change was made in r144385. llvm-svn: 150832
-
Jakob Stoklund Olesen authored
Calls always clobber CPSR. llvm-svn: 150831
-
Jakob Stoklund Olesen authored
MRI keeps track of which physregs have been used. Make sure it gets updated with all the regmask-clobbered registers. Delete the closePhysRegsUsed() function which isn't necessary. llvm-svn: 150830
-
Dan Gohman authored
metadata may still unwind, but only in ways that the ARC optimizer doesn't need to consider. This permits more aggressive optimization. llvm-svn: 150829
-
Howard Hinnant authored
llvm-svn: 150828
-
Howard Hinnant authored
llvm-svn: 150827
-
Lang Hames authored
any changes. Internally this adds a private inner class HMEditor, to LiveIntervals. HMEditor provides an API for updating live intervals when code is moved or bundled. llvm-svn: 150826
-
Fariborz Jahanian authored
patch. llvm-svn: 150825
-
David Chisnall authored
order to not be broken (by Solaris standards). llvm-svn: 150822
-
Dan Gohman authored
actually work, at least as described. LLVM Metadata is not intended to suppress LLVM IR rules, as it can be stripped at any time. llvm-svn: 150821
-
Jim Grosbach authored
llvm-svn: 150820
-
David Chisnall authored
Generate the correct EH frame section types on Solaris, this time without breaking other platforms... llvm-svn: 150819
-
David Chisnall authored
llvm-svn: 150818
-
Douglas Gregor authored
functionality change. llvm-svn: 150817
-
Jakob Stoklund Olesen authored
This caused miscompilations on out-of-tree targets, and possibly i386 as well. I'll find some other way of hoisting %rip-relative loads from loops containing calls. llvm-svn: 150816
-
Richard Osborne authored
llvm-svn: 150815
-
David Chisnall authored
Don't lazily allocate eh_frame. We're not lazily allocating things like the LSDA, which are only used when the eh frame is used, so this lazy allocation doesn't really make sense. Fix the type of eh_frame on Solaris so that Sun ld doesn't fail to combine them (thus making it impossible for the unwind library to find them and breaking exceptions). llvm-svn: 150814
-
David Chisnall authored
... and it's probably best to use the correct alignment, rather than just guessing that it's the same as the size. llvm-svn: 150813
-
Alexey Samsonov authored
llvm-svn: 150812
-
David Chisnall authored
It turns out that putting an 8-byte symbol in a 4-byte section makes Solaris ld sulk. GNU ld is perfectly happy with it, which is worrying for a whole other set of reasons... Thanks to Anton, Duncan and Rafael for helping me track this down. Pointy hat to Rafael for introducing the bug in the first place. llvm-svn: 150811
-
Nick Lewycky authored
llvm-svn: 150809
-
Jia Liu authored
llvm-svn: 150805
-
Sebastian Redl authored
Don't know what I was thinking there. Fixes PR12023. llvm-svn: 150804
-
Sebastian Redl authored
We now generate temporary arrays to back std::initializer_list objects initialized with braces. The initializer_list is then made to point at the array. We support both ptr+size and start+end forms, although the latter is untested. Array lifetime is correct for temporary std::initializer_lists (e.g. call arguments) and local variables. It is untested for new expressions and member initializers. Things left to do: Massively increase the amount of testing. I need to write tests for start+end init lists, temporary objects created as a side effect of initializing init list objects, new expressions, member initialization, creation of temporary objects (e.g. std::vector) for initializer lists, and probably more. Get lifetime "right" for member initializers and new expressions. Not that either are very useful. Implement list-initialization of array new expressions. llvm-svn: 150803
-
Alexey Samsonov authored
llvm-svn: 150802
-
Greg Clayton authored
internals. The first part of this is to use a new class: lldb_private::ExecutionContextRef This class holds onto weak pointers to the target, process, thread and frame and it also contains the thread ID and frame Stack ID in case the thread and frame objects go away and come back as new objects that represent the same logical thread/frame. ExecutionContextRef objcets have accessors to access shared pointers for the target, process, thread and frame which might return NULL if the backing object is no longer available. This allows for references to persistent program state without needing to hold a shared pointer to each object and potentially keeping that object around for longer than it needs to be. You can also "Lock" and ExecutionContextRef (which contains weak pointers) object into an ExecutionContext (which contains strong, or shared pointers) with code like ExecutionContext exe_ctx (my_obj->GetExectionContextRef().Lock()); llvm-svn: 150801
-
Gregory Szorc authored
llvm-svn: 150800
-
Gregory Szorc authored
llvm-svn: 150799
-
Richard Smith authored
variable ends, if the variable has a trivial destructor and no mutable subobjects then emit an llvm.invariant.start call for it. globalopt knows to make the variable const when evaluating this. llvm-svn: 150798
-
Eric Christopher authored
Fixes lots of gdb testsuite failures. llvm-svn: 150797
-
Eric Christopher authored
llvm-svn: 150796
-
Craig Topper authored
llvm-svn: 150795
-
Nick Lewycky authored
useful to represent a variable that is const in the source but can't be constant in the IR because of a non-trivial constructor. If globalopt evaluates the constructor, and there was an invariant.start with no matching invariant.end possible, it will mark the global constant afterwards. llvm-svn: 150794
-
Richard Smith authored
as constants. Refactor and simplify all the separate checks for whether a type can be emitted as a constant. llvm-svn: 150793
-
Richard Smith authored
1) It has a const-qualified type, and 2) It has no mutable members, and 3) It has no dynamic initialization, and 4) It has trivial destruction. Remove the unnecessary requirement that the type be POD. This allows us to mark all constexpr objects with no mutable members as 'constant'. llvm-svn: 150792
-
Douglas Gregor authored
we're capturing it by value in a non-mutable lambda. llvm-svn: 150791
-