summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Move an assertion so it doesn't dereference end().Jakob Stoklund Olesen2013-01-041-4/+3
| | | | | | The R600 target has test cases that exercises this code. llvm-svn: 171538
* Do not vectorize loops with subtraction reductionsPaul Redmond2013-01-043-2/+51
| | | | | | | | | Since subtraction does not commute the loop vectorizer incorrectly vectorizes reductions such as x = A[i] - x. Disabling for now. llvm-svn: 171537
* Add a name for the anonymous type we're creating for subrangeEric Christopher2013-01-045-42/+86
| | | | | | | | types and a FIXME for what we should be doing. Should solve the immediacy of PR12069 where our debug info is crashing another tool. llvm-svn: 171536
* Added DEBUG message to ObjCARC when we optimize objc_retain => ↵Michael Gottesman2013-01-041-0/+10
| | | | | | objc_retainAutorelasedReturnValue. llvm-svn: 171535
* Fixed up some DEBUG messages where I was putting in the text of a message ↵Michael Gottesman2013-01-041-8/+8
| | | | | | | | the method where it was being called when I should have just prefixed the actual message with Pass::Method. Additionally I fixed some whitespace issues. llvm-svn: 171534
* Fix a warningNadav Rotem2013-01-041-2/+2
| | | | llvm-svn: 171525
* The current Intel Atom microarchitecture has a feature whereby when a functionPreston Gurd2013-01-0411-8/+282
| | | | | | | | | | | | | | | | | returns early then it is slightly faster to execute a sequence of NOP instructions to wait until the return address is ready, as opposed to simply stalling on the ret instruction until the return address is ready. When compiling for X86 Atom only, this patch will run a pass, called "X86PadShortFunction" which will add NOP instructions where less than four cycles elapse between function entry and return. It includes tests. Patch by Andy Zhang. llvm-svn: 171524
* General cleanups.Bill Wendling2013-01-043-69/+60
| | | | | | | | | | * Remove dead methods. * Use the 'operator==' method instead of 'contains', which isn't needed. * Fix some comments. No functionality change. llvm-svn: 171523
* [Object][ELF] Add a maximum alignment. This is used by createELFObjectFile ↵Michael J. Spencer2013-01-045-386/+466
| | | | | | to create a properly aligned reader. llvm-svn: 171520
* [mips] MipsTargetLowering::getSetCCResultType should return a vector type ifAkira Hatanaka2013-01-042-1/+19
| | | | | | vectors are being compared. llvm-svn: 171517
* [mips] 80 columns.Akira Hatanaka2013-01-044-8/+14
| | | | llvm-svn: 171515
* Fix how YAML I/O detects flow sequences. Nick Kledzik2013-01-043-39/+31
| | | | | | | Update test case to verify flow sequence is written as a flow sequence. llvm-svn: 171514
* [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
OpenPOWER on IntegriCloud