Howard Hinnant [Fri, 4 Jan 2013 18:58:50 +0000 (18:58 +0000)]
atomic_bool was missing (just a typedef to atomic<bool>).
llvm-svn: 171498
Douglas Gregor [Fri, 4 Jan 2013 18:58:28 +0000 (18:58 +0000)]
Add the module name to the 'incomplete umbrella header' warning.
llvm-svn: 171497
Joel Jones [Fri, 4 Jan 2013 18:55:24 +0000 (18:55 +0000)]
Add Textmate bundle for Tablegen syntax-highlighting
llvm-svn: 171496
Daniel Jasper [Fri, 4 Jan 2013 18:52:56 +0000 (18:52 +0000)]
Let the formatter ignore UnwrappedLines containing errors.
This prevents code like:
namespace {
class Foo {
Foo(
};
} // comment
from causing segfaults (see llvm.org/PR14774).
llvm-svn: 171495
Filipe Cabecinhas [Fri, 4 Jan 2013 18:52:29 +0000 (18:52 +0000)]
Add file added in r171484 to CMakelists.txt.
llvm-svn: 171494
Manman Ren [Fri, 4 Jan 2013 18:51:35 +0000 (18:51 +0000)]
Debug Info: fix the line location for cleanup code of a block function
The line information was changed when emitting debug information for all the
DeclRefExprs and we should change it back to get ready for PopClenupBlocks
called from FinishFunction.
rdar://
11562117
llvm-svn: 171493
Fariborz Jahanian [Fri, 4 Jan 2013 18:45:40 +0000 (18:45 +0000)]
Fix up various builtin declaration of objc_msgSend families
to match those foung in objc.h an avoid spurious warnings.
// rdar://
12489098
llvm-svn: 171492
Nadav Rotem [Fri, 4 Jan 2013 18:40:39 +0000 (18:40 +0000)]
Change the default number of registers to prevent unrolling on targets that dont have this hook.
llvm-svn: 171489
Eric Christopher [Fri, 4 Jan 2013 18:30:36 +0000 (18:30 +0000)]
Add a space to the end of the line so we don't get "itsbounds" in output.
llvm-svn: 171487
Argyrios Kyrtzidis [Fri, 4 Jan 2013 18:30:13 +0000 (18:30 +0000)]
[libclang] Introduce clang_getFileLocation.
Uses of clang_getSpellingLocation should eventually move to calling
clang_getFileLocation, and clang_getSpellingLocation should do what
its name represents and actually point at the 'spelling' location, e.g.
inside a macro definition if the spelling of a token came from that.
llvm-svn: 171486
Argyrios Kyrtzidis [Fri, 4 Jan 2013 18:30:11 +0000 (18:30 +0000)]
[arcmt] Allow removing an -autorelease of a variable initialized in the previous statement.
rdar://
11074996
llvm-svn: 171485
Argyrios Kyrtzidis [Fri, 4 Jan 2013 18:30:08 +0000 (18:30 +0000)]
[arcmt] Adds brackets in case statements that "contain" initialization of retaining
variable, thus emitting the "switch case is in protected scope" error.
rdar://
12952016
llvm-svn: 171484
Argyrios Kyrtzidis [Fri, 4 Jan 2013 18:30:04 +0000 (18:30 +0000)]
Move the common source locations of CastStmt & DefaultStmt into their base class, SwitchCase.
llvm-svn: 171483
Argyrios Kyrtzidis [Fri, 4 Jan 2013 18:29:59 +0000 (18:29 +0000)]
[arcmt] Don't error if an autoreleased variable is returned after the -autorelease.
rdar://
12952025
llvm-svn: 171482
Edwin Vane [Fri, 4 Jan 2013 18:25:18 +0000 (18:25 +0000)]
Port loop-convert into cpp11-migrate
Took existing code from loop-convert tool and made it into a cpp11-migrate
transform. Pattern now set for having transform code in subdirectories. Related
changes:
- Makefile and CMakeLists.txt updated to support source files in
subdirectories.
- At least one transform must be specified. syntax-only tests removed to
reflect this.
- TODO: port over loop-convert tests.
Reviewers: klimek, silvas
llvm-svn: 171481
Daniel Jasper [Fri, 4 Jan 2013 18:24:12 +0000 (18:24 +0000)]
Handle segfaults in clang-format vim-integration.
A segfault used to clear the entire buffer. With this change, a message
to report a bug is displayed instead.
This should solve most cases similar to llvm.org/PR14774.
llvm-svn: 171480
Marshall Clow [Fri, 4 Jan 2013 18:24:04 +0000 (18:24 +0000)]
...and then there was one. Only one copy of 'iterators.h' in the test tree for libc++
llvm-svn: 171479
Douglas Gregor [Fri, 4 Jan 2013 18:22:19 +0000 (18:22 +0000)]
Remove -Wmodule-build; it was a dumb idea anyway. <rdar://problem/
12957525>
llvm-svn: 171478
Greg Clayton [Fri, 4 Jan 2013 18:18:21 +0000 (18:18 +0000)]
Added a page that describes how to to manual symbolication with LLDB from the command line, from python, and also how to use the build in modules to do symbolication.
llvm-svn: 171477
Greg Clayton [Fri, 4 Jan 2013 18:10:18 +0000 (18:10 +0000)]
<rdar://problem/
12928282>
Added SBTarget::EvaluateExpression() so expressions can be evaluated without needing a process.
Also fixed many functions that deal with clang AST types to be able to properly handle the clang::Type::Elaborated types ("struct foo", "class bar").
llvm-svn: 171476
Pedro Artigas [Fri, 4 Jan 2013 18:04:42 +0000 (18:04 +0000)]
small fixes to enable the reuse of the pass manager across multiple modules
llvm-svn: 171475
Eric Christopher [Fri, 4 Jan 2013 17:59:22 +0000 (17:59 +0000)]
Add section information for the DWARF5 split debug proposal
string offset section.
llvm-svn: 171474
Eric Christopher [Fri, 4 Jan 2013 17:59:17 +0000 (17:59 +0000)]
Make comment a bit more clear.
llvm-svn: 171473
Eric Christopher [Fri, 4 Jan 2013 17:59:07 +0000 (17:59 +0000)]
Fix fieldNo usage for lambdas. No behavior change since the
field number was 0 anyhow.
llvm-svn: 171472
Nadav Rotem [Fri, 4 Jan 2013 17:57:44 +0000 (17:57 +0000)]
Move the loop vectorizer from O2 to O3. It looks like the increase in code size actually hurts the performance on many programs.
llvm-svn: 171471
Nadav Rotem [Fri, 4 Jan 2013 17:49:45 +0000 (17:49 +0000)]
Update the docs about the new unroll features.
llvm-svn: 171470
Nadav Rotem [Fri, 4 Jan 2013 17:48:25 +0000 (17:48 +0000)]
LoopVectorizer:
1. Add code to estimate register pressure.
2. Add code to select the unroll factor based on register pressure.
3. Add bits to TargetTransformInfo to provide the number of registers.
llvm-svn: 171469
Nadav Rotem [Fri, 4 Jan 2013 17:35:21 +0000 (17:35 +0000)]
Revert revision: 171467. This transformation is incorrect and makes some tests fail. Original message:
Simplified TRUNCATE operation that comes after SETCC. It is possible since SETCC result is 0 or -1.
Added a test.
llvm-svn: 171468
Elena Demikhovsky [Thu, 3 Jan 2013 08:48:33 +0000 (08:48 +0000)]
Simplified TRUNCATE operation that comes after SETCC. It is possible since SETCC result is 0 or -1.
Added a test.
llvm-svn: 171467
Michael Gottesman [Thu, 3 Jan 2013 08:18:30 +0000 (08:18 +0000)]
Revert "Mark DIV/IDIV instructions hasSideEffects=1 because they can trap when dividing by 0. This is needed to keep early if conversion from moving them across basic blocks."
This reverts commit r171461 since it breaks the following tests:
Clang :: Analysis/outofbound-notwork.c
Clang :: Analysis/string-fail.c
Clang :: CXX/basic/basic.lookup/basic.lookup.qual/p6-0x.cpp
Clang :: CXX/basic/basic.lookup/basic.lookup.unqual/p15.cpp
Clang :: CXX/dcl.dcl/dcl.spec/dcl.fct.spec/p4.cpp
Clang :: CXX/dcl.dcl/dcl.spec/dcl.stc/p10.cpp
Clang :: CXX/temp/temp.param/p14.cpp
Clang :: CXX/temp/temp.res/temp.dep.res/temp.point/p1.cpp
Clang :: CodeGen/2009-02-13-zerosize-union-field-ppc.c
Clang :: CodeGen/blocks-2.c
Clang :: CodeGen/libcalls-d.c
Clang :: CodeGen/libcalls-ld.c
Clang :: CodeGenCXX/conversion-function.cpp
Clang :: CodeGenCXX/debug-info-limit-type.cpp
Clang :: CodeGenCXX/inheriting-constructor.cpp
Clang :: FixIt/fixit-errors.c
Clang :: FixIt/fixit-pmem.cpp
Clang :: Modules/namespaces.cpp
Clang :: PCH/changed-files.c
Clang :: PCH/pr4489.c
Clang :: PCH/source-manager-stack.c
Clang :: Parser/cxx-ambig-decl-expr-xfail.cpp
Clang :: SemaCXX/switch-implicit-fallthrough-cxx98.cpp
Clang :: SemaTemplate/instantiate-function-1.mm
llvm-svn: 171466
Michael Gottesman [Thu, 3 Jan 2013 08:09:27 +0000 (08:09 +0000)]
Changed two debug statements that state that a queue had finished being processed when said queue was really a list to state a list had finished being processed.
llvm-svn: 171465
Michael Gottesman [Thu, 3 Jan 2013 08:09:17 +0000 (08:09 +0000)]
Added DEBUG message for ObjCARC when we zap a push/pop pair in ObjCARCAPElim::OptimizeBB.
llvm-svn: 171464
Michael Gottesman [Thu, 3 Jan 2013 07:32:53 +0000 (07:32 +0000)]
Added DEBUG message to ObjCARC when we transform objc_initWeak(p, null) => *p = null.
llvm-svn: 171463
Michael Gottesman [Thu, 3 Jan 2013 07:32:41 +0000 (07:32 +0000)]
Added DEBUG message for ObjCARC when an inline asm marker is inserted for architectures where this is required to perform a retainAutoreleasedReturnValue optimization.
llvm-svn: 171462
Craig Topper [Thu, 3 Jan 2013 06:40:20 +0000 (06:40 +0000)]
Mark DIV/IDIV instructions hasSideEffects=1 because they can trap when dividing by 0. This is needed to keep early if conversion from moving them across basic blocks.
llvm-svn: 171461
Hal Finkel [Thu, 3 Jan 2013 05:02:41 +0000 (05:02 +0000)]
Better comment on VTTI::getShuffleCost
llvm-svn: 171459
Rafael Espindola [Thu, 3 Jan 2013 04:29:20 +0000 (04:29 +0000)]
Warn on unused auto variables.
To do so we have to wait until we know that the type of a variable has been
deduced. Sema::FinalizeDeclaration is the first callback that is used for
decl with or without initializers.
llvm-svn: 171458
Rafael Espindola [Thu, 3 Jan 2013 04:05:19 +0000 (04:05 +0000)]
Use early returns to reduce indentation.
llvm-svn: 171457
Marshall Clow [Thu, 3 Jan 2013 03:57:56 +0000 (03:57 +0000)]
Removed another copy of 'iterators.h' files in libcxx/test
llvm-svn: 171456
NAKAMURA Takumi [Thu, 3 Jan 2013 03:30:22 +0000 (03:30 +0000)]
Compiler.h: Leave LLVM_BUILTIN_UNREACHABLE undefined if it is unavailable in host compiler.
Users of LLVM_BUILTIN_UNREACHABLE should be responsible in the case when LLVM_BUILTIN_UNREACHABLE is undefined.
Actually, (0, (p)) in LLVM_ASSUME_ALIGNED(p, a) caused thousands of warnings on g++-4.4. It was a motivation in this commit.
llvm-svn: 171455
Argyrios Kyrtzidis [Thu, 3 Jan 2013 03:17:17 +0000 (03:17 +0000)]
[arcmt] Rewrite uses of Block_copy/Block_release macros.
c = Block_copy(b);
Block_release(c);
---->
c = [b copy];
<removed>
rdar://9408211
llvm-svn: 171454
Hal Finkel [Thu, 3 Jan 2013 02:34:09 +0000 (02:34 +0000)]
Add a subtype parameter to VTTI::getShuffleCost
In order to cost subvector insertion and extraction, we need to know
the type of the subvector being extracted.
No functionality change.
llvm-svn: 171453
Marshall Clow [Thu, 3 Jan 2013 02:29:29 +0000 (02:29 +0000)]
Removed several more different 'iterators.h' files in libcxx/test
llvm-svn: 171452
Alex Rosenberg [Thu, 3 Jan 2013 02:15:37 +0000 (02:15 +0000)]
Add .arcconfig for Phabricator command-line support
llvm-svn: 171451
Bill Wendling [Thu, 3 Jan 2013 02:01:50 +0000 (02:01 +0000)]
Revert everything to r171366 to try to fix the build.
llvm-svn: 171450
Nadav Rotem [Thu, 3 Jan 2013 01:56:33 +0000 (01:56 +0000)]
Reformat the rst text.
llvm-svn: 171449
Bill Wendling [Thu, 3 Jan 2013 01:54:39 +0000 (01:54 +0000)]
Try again to revert the bad patch. The tree was reverted for some unknown reason
before the last time.
--- Reverse-merging r171442 into '.':
U include/llvm/IR/Attributes.h
U lib/IR/Attributes.cpp
U lib/IR/AttributeImpl.h
llvm-svn: 171448
Hal Finkel [Thu, 3 Jan 2013 01:50:51 +0000 (01:50 +0000)]
Add a default Index for VTTI::getShuffleCost
When Kind == (Broadcast or Reverse) then Index is not used; make it an optional parameter.
No functionality change.
llvm-svn: 171447
Nadav Rotem [Thu, 3 Jan 2013 01:47:31 +0000 (01:47 +0000)]
LoopVectorizer: Test the unrolling flag.
llvm-svn: 171446
Nadav Rotem [Thu, 3 Jan 2013 01:47:02 +0000 (01:47 +0000)]
LoopVectorizer: Document the unrolling feature.
llvm-svn: 171445
Bill Wendling [Thu, 3 Jan 2013 01:46:27 +0000 (01:46 +0000)]
Revert patch. Something snuck in there that shouldn't be.
--- Reverse-merging r171441 into '.':
U include/llvm/IR/Attributes.h
U lib/IR/Attributes.cpp
llvm-svn: 171444
Marshall Clow [Thu, 3 Jan 2013 01:45:09 +0000 (01:45 +0000)]
Removed 7 (of 8) different 'iterators.h' files in test/localization
llvm-svn: 171443
Bill Wendling [Thu, 3 Jan 2013 01:43:05 +0000 (01:43 +0000)]
Remove the 'contains' methods in favor of the 'operator==' method.
The 'operator==' method is a bit clearer and much less verbose for somethings
that should have only one value. Remove from the AttrBuilder for consistency.
llvm-svn: 171442
NAKAMURA Takumi [Thu, 3 Jan 2013 01:42:06 +0000 (01:42 +0000)]
Revert r171427, "An intermediate step in the Attributes rewrite."
llvm-svn: 171441
Ted Kremenek [Thu, 3 Jan 2013 01:30:20 +0000 (01:30 +0000)]
Fix capitalization of Objective-C in diagnostic.
llvm-svn: 171440
Ted Kremenek [Thu, 3 Jan 2013 01:30:12 +0000 (01:30 +0000)]
Make MallocChecker debug output useful.
llvm-svn: 171439
Michael J. Spencer [Thu, 3 Jan 2013 01:24:32 +0000 (01:24 +0000)]
[Object] Temporarily disable these tests.
They are failing because archives create unaligned ELF files. The recent
Endian change added a __builtin_unreachable() when this happens. I will be
committing a fix for this soon.
llvm-svn: 171438
Michael J. Spencer [Thu, 3 Jan 2013 01:09:22 +0000 (01:09 +0000)]
[MC][COFF] Switch the COFF streamer over to using the MCObjectStreamer version of EmitInstruction.
llvm-svn: 171437
Nadav Rotem [Thu, 3 Jan 2013 00:52:27 +0000 (00:52 +0000)]
LoopVectorizer: Add support for loop-unrolling during vectorization for increasing the ILP. At the moment this feature is disabled by default and this commit should not cause any functional changes.
llvm-svn: 171436
Jakob Stoklund Olesen [Thu, 3 Jan 2013 00:47:51 +0000 (00:47 +0000)]
Fix PR14732 by handling all kinds of IMPLICIT_DEF live ranges.
Most IMPLICIT_DEF instructions are removed by the ProcessImplicitDefs
pass, and a few are reinserted by PHIElimination when a PHI argument is
<undef>.
RegisterCoalescer was assuming that all IMPLICIT_DEF live ranges look
like those created by PHIElimination, and that their live range never
leaves the basic block.
The PR14732 test case does tricks with PHI nodes that causes a longer
IMPLICIT_DEF live range to appear. This happens very rarely, but
RegisterCoalescer should be able to handle it.
llvm-svn: 171435
Bill Wendling [Thu, 3 Jan 2013 00:46:43 +0000 (00:46 +0000)]
Make the type signature more strict.
llvm-svn: 171434
Eli Friedman [Thu, 3 Jan 2013 00:39:26 +0000 (00:39 +0000)]
Don't assert/crash on reference variables in lambdas bound to a
static local variable from the parent scope. PR14773.
llvm-svn: 171433
Anna Zaks [Thu, 3 Jan 2013 00:25:29 +0000 (00:25 +0000)]
[analyzer] Rename callback EndPath -> EndFunction
This better reflects when callback is called and what the checkers
are relying on. (Both names meant the same pre-IPA.)
llvm-svn: 171432
Sean Callanan [Thu, 3 Jan 2013 00:05:56 +0000 (00:05 +0000)]
Clang sometimes emits "objc_object*" rather than "id"
for id types with protocols on them. We detect this
and report "id" instead.
Also added a testcase.
<rdar://problem/
12595644>
llvm-svn: 171431
Michael J. Spencer [Thu, 3 Jan 2013 00:00:40 +0000 (00:00 +0000)]
[CMake] MSVC is incorrectly emitting C4239 in some cases. Disable it.
llvm-svn: 171430
Nadav Rotem [Wed, 2 Jan 2013 23:54:43 +0000 (23:54 +0000)]
Avoid vectorization when the function has the "noimplicitflot" attribute.
llvm-svn: 171429
Eric Christopher [Wed, 2 Jan 2013 23:52:13 +0000 (23:52 +0000)]
Extend the dumping infrastructure to deal with additional
sections for debug info. These are some of the dwo sections from the
DWARF5 split debug info proposal. Update the fission-cu.ll testcase
to show what we should be able to dump more of now.
Work in progress: Ultimately the relocations will be gone for the
dwo section and the strings will be a different form (as well as
the rest of the sections will be included).
llvm-svn: 171428
Bill Wendling [Wed, 2 Jan 2013 23:45:09 +0000 (23:45 +0000)]
An intermediate step in the Attributes rewrite.
Modify the AttrBuilder class to store the attributes as a set instead of as a
bit mask. The Attribute class will represent only one attribute instead of a
collection of attributes.
This is the wave of the future!
llvm-svn: 171427
Sean Silva [Wed, 2 Jan 2013 23:25:41 +0000 (23:25 +0000)]
Add docs/README.txt to point to llvm/docs/README.txt.
llvm-svn: 171426
Sean Silva [Wed, 2 Jan 2013 23:07:22 +0000 (23:07 +0000)]
analyzer: add initial Sphinx configuration
This is just the output of sphinx-quickstart. Now all that is needed
to begin converting the analyzer docs to reST is the server-side setup.
The analyzer folks have asked me to keep this segregated from the other
clang docs since the analyzer is a logically separate project (and has
its own separate web page) even though it resides in the clang tree.
llvm-svn: 171425
Sean Silva [Wed, 2 Jan 2013 22:48:50 +0000 (22:48 +0000)]
Exclude docs/analyzer/ from the default Sphinx build.
This paves the way for converting the analyzer docs to Sphinx (by
setting up a nested Sphinx tree in this directory).
llvm-svn: 171424
Argyrios Kyrtzidis [Wed, 2 Jan 2013 22:31:57 +0000 (22:31 +0000)]
[python bindings] Expose cursor.referenced (clang_getCursorReferenced).
Patch by Matthew King!
llvm-svn: 171423
Dmitri Gribenko [Wed, 2 Jan 2013 22:30:14 +0000 (22:30 +0000)]
hexagon-target-basic.c test: add REQUIRES line for hexagon target
llvm-svn: 171422
Argyrios Kyrtzidis [Wed, 2 Jan 2013 22:26:07 +0000 (22:26 +0000)]
DiagnosticIds: Fix offset/ID calculation, no impact outside this code.
Patch by Will Dietz:
Minor touchup so the values of Offset/ID reflect their intention.
Previously, the sum (Offset+ID) was correct, but Offset/ID
individually were wrong.
Caught by investigating unsigned overflow reported by -fsanitize=integer.
llvm-svn: 171421
Tom Stellard [Wed, 2 Jan 2013 22:13:01 +0000 (22:13 +0000)]
DAGCombiner: Avoid generating illegal vector INT_TO_FP nodes
DAGCombiner::reduceBuildVecConvertToConvertBuildVec() was making two
mistakes:
1. It was checking the legality of scalar INT_TO_FP nodes and then generating
vector nodes.
2. It was passing the result value type to
TargetLoweringInfo::getOperationAction() when it should have been
passing the value type of the first operand.
llvm-svn: 171420
Sean Silva [Wed, 2 Jan 2013 22:05:33 +0000 (22:05 +0000)]
docs: Mark ReleaseNotes as "In-Progress"
Even though we do have a `.. warning::` directive on the page, hopefully
having "In-Progress" in the title will help to condition people's
expectations a bit for when they run into the extremely bare-bones
release notes.
Also, when release season comes around again, maybe this will get
people's attention and avoid confusion about what is going into the
upcoming release, and what is for changes to trunk for the next version.
llvm-svn: 171419
Sean Silva [Wed, 2 Jan 2013 21:50:48 +0000 (21:50 +0000)]
docs: Take advantage of extra level of headings.
The way Sphinx treats the "top-level" adornments is weird. It usually
uses the first top-level adornment as the page title, even if the
top-level adornment is just one "section" out of many (i.e. if the first
section is "Introduction", then it will make the page title be
"Introduction"). This behavior can be overriden by using an explicit
`.. title::` directive to set the title.
Since the Sphinx stylesheet that Clang is currently using ('haiku')
nicely puts the document title at the top of the page in the header,
this weird default behavior was resulting in a redundant "title" in the
body content. Getting rid of this redundant level of headings
effectively "exposes" one more level of heading from the stylesheet to
which now makes the real "sections" more distinct.
llvm-svn: 171417
Anshuman Dasgupta [Wed, 2 Jan 2013 21:25:57 +0000 (21:25 +0000)]
Correct Hexagon DataLayout string. Fixes bug 14744.
Patch by Krzysztof Parzyszek!
llvm-svn: 171415
Kevin Enderby [Wed, 2 Jan 2013 21:20:15 +0000 (21:20 +0000)]
Adds missing aliases for fcom and fcomp instructions without arguments.
Patch by Michael M Kuperstein!
llvm-svn: 171414
Argyrios Kyrtzidis [Wed, 2 Jan 2013 21:19:08 +0000 (21:19 +0000)]
Use a bool instead of a bitfield in llvm/ADT/Optional.
Fixes Valgrind failures and removes bitwise operations that don't provide any benefit.
Valgrind failures reported by NAKAMURA Takumi.
llvm-svn: 171413
Dmitri Gribenko [Wed, 2 Jan 2013 21:12:03 +0000 (21:12 +0000)]
Type safety attributes: add tests for enumerations (users are actually doing
this, ensure we don't regress)
llvm-svn: 171412
Sean Silva [Wed, 2 Jan 2013 21:09:58 +0000 (21:09 +0000)]
docs: Curb excessive table-of-contents depth.
llvm-svn: 171410
Sean Silva [Wed, 2 Jan 2013 21:03:11 +0000 (21:03 +0000)]
docs: Reorganize landing page.
Language extensions are highly relevant to using clang as a compiler, so
move LanguageExtensions up into `Using Clang as a Compiler` on the
landing page.
The other documents from the now-gone `Language Extensions and Specs`
section on the landing page nicely fit hierarchically under
LanguageExtensions.rst, so put them under LanguageExtensions.rst's
toctree instead of on the landing page.
Impetus from Jordan Rose.
llvm-svn: 171409
Michael J. Spencer [Wed, 2 Jan 2013 20:23:49 +0000 (20:23 +0000)]
Restrict __builtin_assume_aligned to gcc 4.7+
llvm-svn: 171408
Sean Silva [Wed, 2 Jan 2013 20:22:14 +0000 (20:22 +0000)]
docs: Fix spelling error.
Spotted by Nikola Smiljanic.
llvm-svn: 171407
Michael J. Spencer [Wed, 2 Jan 2013 20:14:11 +0000 (20:14 +0000)]
[Support][Endian] Add support for specifying the alignment and native unaligned types.
* Add support for specifying the alignment to use.
* Add the concept of native endianness. Used for unaligned native types.
The native alignment and read/write simplification is based on a patch by Richard Smith.
llvm-svn: 171406
Argyrios Kyrtzidis [Wed, 2 Jan 2013 19:42:53 +0000 (19:42 +0000)]
Don't #include stuff outside the include guards.
This defeats the include-guard optimization when parsing.
llvm-svn: 171405
Argyrios Kyrtzidis [Wed, 2 Jan 2013 19:10:22 +0000 (19:10 +0000)]
Remove the anonymous namespace from lib/Sema/TreeTransform.h
llvm-svn: 171402
Manuel Klimek [Wed, 2 Jan 2013 18:33:23 +0000 (18:33 +0000)]
Fixes multiple formatting bugs.
Fixes:
- incorrect handling of multiple consecutive preprocessor directives
- crash when trying to right align the escpaed newline for a line that
is longer than the column limit
- using only ColumnLimit-1 columns when layouting with escaped newlines
inside preprocessor directives
llvm-svn: 171401
Daniel Jasper [Wed, 2 Jan 2013 18:30:06 +0000 (18:30 +0000)]
Don't allow line breaks after template parameters.
This fixes llvm.org/PR14786.
We will need to split there as a last resort, but that should be done
consistently independent of whether the type is a template type or not.
Before:
template <typename T>
aaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaa,
aaaaaaaaaaaaaaaaaaaaaaaaaa<T>
::
aaaaaaaaaa,
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
After:
template <typename T>
aaaaaaaaaaaaaaaaaaa(
aaaaaaaaaaaaaaaaaa,
aaaaaaaaaaaaaaaaaaaaaaaaaa<T>::
aaaaaaaaaa,
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa);
llvm-svn: 171400
Shuxin Yang [Wed, 2 Jan 2013 18:26:31 +0000 (18:26 +0000)]
- Add comment to two functions which might be considered as dead code.
- Fix a typo
llvm-svn: 171399
Nadav Rotem [Wed, 2 Jan 2013 17:41:03 +0000 (17:41 +0000)]
AVX: Fix a bug in WidenMaskArithmetic.
llvm-svn: 171398
Nadav Rotem [Wed, 2 Jan 2013 17:40:39 +0000 (17:40 +0000)]
AVX: Fix a bug in WidenMaskArithmetic.
llvm-svn: 171397
Daniel Jasper [Wed, 2 Jan 2013 17:21:36 +0000 (17:21 +0000)]
Format */& as binary operator if followed by a unary operator.
This fixes llvm.org/PR14687.
Also fixes segfault for lines starting with * or &.
Before:
a *~b;
*a = 1; // <- this segfaulted
After:
a * ~b;
*a = 1; // no segfault :-)
llvm-svn: 171396
Manuel Klimek [Wed, 2 Jan 2013 16:30:12 +0000 (16:30 +0000)]
Fixes use of unescaped newlines when formatting preprocessor directives.
This is the first step towards handling preprocessor directives. This
patch only fixes the most pressing issue, namely correctly escaping
newlines for tokens within a sequence of a preprocessor directive.
The next step will be to fix incorrect format decisions on #define
directives.
llvm-svn: 171393
Daniel Jasper [Wed, 2 Jan 2013 15:46:59 +0000 (15:46 +0000)]
Correctly format pointers and references in casts.
This fixes llvm.org/PR14747.
Before: Type *A = (Type * ) P;
After: Type *A = (Type *) P;
llvm-svn: 171390
Daniel Jasper [Wed, 2 Jan 2013 15:26:16 +0000 (15:26 +0000)]
Understand unary operators after "return" and "case".
This fixes llvm.org/PR14746.
Before: return - 1;
After: return -1;
llvm-svn: 171389
Daniel Jasper [Wed, 2 Jan 2013 15:08:56 +0000 (15:08 +0000)]
Prefer splitting after "template <...>" and fix indentation.
This addresses llvm.org/PR14699
Before:
template <typename T>
void looooooooooooooooooooooongFunction(int Param1, int Param2);
template <typename T> void looooooooooooooooooooongFunction(
int Paaaaaaaaaaaaaaaaaaaaram1, int Paaaaaaaaaaaaaaaaaaaaram2);
After:
template <typename T>
void looooooooooooooooooooooongFunction(int Param1, int Param2);
template <typename T>
void looooooooooooooooooooongFunction(int Paaaaaaaaaaaaaaaaaaaaram1,
int Paaaaaaaaaaaaaaaaaaaaram2);
llvm-svn: 171388
Daniel Jasper [Wed, 2 Jan 2013 14:40:02 +0000 (14:40 +0000)]
Sean Silva [Wed, 2 Jan 2013 13:25:05 +0000 (13:25 +0000)]
docs: `3.2` -> `3.3`
llvm-svn: 171384