summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix fieldNo usage for lambdas. No behavior change since theEric Christopher2013-01-041-2/+2
| | | | | | field number was 0 anyhow. llvm-svn: 171472
* Move the loop vectorizer from O2 to O3. It looks like the increase in code ↵Nadav Rotem2013-01-041-1/+1
| | | | | | size actually hurts the performance on many programs. llvm-svn: 171471
* Update the docs about the new unroll features.Nadav Rotem2013-01-041-7/+23
| | | | llvm-svn: 171470
* LoopVectorizer:Nadav Rotem2013-01-049-19/+279
| | | | | | | | 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
* Revert revision: 171467. This transformation is incorrect and makes some ↵Nadav Rotem2013-01-042-35/+3
| | | | | | | | | 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
* Simplified TRUNCATE operation that comes after SETCC. It is possible since ↵Elena Demikhovsky2013-01-032-3/+35
| | | | | | | | SETCC result is 0 or -1. Added a test. llvm-svn: 171467
* Revert "Mark DIV/IDIV instructions hasSideEffects=1 because they can trap ↵Michael Gottesman2013-01-032-33/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Changed two debug statements that state that a queue had finished being ↵Michael Gottesman2013-01-031-2/+2
| | | | | | processed when said queue was really a list to state a list had finished being processed. llvm-svn: 171465
* Added DEBUG message for ObjCARC when we zap a push/pop pair in ↵Michael Gottesman2013-01-031-0/+3
| | | | | | ObjCARCAPElim::OptimizeBB. llvm-svn: 171464
* Added DEBUG message to ObjCARC when we transform objc_initWeak(p, null) => ↵Michael Gottesman2013-01-031-0/+4
| | | | | | *p = null. llvm-svn: 171463
* Added DEBUG message for ObjCARC when an inline asm marker is inserted for ↵Michael Gottesman2013-01-031-0/+2
| | | | | | architectures where this is required to perform a retainAutoreleasedReturnValue optimization. llvm-svn: 171462
* Mark DIV/IDIV instructions hasSideEffects=1 because they can trap when ↵Craig Topper2013-01-032-1/+33
| | | | | | dividing by 0. This is needed to keep early if conversion from moving them across basic blocks. llvm-svn: 171461
* Better comment on VTTI::getShuffleCostHal Finkel2013-01-031-2/+2
| | | | llvm-svn: 171459
* Warn on unused auto variables.Rafael Espindola2013-01-032-3/+12
| | | | | | | | 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
* Use early returns to reduce indentation.Rafael Espindola2013-01-031-31/+34
| | | | llvm-svn: 171457
* Removed another copy of 'iterators.h' files in libcxx/testMarshall Clow2013-01-0359-336/+58
| | | | llvm-svn: 171456
* Compiler.h: Leave LLVM_BUILTIN_UNREACHABLE undefined if it is unavailable in ↵NAKAMURA Takumi2013-01-031-3/+3
| | | | | | | | | | 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
* [arcmt] Rewrite uses of Block_copy/Block_release macros.Argyrios Kyrtzidis2013-01-034-9/+126
| | | | | | | | | | | | c = Block_copy(b); Block_release(c); ----> c = [b copy]; <removed> rdar://9408211 llvm-svn: 171454
* Add a subtype parameter to VTTI::getShuffleCostHal Finkel2013-01-035-9/+10
| | | | | | | | | 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
* Removed several more different 'iterators.h' files in libcxx/testMarshall Clow2013-01-03134-883/+131
| | | | llvm-svn: 171452
* Add .arcconfig for Phabricator command-line supportAlex Rosenberg2013-01-031-0/+4
| | | | llvm-svn: 171451
* Revert everything to r171366 to try to fix the build.Bill Wendling2013-01-032-24/+5
| | | | llvm-svn: 171450
* Reformat the rst text.Nadav Rotem2013-01-031-4/+3
| | | | llvm-svn: 171449
* Try again to revert the bad patch. The tree was reverted for some unknown reasonBill Wendling2013-01-033-68/+45
| | | | | | | | | | | 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
* Add a default Index for VTTI::getShuffleCostHal Finkel2013-01-031-1/+1
| | | | | | | | When Kind == (Broadcast or Reverse) then Index is not used; make it an optional parameter. No functionality change. llvm-svn: 171447
* LoopVectorizer: Test the unrolling flag.Nadav Rotem2013-01-031-0/+39
| | | | llvm-svn: 171446
* LoopVectorizer: Document the unrolling feature.Nadav Rotem2013-01-031-2/+34
| | | | llvm-svn: 171445
* Revert patch. Something snuck in there that shouldn't be.Bill Wendling2013-01-032-23/+66
| | | | | | | | --- Reverse-merging r171441 into '.': U include/llvm/IR/Attributes.h U lib/IR/Attributes.cpp llvm-svn: 171444
* Removed 7 (of 8) different 'iterators.h' files in test/localizationMarshall Clow2013-01-0366-355/+85
| | | | llvm-svn: 171443
* Remove the 'contains' methods in favor of the 'operator==' method.Bill Wendling2013-01-033-23/+22
| | | | | | | 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
* Revert r171427, "An intermediate step in the Attributes rewrite."NAKAMURA Takumi2013-01-032-66/+23
| | | | llvm-svn: 171441
* Fix capitalization of Objective-C in diagnostic.Ted Kremenek2013-01-034-10/+10
| | | | llvm-svn: 171440
* Make MallocChecker debug output useful.Ted Kremenek2013-01-031-2/+22
| | | | llvm-svn: 171439
* [Object] Temporarily disable these tests.Michael J. Spencer2013-01-032-2/+2
| | | | | | | | 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
* [MC][COFF] Switch the COFF streamer over to using the MCObjectStreamer ↵Michael J. Spencer2013-01-031-22/+14
| | | | | | version of EmitInstruction. llvm-svn: 171437
* LoopVectorizer: Add support for loop-unrolling during vectorization for ↵Nadav Rotem2013-01-032-169/+329
| | | | | | increasing the ILP. At the moment this feature is disabled by default and this commit should not cause any functional changes. llvm-svn: 171436
* Fix PR14732 by handling all kinds of IMPLICIT_DEF live ranges.Jakob Stoklund Olesen2013-01-032-8/+167
| | | | | | | | | | | | | | | | 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
* Make the type signature more strict.Bill Wendling2013-01-032-4/+4
| | | | llvm-svn: 171434
* Don't assert/crash on reference variables in lambdas bound to aEli Friedman2013-01-033-11/+15
| | | | | | static local variable from the parent scope. PR14773. llvm-svn: 171433
* [analyzer] Rename callback EndPath -> EndFunctionAnna Zaks2013-01-0310-43/+43
| | | | | | | This better reflects when callback is called and what the checkers are relying on. (Both names meant the same pre-IPA.) llvm-svn: 171432
* Clang sometimes emits "objc_object*" rather than "id"Sean Callanan2013-01-033-39/+82
| | | | | | | | | | | for id types with protocols on them. We detect this and report "id" instead. Also added a testcase. <rdar://problem/12595644> llvm-svn: 171431
* [CMake] MSVC is incorrectly emitting C4239 in some cases. Disable it.Michael J. Spencer2013-01-031-1/+0
| | | | llvm-svn: 171430
* Avoid vectorization when the function has the "noimplicitflot" attribute.Nadav Rotem2013-01-022-3/+40
| | | | llvm-svn: 171429
* Extend the dumping infrastructure to deal with additionalEric Christopher2013-01-027-31/+160
| | | | | | | | | | | | 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
* An intermediate step in the Attributes rewrite.Bill Wendling2013-01-022-23/+66
| | | | | | | | | | 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
* Add docs/README.txt to point to llvm/docs/README.txt.Sean Silva2013-01-021-0/+1
| | | | llvm-svn: 171426
* analyzer: add initial Sphinx configurationSean Silva2013-01-025-0/+614
| | | | | | | | | | | 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
* Exclude docs/analyzer/ from the default Sphinx build.Sean Silva2013-01-021-1/+1
| | | | | | | This paves the way for converting the analyzer docs to Sphinx (by setting up a nested Sphinx tree in this directory). llvm-svn: 171424
* [python bindings] Expose cursor.referenced (clang_getCursorReferenced).Argyrios Kyrtzidis2013-01-022-0/+20
| | | | | | Patch by Matthew King! llvm-svn: 171423
* hexagon-target-basic.c test: add REQUIRES line for hexagon targetDmitri Gribenko2013-01-021-0/+1
| | | | llvm-svn: 171422
OpenPOWER on IntegriCloud