- Sep 03, 2013
-
-
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
-
Vincent Lejeune authored
llvm-svn: 189839
-
Richard Smith authored
here. llvm-svn: 189838
-
John Thompson authored
llvm-svn: 189837
-
John Thompson authored
llvm-svn: 189836
-
John Thompson authored
llvm-svn: 189835
-
John Thompson authored
llvm-svn: 189834
-
Richard Smith authored
llvm-svn: 189833
-
Edwin Vane authored
Made changes throughout clang-tools-extra for the renaming of clang-replace to clang-apply-replacements as per feedback from community. llvm-svn: 189832
-
Marshall Clow authored
llvm-svn: 189831
-
Yi Jiang authored
1) If the width of vectorization list candidate is bigger than vector reg width, we will break it down to fit the vector reg. 2) We do not vectorize the width which is not power of two. The performance result shows it will help some spec benchmarks. mesa improved 6.97% and ammp improved 1.54%. llvm-svn: 189830
-
Joerg Sonnenberger authored
llvm-svn: 189829
-
Jordan Rose authored
This paves the way for adding support for modeling the destructor of a region before it is deleted. The statement "delete <expr>" now generates this series of CFG elements: 1. <expr> 2. [B1.1]->~Foo() (Implicit destructor) 3. delete [B1.1] Patch by Karthik Bhat! llvm-svn: 189828
-
Greg Clayton authored
llvm-svn: 189827
-
Joerg Sonnenberger authored
llvm-svn: 189826
-
Joey Gouly authored
A change to test the previous commit will be coming soon. llvm-svn: 189825
-
Eric Christopher authored
llvm-svn: 189824
-
Eric Christopher authored
llvm-svn: 189823
-
Rafael Espindola authored
llvm-svn: 189822
-
Timur Iskhodzhanov authored
llvm-svn: 189821
-
Eric Christopher authored
linux for command line editing. llvm-svn: 189820
-
Richard Sandiford authored
For now this just handles simple comparisons of an ANDed value with zero. The CC value provides enough information to do any comparison for a 2-bit mask, and some nonzero comparisons with more populated masks, but that's all future work. llvm-svn: 189819
-
Manuel Klimek authored
Implements parsing of lambdas in the UnwrappedLineParser. This introduces the correct line breaks; the formatting of lambda captures are still incorrect, and the braces are also still formatted as if they were braced init lists instead of blocks. llvm-svn: 189818
-
Timur Iskhodzhanov authored
llvm-svn: 189817
-