aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* PowerPC: Lowering floor intrinsic for AltivecAdhemerval Zanella2012-11-153-0/+186
| | | | | | | | | This patch lowers the llvm.floor, llvm.ceil, llvm.trunc, and llvm.nearbyint to Altivec instruction when using 4 single-precision float vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168086 91177308-0d34-0410-b5e6-96231b3b80d8
* PathV2: Fix a possible infinite loop.Daniel Dunbar2012-11-151-3/+4
| | | | | | | | | | - The code could infinite loop trying to create unique files, if the directory containing the unique file exists, but open() calls on non-existent files in the path return ENOENT. This is true on the /dev/fd filesystem, for example. - Will add a clang side test case for this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168081 91177308-0d34-0410-b5e6-96231b3b80d8
* Add assertions in MipsLongBranch which check the size of basic blocks.Akira Hatanaka2012-11-151-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168078 91177308-0d34-0410-b5e6-96231b3b80d8
* Return 0 instead of false.Jakub Staszak2012-11-151-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168076 91177308-0d34-0410-b5e6-96231b3b80d8
* Use std::stable_sort instead of std::sort when sorting stack slotsUlrich Weigand2012-11-151-1/+3
| | | | | | | to guarantee deterministic code generation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168074 91177308-0d34-0410-b5e6-96231b3b80d8
* Clarify my code ownershipEvan Cheng2012-11-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168073 91177308-0d34-0410-b5e6-96231b3b80d8
* Add myself as owner of VLIW Instruction Scheduling and Packetization.Sergei Larin2012-11-151-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168072 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ARM EABI to my list of responsibilities.Anton Korobeynikov2012-11-151-2/+2
| | | | | | | Update the email address (old works too, but less reliable) while there git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168065 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify code.Jakub Staszak2012-11-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168064 91177308-0d34-0410-b5e6-96231b3b80d8
* misspellAndrew Trick2012-11-151-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168058 91177308-0d34-0410-b5e6-96231b3b80d8
* whitespaceAndrew Trick2012-11-151-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168057 91177308-0d34-0410-b5e6-96231b3b80d8
* [reg scavenger] Fix the isUsed/isAliasUsed functions so as to not report a falseChad Rosier2012-11-152-4/+6
| | | | | | | | | | | | | | | | | positive. In this particular case, R6 was being spilled by the register scavenger when it was in fact dead. The isUsed function reported R6 as used because the R6_R7 alias was reserved (due to the fact that we've reserved R7 as the FP). The solution is to only check if the original register (i.e., R6) isReserved and not the aliases. The aliases are only checked to make sure they're available. The test case is derived from one of the nightly tester benchmarks and is rather intractable and difficult to reproduce, so I haven't included it. rdar://12592448 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168054 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix indeterminism in MI scheduler DAG construction.Sergei Larin2012-11-152-15/+27
| | | | | | | | | Similarly to several recent fixes throughout the code replace std::map use with the MapVector. Add find() method to the MapVector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168051 91177308-0d34-0410-b5e6-96231b3b80d8
* Use empty parens for empty function parameter list instead of '(void)'.Dmitri Gribenko2012-11-1511-23/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168049 91177308-0d34-0410-b5e6-96231b3b80d8
* FileCheck: remove useless 'continue' at the end of a 'while(){}' loop.Dmitri Gribenko2012-11-151-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168048 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not handle void types in DataLayout. Patch by Patrick Hägglund.Duncan Sands2012-11-152-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168042 91177308-0d34-0410-b5e6-96231b3b80d8
* Make GlobalOpt be conservative with TLS variables (PR14309)Hans Wennborg2012-11-154-0/+90
| | | | | | | | | | | | | | For global variables that get the same value stored into them everywhere, GlobalOpt will replace them with a constant. The problem is that a thread-local GlobalVariable looks like one value (the address of the TLS var), but is different between threads. This patch introduces Constant::isThreadDependent() which returns true for thread-local variables and constants which depend on them (e.g. a GEP into a thread-local array), and teaches GlobalOpt not to track such values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168037 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for SPIR64 target - the 64bit counterpart of SPIR.Guy Benyei2012-11-152-3/+12
| | | | | | The new OpenCL SPIR extension spec will define separate SPIR for 32 and 64 bit architectures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168036 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a crash observed by Shuxin Yang. The issue here is that LinearizeExprTree,Duncan Sands2012-11-152-54/+30
| | | | | | | | | | | | | | | the utility for extracting a chain of operations from the IR, thought that it might as well combine any constants it came across (rather than just returning them along with everything else). On the other hand, the factorization code would like to see the individual constants (this is quite reasonable: it is much easier to pull a factor of 3 out of 2*3 than it is to pull it out of 6; you may think 6/3 isn't so hard, but due to overflow it's not as easy to undo multiplications of constants as it may at first appear). This patch therefore makes LinearizeExprTree stupider: it now leaves optimizing to the optimization part of reassociate, and sticks to just analysing the IR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168035 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert changing FNEG of v4f32 to Expand. It's legal.Craig Topper2012-11-151-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168030 91177308-0d34-0410-b5e6-96231b3b80d8
* Make FNEG and FABS of v4f32 Expand.Craig Topper2012-11-151-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168029 91177308-0d34-0410-b5e6-96231b3b80d8
* Make a bunch of floating point operations on vectors Expand so that ↵Craig Topper2012-11-151-6/+10
| | | | | | instruction selection won't fail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168028 91177308-0d34-0410-b5e6-96231b3b80d8
* Add missing documentation for llvm.exp2, llvm.log10, and llvm.log2.Craig Topper2012-11-151-0/+102
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168026 91177308-0d34-0410-b5e6-96231b3b80d8
* Add llvm.ceil, llvm.trunc, llvm.rint, llvm.nearbyint intrinsics.Craig Topper2012-11-156-1/+178
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168025 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an obvious merge bug in -join-globalcopies (disabled).Andrew Trick2012-11-151-1/+3
| | | | | | | | Jakub Staszak spotted this in review. I don't notice these things until I manually rerun benchmarks. But reducing unit tests is a very high priority. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168021 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some release notes that say we removed the CellSPU port.Eric Christopher2012-11-151-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168014 91177308-0d34-0410-b5e6-96231b3b80d8
* InstCombineAndOrXor.cpp: Escape bracket in doxygen description. ↵NAKAMURA Takumi2012-11-151-1/+1
| | | | | | [-Wdocumentation] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168013 91177308-0d34-0410-b5e6-96231b3b80d8
* Use LLVM_DELETED_FUNCTION.Jakub Staszak2012-11-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168009 91177308-0d34-0410-b5e6-96231b3b80d8
* Add doInitialization and doFinalization methods to ModulePass's, to allow ↵Owen Anderson2012-11-1512-0/+117
| | | | | | | | | them to be re-initialized and reused on multiple Module's. Patch by Pedro Artigas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168008 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unneeded #includes.Jakub Staszak2012-11-141-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168006 91177308-0d34-0410-b5e6-96231b3b80d8
* NVPTXISelLowering.cpp: Fix warnings. [-Wunused-variable]NAKAMURA Takumi2012-11-141-6/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168001 91177308-0d34-0410-b5e6-96231b3b80d8
* This patch is in preparation for adding medium code model support to theBill Schmidt2012-11-145-5/+5
| | | | | | | | | | | | | | | | PPC64 target. The five tests modified herein test code generation that is sensitive to the code model selected. So I've added -code-model=small to the RUN commands for each. Since small code model is the default, this has no effect for now; but this prepares us for eventually changing the default to medium code model for PPC64. Test changes verified with small and medium code model as default on powerpc64-unknown-linux-gnu. All tests continue to pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167999 91177308-0d34-0410-b5e6-96231b3b80d8
* docs: Improve typographical correctness.Sean Silva2012-11-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167998 91177308-0d34-0410-b5e6-96231b3b80d8
* docs: Sphinxify TestSuiteMakefileGuideSean Silva2012-11-143-356/+290
| | | | | | Some small related fixups to TestingGuide too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167996 91177308-0d34-0410-b5e6-96231b3b80d8
* Use reserve() to avoid vector reallocation.Jakub Staszak2012-11-141-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167991 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure to not get AVX code on an AVX-capable host. Revealed in r167967.Jakub Staszak2012-11-144-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167989 91177308-0d34-0410-b5e6-96231b3b80d8
* test/CodeGen/Hexagon/postinc-load.ll: Suppress it for now. It triggered the ↵NAKAMURA Takumi2012-11-141-1/+1
| | | | | | failure on i686 hosts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167988 91177308-0d34-0410-b5e6-96231b3b80d8
* Few more small CellSPU removals.Eric Christopher2012-11-143-8/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167987 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix CMake build.Eric Christopher2012-11-141-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167986 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the CellSPU port.Eric Christopher2012-11-14120-22263/+9
| | | | | | | Approved by Chris Lattner. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167984 91177308-0d34-0410-b5e6-96231b3b80d8
* docs: Sphinxify TestingGuideSean Silva2012-11-147-930/+723
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167979 91177308-0d34-0410-b5e6-96231b3b80d8
* Support for [[@LINE]], [[@LINE+<offset>]], [[@LINE-<offset>]] expressions inAlexander Kornienko2012-11-142-27/+121
| | | | | | | FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167978 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix invalid asserts, use llvm_unreachable instead.Jakub Staszak2012-11-141-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167976 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm/test/CodeGen/X86/memset.ll: FileCheck-ize, and add another case on +avx.NAKAMURA Takumi2012-11-141-2/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167975 91177308-0d34-0410-b5e6-96231b3b80d8
* Added multiclass for post-increment load instructions.Jyotsna Verma2012-11-145-233/+216
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167974 91177308-0d34-0410-b5e6-96231b3b80d8
* Force CPU in test so we don't accidentally get AVX code on an AVX-capable host.Benjamin Kramer2012-11-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167973 91177308-0d34-0410-b5e6-96231b3b80d8
* canJoinPhys method doesn't modify CoalescerPair. Make it const.Jakub Staszak2012-11-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167972 91177308-0d34-0410-b5e6-96231b3b80d8
* Added %(line), %(line+<number>), %(line-<number>) substitutions to litAlexander Kornienko2012-11-142-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167971 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove dead code.Chad Rosier2012-11-141-13/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167970 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix comment.Jakub Staszak2012-11-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167969 91177308-0d34-0410-b5e6-96231b3b80d8