- Sep 04, 2013
-
-
Shankar Easwaran authored
llvm-svn: 189891
-
Joerg Sonnenberger authored
llvm-svn: 189890
-
Ed Maste authored
Instead of directly manipulating the thread list in Launch and Attach, just rely on RefreshStateAfterStop to populate the initial list. Review: http://llvm-reviews.chandlerc.com/D1565 llvm-svn: 189889
-
Rafael Espindola authored
llvm-svn: 189888
-
Shankar Easwaran authored
Also add a llvm_unreachable call so that the linker will trip on unhandled inputElement types. llvm-svn: 189887
-
Rafael Espindola authored
Original message: If a constant or a function has linkonce_odr linkage and unnamed_addr, mark hidden. Being linkonce_odr guarantees that it is available in every dso that needs it. Being a constant/function with unnamed_addr guarantees that the copies don't have to be merged. llvm-svn: 189886
-
Daniel Dunbar authored
- This aligns with how existing test suites end up wanting to use the local config files, conceptually it makes sense to consider them to be inherited. llvm-svn: 189885
-
Rafael Espindola authored
llvm-svn: 189884
-
Joerg Sonnenberger authored
llvm-svn: 189883
-
Reid Kleckner authored
llvm-svn: 189882
-
Rui Ueyama authored
llvm-svn: 189881
-
Rafael Espindola authored
llvm-svn: 189880
-
Ed Maste authored
/bin/sh is more portable, and all systems with /bin/bash are expected to have /bin/sh as well, even if only a link to bash. Review: http://llvm-reviews.chandlerc.com/D1576 llvm-svn: 189879
-
Jim Grosbach authored
Previously, the clang crash handling code would kick in and give a crash report for these, even though they're not that sort of error. rdar://14882264 llvm-svn: 189878
-
Rui Ueyama authored
llvm-svn: 189877
-
Shankar Easwaran authored
llvm-svn: 189876
-
Shankar Easwaran authored
llvm-svn: 189875
-
Shankar Easwaran authored
llvm-svn: 189874
-
Shankar Easwaran authored
llvm-svn: 189873
-
Shankar Easwaran authored
This adds init/fini support for Hexagon. llvm-svn: 189872
-
Shankar Easwaran authored
This changes the interface of createLinkerInput to use ErrorOr, so that errors from the linker can be captured. Also adds a convenience function for error strings to be returned from file nodes. llvm-svn: 189871
-
Michael Gottesman authored
llvm-svn: 189870
-
Michael Gottesman authored
The reason that I am turning off this optimization is that there is an additional case where a block can escape that has come up. Specifically, this occurs when a block is used in a scope outside of its current scope. This can cause a captured retainable object pointer whose life is preserved by the objc_retainBlock to be deallocated before the block is invoked. An example of the code needed to trigger the bug is: ---- \#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { void (^somethingToDoLater)(); { NSObject *obj = [NSObject new]; somethingToDoLater = ^{ [obj self]; // Crashes here }; } NSLog(@"test."); somethingToDoLater(); return 0; } ---- In the next commit, I remove all the dead code that results from this. Once I put in the fixing commit I will bring back the tests that I deleted in this commit. rdar://14802782. rdar://14868830. llvm-svn: 189869
-
Michael Gottesman authored
[objc-arc] Move some block tests from basic.ll -> retain-block.ll and add some missing CHECK-LABELS. llvm-svn: 189868
-
David Majnemer authored
Summary: Transform the token sequence for: typename typedef T U; to: typename T typedef U; Raise a diagnostic when this happens but only if we succeeded handling the typename. Reviewers: rsmith, rnk Reviewed By: rsmith CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1433 llvm-svn: 189867
-
DeLesley Hutchins authored
Patch by chris.wailes@gmail.com. llvm-svn: 189866
-
Rui Ueyama authored
llvm-svn: 189865
-
Bill Wendling authored
llvm-svn: 189864
-
Eric Christopher authored
llvm-svn: 189863
-
- Sep 03, 2013
-
-
Eric Christopher authored
hashing the contents of DW_FORM_data1 on top of a type with attributes. llvm-svn: 189862
-
Eric Christopher authored
llvm-svn: 189861
-
Reid Kleckner authored
Patch by Nico Rieck! llvm-svn: 189860
-
David Blaikie authored
Found by Chris Wailes llvm-svn: 189859
-
Nadav Rotem authored
This patch changes the default setting for the LateVectorization flag that controls where the loop-vectorizer is ran. Perf gains: SingleSource/Benchmarks/Shootout/matrix -37.33% MultiSource/Benchmarks/PAQ8p/paq8p -22.83% SingleSource/Benchmarks/Linpack/linpack-pc -16.22% SingleSource/Benchmarks/Shootout-C++/ary3 -15.16% MultiSource/Benchmarks/TSVC/NodeSplitting-flt/NodeSplitting-flt -10.34% MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/NodeSplitting-dbl -7.12% Regressions: SingleSource/Benchmarks/Misc/lowercase 15.10% MultiSource/Benchmarks/TSVC/Equivalencing-flt/Equivalencing-flt 13.18% SingleSource/Benchmarks/Shootout-C++/matrix 8.27% SingleSource/Benchmarks/CoyoteBench/lpbench 7.30% llvm-svn: 189858
-
Richard Smith authored
llvm-svn: 189857
-
Matt Arsenault authored
llvm-svn: 189855
-
Matt Arsenault authored
This is another one that doesn't matter much, but uses the right GEP index types in the first place. llvm-svn: 189854
-
Matt Arsenault authored
This doesn't actually matter, since alloca is always 0 address space, but this is more consistent. llvm-svn: 189853
-
Rafael Espindola authored
This fixes pr13124. From the discussion at http://lists.cs.uiuc.edu/pipermail/cfe-dev/2012-June/022606.html we know that we cannot make funcions in a weak_odr vtable also weak_odr. They should remain linkonce_odr. The side effect is that we cannot emit a available_externally vtable unless we also emit a copy of the function. This also has an issue: If codegen is going to output a function, sema has to mark it used. Given llvm.org/pr9114, it looks like sema cannot be more aggressive at marking functions used because of vtables. This leaves us with a few unpleasant options: * Marking functions in vtables used if possible. This sounds a bit sloppy, so we should avoid it. * Producing available_externally vtables only when all the functions in it are already used or weak_odr. This would cover cases like -------------------- struct foo { virtual ~foo(); }; struct bar : public foo { virtual void zed(); }; void f() { foo *x(new bar); delete x; } void g(bar *x) { x->~bar(); // force the destructor to be used } -------------------------- and ---------------------------------- template<typename T> struct bar { virtual ~bar(); }; template<typename T> bar<T>::~bar() { } // make the destructor weak_odr instead of linkonce_odr extern template class bar<int>; void f() { bar<int> *x(new bar<int>); delete x; } ---------------------------- These look like corner cases, so it is unclear if it is worth it. * And finally: Just nuke this optimization. That is what this patch implements. llvm-svn: 189852
-
Aaron Ballman authored
Switched FormatAttr to using an IdentifierArgument instead of a StringArgument since that is a more accurate modeling. llvm-svn: 189851
-