summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* [mips] Reorder template parameters. Remove class shift_rotate_imm32 andAkira Hatanaka2013-01-042-54/+59
| | | | | | shift_rotate_imm64. llvm-svn: 171513
* Memory Dependence Analysis: fix a miscompile that uses DT to approxmiate theManman Ren2013-01-042-4/+88
| | | | | | | | | | | | reachablity. We conservatively approximate the reachability analysis by saying it is not reachable if there is a single path starting from "From" and the path does not reach "To". rdar://12801584 llvm-svn: 171512
* [mips] Refactor conditional move instructions.Akira Hatanaka2013-01-041-13/+20
| | | | llvm-svn: 171511
* [mips] Refactor instructions which move data from or to coprocessors.Akira Hatanaka2013-01-043-33/+34
| | | | llvm-svn: 171510
* Update the gcc-loops benchmarks results with the new automatic unrolling ↵Nadav Rotem2013-01-041-0/+0
| | | | | | feature. llvm-svn: 171509
* fix a couple of typosEli Bendersky2013-01-041-2/+2
| | | | llvm-svn: 171508
* Remove unused #includeEli Bendersky2013-01-041-1/+0
| | | | llvm-svn: 171507
* PowerPC: Fix eh_frame relocation for PIC Adhemerval Zanella2013-01-045-33/+94
| | | | | | | | | This patch fixes the PPC eh_frame definitions for the personality and frame unwinding for PIC objects. It makes PIC build correctly creates relative relocations in the '.rela.eh_frame' segments and thus avoiding a text relocation that generates a DT_TEXTREL segments in link phase. llvm-svn: 171506
* Add linpack-pc benchNadav Rotem2013-01-042-0/+4
| | | | llvm-svn: 171499
* Add Textmate bundle for Tablegen syntax-highlightingJoel Jones2013-01-043-0/+151
| | | | llvm-svn: 171496
* Change the default number of registers to prevent unrolling on targets that ↵Nadav Rotem2013-01-041-1/+1
| | | | | | dont have this hook. llvm-svn: 171489
* Add a space to the end of the line so we don't get "itsbounds" in output.Eric Christopher2013-01-041-1/+1
| | | | llvm-svn: 171487
* small fixes to enable the reuse of the pass manager across multiple modulesPedro Artigas2013-01-043-2/+4
| | | | llvm-svn: 171475
* Add section information for the DWARF5 split debug proposalEric Christopher2013-01-042-0/+7
| | | | | | string offset section. llvm-svn: 171474
* Make comment a bit more clear.Eric Christopher2013-01-041-1/+2
| | | | llvm-svn: 171473
* 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
* 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
* 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
* 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
* 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
* [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
* [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
* DAGCombiner: Avoid generating illegal vector INT_TO_FP nodesTom Stellard2013-01-024-7/+42
| | | | | | | | | | | | | | 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
* Adds missing aliases for fcom and fcomp instructions without arguments.Kevin Enderby2013-01-022-0/+10
| | | | | | Patch by Michael M Kuperstein! llvm-svn: 171414
* Use a bool instead of a bitfield in llvm/ADT/Optional.Argyrios Kyrtzidis2013-01-021-1/+1
| | | | | | | Fixes Valgrind failures and removes bitwise operations that don't provide any benefit. Valgrind failures reported by NAKAMURA Takumi. llvm-svn: 171413
OpenPOWER on IntegriCloud