Greg Clayton
4b63a5c1ce
<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
2013-01-04 18:10:18 +00:00
Pedro Artigas
3383225167
small fixes to enable the reuse of the pass manager across multiple modules
...
llvm-svn: 171475
2013-01-04 18:04:42 +00:00
Eric Christopher
c0fa867c7b
Add section information for the DWARF5 split debug proposal
...
string offset section.
llvm-svn: 171474
2013-01-04 17:59:22 +00:00
Eric Christopher
aa082063cb
Make comment a bit more clear.
...
llvm-svn: 171473
2013-01-04 17:59:17 +00:00
Eric Christopher
0f75943780
Fix fieldNo usage for lambdas. No behavior change since the
...
field number was 0 anyhow.
llvm-svn: 171472
2013-01-04 17:59:07 +00:00
Nadav Rotem
be6570d429
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
2013-01-04 17:57:44 +00:00
Nadav Rotem
7daadf21fe
Update the docs about the new unroll features.
...
llvm-svn: 171470
2013-01-04 17:49:45 +00:00
Nadav Rotem
e1d5c4b8b9
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
2013-01-04 17:48:25 +00:00
Nadav Rotem
c616a5408a
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
2013-01-04 17:35:21 +00:00
Elena Demikhovsky
5f2f06d2d9
Simplified TRUNCATE operation that comes after SETCC. It is possible since SETCC result is 0 or -1.
...
Added a test.
llvm-svn: 171467
2013-01-03 08:48:33 +00:00
Michael Gottesman
820aac1c78
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
2013-01-03 08:18:30 +00:00
Michael Gottesman
50ae5b28e9
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
2013-01-03 08:09:27 +00:00
Michael Gottesman
ef682c5430
Added DEBUG message for ObjCARC when we zap a push/pop pair in ObjCARCAPElim::OptimizeBB.
...
llvm-svn: 171464
2013-01-03 08:09:17 +00:00
Michael Gottesman
416dc00cad
Added DEBUG message to ObjCARC when we transform objc_initWeak(p, null) => *p = null.
...
llvm-svn: 171463
2013-01-03 07:32:53 +00:00
Michael Gottesman
00d1f966b4
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
2013-01-03 07:32:41 +00:00
Craig Topper
7c27cc9fd0
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
2013-01-03 06:40:20 +00:00
Hal Finkel
c8c12bc0ff
Better comment on VTTI::getShuffleCost
...
llvm-svn: 171459
2013-01-03 05:02:41 +00:00
Rafael Espindola
d2ecc139f2
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
2013-01-03 04:29:20 +00:00
Rafael Espindola
60470f1194
Use early returns to reduce indentation.
...
llvm-svn: 171457
2013-01-03 04:05:19 +00:00
Marshall Clow
f941359201
Removed another copy of 'iterators.h' files in libcxx/test
...
llvm-svn: 171456
2013-01-03 03:57:56 +00:00
NAKAMURA Takumi
600361b3c1
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
2013-01-03 03:30:22 +00:00
Argyrios Kyrtzidis
6ba7afb8e1
[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
2013-01-03 03:17:17 +00:00
Hal Finkel
95de3f3018
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
2013-01-03 02:34:09 +00:00
Marshall Clow
cf1589f749
Removed several more different 'iterators.h' files in libcxx/test
...
llvm-svn: 171452
2013-01-03 02:29:29 +00:00
Alex Rosenberg
59095f1cf9
Add .arcconfig for Phabricator command-line support
...
llvm-svn: 171451
2013-01-03 02:15:37 +00:00
Bill Wendling
c0df112941
Revert everything to r171366 to try to fix the build.
...
llvm-svn: 171450
2013-01-03 02:01:50 +00:00
Nadav Rotem
7ea18a763b
Reformat the rst text.
...
llvm-svn: 171449
2013-01-03 01:56:33 +00:00
Bill Wendling
04949fa998
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
2013-01-03 01:54:39 +00:00
Hal Finkel
b168708ad8
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
2013-01-03 01:50:51 +00:00
Nadav Rotem
d554a517c0
LoopVectorizer: Test the unrolling flag.
...
llvm-svn: 171446
2013-01-03 01:47:31 +00:00
Nadav Rotem
a616d68f2c
LoopVectorizer: Document the unrolling feature.
...
llvm-svn: 171445
2013-01-03 01:47:02 +00:00
Bill Wendling
40785ae18f
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
2013-01-03 01:46:27 +00:00
Marshall Clow
9b726d242f
Removed 7 (of 8) different 'iterators.h' files in test/localization
...
llvm-svn: 171443
2013-01-03 01:45:09 +00:00
Bill Wendling
af9a90cc00
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
2013-01-03 01:43:05 +00:00
NAKAMURA Takumi
cedab7ecf3
Revert r171427, "An intermediate step in the Attributes rewrite."
...
llvm-svn: 171441
2013-01-03 01:42:06 +00:00
Ted Kremenek
1d6aac5b6a
Fix capitalization of Objective-C in diagnostic.
...
llvm-svn: 171440
2013-01-03 01:30:20 +00:00
Ted Kremenek
6fcefb53e3
Make MallocChecker debug output useful.
...
llvm-svn: 171439
2013-01-03 01:30:12 +00:00
Michael J. Spencer
e0219f78d3
[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
2013-01-03 01:24:32 +00:00
Michael J. Spencer
088925ea96
[MC][COFF] Switch the COFF streamer over to using the MCObjectStreamer version of EmitInstruction.
...
llvm-svn: 171437
2013-01-03 01:09:22 +00:00
Nadav Rotem
72f984b596
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
2013-01-03 00:52:27 +00:00
Jakob Stoklund Olesen
725d57682b
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
2013-01-03 00:47:51 +00:00
Bill Wendling
0793f4501c
Make the type signature more strict.
...
llvm-svn: 171434
2013-01-03 00:46:43 +00:00
Eli Friedman
33accdf602
Don't assert/crash on reference variables in lambdas bound to a
...
static local variable from the parent scope. PR14773.
llvm-svn: 171433
2013-01-03 00:39:26 +00:00
Anna Zaks
3fdcc0bda3
[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
2013-01-03 00:25:29 +00:00
Sean Callanan
8258705dbd
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
2013-01-03 00:05:56 +00:00
Michael J. Spencer
895809159a
[CMake] MSVC is incorrectly emitting C4239 in some cases. Disable it.
...
llvm-svn: 171430
2013-01-03 00:00:40 +00:00
Nadav Rotem
4897392360
Avoid vectorization when the function has the "noimplicitflot" attribute.
...
llvm-svn: 171429
2013-01-02 23:54:43 +00:00
Eric Christopher
da4b2195fc
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
2013-01-02 23:52:13 +00:00
Bill Wendling
91055cfbaf
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
2013-01-02 23:45:09 +00:00
Sean Silva
ab3314f4d7
Add docs/README.txt to point to llvm/docs/README.txt.
...
llvm-svn: 171426
2013-01-02 23:25:41 +00:00