- May 13, 2013
-
-
Manuel Klimek authored
We now support "Linux" and "Stroustrup" brace breaking styles, which gets us one step closer to support formatting WebKit, KDE & Linux code. Linux brace breaking style: namespace a { class A { void f() { if (x) { f(); } else { g(); } } } } Stroustrup brace breaking style: namespace a { class A { void f() { if (x) { f(); } else { g(); } } } } llvm-svn: 181700
-
Alexander Kornienko authored
Thanks to Kim Gräsman for help! llvm-svn: 181699
-
Sergey Matveev authored
llvm-svn: 181698
-
Sergey Matveev authored
Original patch by Abdoulaye Walsimou Gaye. llvm-svn: 181697
-
Lang Hames authored
return values are bitcasts. The chain had previously been being clobbered with the entry node to the dag, which sometimes caused other code in the function to be erroneously deleted when tailcall optimization kicked in. <rdar://problem/13827621> llvm-svn: 181696
-
Sylvestre Ledru authored
llvm-svn: 181695
-
Sylvestre Ledru authored
Add a new constructor with ConstString (and not only const char *). Hopefully fixes the build of lldb llvm-svn: 181694
-
Manuel Klimek authored
This is required for kernel linux kernel style formatting. llvm-svn: 181693
-
Daniel Jasper authored
Fake parentheses (i.e. emulated parentheses used to correctly handle binary expressions) used to prevent the optimization implemented in r180264. llvm-svn: 181692
-
Manuel Klimek authored
This is required for various styles that are for example based on 8-indent. llvm-svn: 181690
-
Duncan Sands authored
read in asserts. llvm-svn: 181689
-
Daniel Jasper authored
This seems to be the vastly more common case. If we find enough examples to the contrary, we can make it smarter. Before: #define MACRO void f(int * a) After: #define MACRO void f(int *a) llvm-svn: 181687
-
David Blaikie authored
llvm-svn: 181685
-
Nadav Rotem authored
llvm-svn: 181684
-
Alexey Bataev authored
llvm-svn: 181683
-
Hao Liu authored
llvm-svn: 181682
-
Rafael Espindola authored
llvm-svn: 181681
-
Rafael Espindola authored
It was just a less powerful and more confusing version of MCCFIInstruction. A side effect is that, since MCCFIInstruction uses dwarf register numbers, calls to getDwarfRegNum are pushed out, which should allow further simplifications. I left the MachineModuleInfo::addFrameMove interface unchanged since this patch was already fairly big. llvm-svn: 181680
-
Richard Smith authored
llvm-svn: 181679
-
Rafael Espindola authored
llvm-svn: 181678
-
Rafael Espindola authored
This patch renames getLinkage to getLinkageInternal. Only code that needs to handle UniqueExternalLinkage specially should call this. Linkage, as defined in the c++ standard, is provided by getFormalLinkage. It maps UniqueExternalLinkage to ExternalLinkage. Most places in the compiler actually want isExternallyVisible, which handles UniqueExternalLinkage as internal. llvm-svn: 181677
-
Richard Smith authored
optimizations -- in particular, globalopt will remove calls to ::operator new(size_t) that did not come from new-expressions. llvm-svn: 181676
-
Richard Smith authored
type returns a lambda defined within itself. The computation of linkage for the function looked at the linkage of the lambda, and vice versa. This is solved by not checking whether an 'auto' in a function return type deduces to a type with unique external linkage. We don't need this check, because the type deduced for 'auto' doesn't affect whether two otherwise-identical declarations would name different functions, so we don't need to give an ostensibly external-linkage function internal linkage for this reason. (We also don't need unique-external linkage in C++11 onwards at all, but that's not implemented yet.) llvm-svn: 181675
-
Nadav Rotem authored
The external user does not have to be in lane #0. We have to save the lane for each scalar so that we know which vector lane to extract. llvm-svn: 181674
-
Nadav Rotem authored
SLPVectorizer: Clear the map that maps between scalars to vectors after each round of vectorization. Testcase in the next commit. llvm-svn: 181673
-
- May 12, 2013
-
-
David Blaikie authored
llvm-svn: 181672
-
Richard Smith authored
inefficient; we perform a linear scan of switch labels to find the one matching the condition, and then walk the body looking for that label. Both parts should be straightforward to optimize. llvm-svn: 181671
-
Richard Smith authored
completes the implementation of N3638. llvm-svn: 181669
-
David Majnemer authored
There are two transforms in visitUrem that conflict with each other. *) One, if a divisor is a power of two, subtracts one from the divisor and turns it into a bitwise-and. *) The other unwraps both operands if they are surrounded by zext instructions. Flipping the order allows the subtraction to go beneath the sign extension. llvm-svn: 181668
-
Arnold Schwaighofer authored
Use the widest induction type encountered for the cannonical induction variable. We used to turn the following loop into an empty loop because we used i8 as induction variable type and truncated 1024 to 0 as trip count. int a[1024]; void fail() { int reverse_induction = 1023; unsigned char forward_induction = 0; while ((reverse_induction) >= 0) { forward_induction++; a[reverse_induction] = forward_induction; --reverse_induction; } } radar://13862901 llvm-svn: 181667
-
Arnold Schwaighofer authored
No functionality change intended. llvm-svn: 181666
-
Arnold Schwaighofer authored
No functionality change intended. llvm-svn: 181665
-
- May 11, 2013
-
-
David Blaikie authored
(review feedback on r181632 from Dmitri) llvm-svn: 181664
-
Benjamin Kramer authored
llvm-svn: 181663
-
Benjamin Kramer authored
Adding attributes to a uniqued set has become expensive, don't do it more often than necessary. No functionality change. llvm-svn: 181662
-
David Majnemer authored
Use isKnownToBeAPowerOfTwo in visitUrem so that we may more aggressively fold away urem instructions. llvm-svn: 181661
-
Simon Atanasyan authored
llvm-svn: 181660
-
Richard Smith authored
we loaded from PCH, if we're building another PCH, create an update record to patch the return type of the earlier declaration. llvm-svn: 181659
-
Jason Molenda authored
names when specifying the DynamicLoaderDarwinKernel. ProcessGDBRemote wasn't setting the dyld string any more; remove the remaining code tracking the dyld plugin name altogether from that process plugin. llvm-svn: 181658
-
Rafael Espindola authored
To add a frame now there is a dedicated addFrameMove which also takes care of constructing the move itself. llvm-svn: 181657
-