- Sep 04, 2013
-
-
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
-
Richard Smith authored
with a prior declaration. No functionality change intended. llvm-svn: 189850
-
Bill Wendling authored
WIP: Refactor some code so that it can be called by more than just one method. No functionality change. llvm-svn: 189849
-
Eric Christopher authored
llvm-svn: 189848
-
Joerg Sonnenberger authored
llvm-svn: 189847
-
Joerg Sonnenberger authored
separator between each two elements. llvm-svn: 189846
-
Eric Christopher authored
llvm-svn: 189845
-
Eric Christopher authored
llvm-svn: 189844
-
DeLesley Hutchins authored
Patch by chris.wailes@gmail.com Functions can now declare what state the consumable type the are returning will be in. This is then used on the caller side and checked on the callee side. Constructors now use this attribute instead of the 'consumes' attribute. llvm-svn: 189843
-
Jim Grosbach authored
From llvm r189841. llvm-svn: 189842
-
Jim Grosbach authored
This reverts commit r189648. Fixes for the previously failing clang-side arm_neon_intrinsics test cases will be checked in separately. llvm-svn: 189841
-
Eric Christopher authored
This won't affect the kinds of hashes we test for as we actually do hashing based on form and attribute. Change the fission-hash testcase one last time to handle DW_AT_comp_dir. llvm-svn: 189840
-