aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove all non-linker oriented compile options from the linkerEric Christopher2013-06-241-4/+3
| | | | | | | | | | | command line. Change the darwin universal binary options to be TargetCommonOpts so that they'll be passed to the linker since -arch at least is still needed. Someone on darwin with a buildit based build should probably verify that this doesn't break anything there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184793 91177308-0d34-0410-b5e6-96231b3b80d8
* 80-column and tab character fixes.Eric Christopher2013-06-243-5/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184792 91177308-0d34-0410-b5e6-96231b3b80d8
* Formatting.Eric Christopher2013-06-241-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184788 91177308-0d34-0410-b5e6-96231b3b80d8
* typo.Adrian Prantl2013-06-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184783 91177308-0d34-0410-b5e6-96231b3b80d8
* Use const references instead of pointers to references that areEric Christopher2013-06-242-21/+23
| | | | | | never modified. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184781 91177308-0d34-0410-b5e6-96231b3b80d8
* [PowerPC] Support some miscellaneous mnemonics in the asm parserUlrich Weigand2013-06-243-5/+27
| | | | | | | | | | | | | This adds support for the following extended mnemonics: xnop mr. not not. la git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184767 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a simpler version of is_regular_file.Rafael Espindola2013-06-241-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184764 91177308-0d34-0410-b5e6-96231b3b80d8
* DebugInfo: DIBuilder changes to match DIEnumerator changes in r184694David Blaikie2013-06-242-2/+2
| | | | | | | | Representing enumerators by int64 instead of uint64 for now. At some point we need to address the underlying issue of representation depending on the specific enumeration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184761 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve diagnostics when getSizeInBits is called on the Other type.Chad Rosier2013-06-241-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184760 91177308-0d34-0410-b5e6-96231b3b80d8
* PPC: Remove default case from fully covered switch.Benjamin Kramer2013-06-241-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184758 91177308-0d34-0410-b5e6-96231b3b80d8
* [PowerPC] Add some FIXMEsUlrich Weigand2013-06-241-0/+25
| | | | | | | | | A bunch of extendend mnemomics ought to support '.' forms. Add FIXMEs to the test case for those. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184757 91177308-0d34-0410-b5e6-96231b3b80d8
* R600: Fix spelling error in commentAaron Watry2013-06-241-1/+1
| | | | | | our -> or git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184756 91177308-0d34-0410-b5e6-96231b3b80d8
* [PowerPC] Add predicted forms of branchesUlrich Weigand2013-06-247-68/+1395
| | | | | | | | | | | | | | | | | | | | | | This adds support for the predicted forms of branches (+/-). There are three cases to consider: - Branches using a PPC::Predicate code For these, I've added new PPC::Predicate codes corresponding to the BO values for predicted branch forms, and updated insn printing to print them correctly. I've also added new aliases for the asm parser matching the new forms. - bt/bf I've added new aliases matching to gBC etc. - bd(n)z variants I've added new instruction patterns for the predicted forms. In all cases, the new patterns are used for the asm parser only. (The new infrastructure ought to be sufficient to allow use by the compiler too at some point.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184754 91177308-0d34-0410-b5e6-96231b3b80d8
* Move llvm/test/DebugInfo/arguments.ll to X86, for now. It is still Windows' ↵NAKAMURA Takumi2013-06-241-0/+0
| | | | | | PECOFF incompatible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184750 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename the variable to fix a warning. Thanks Andy Gibbs.Nadav Rotem2013-06-241-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184749 91177308-0d34-0410-b5e6-96231b3b80d8
* Look for Python 2 before Python 3 in CMakeLists.txtReid Kleckner2013-06-241-1/+2
| | | | | | | | | All of LLVM's Python scripts only support Python 2 for widely understood reasons. Patch by Yonggang Luo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184732 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm/test/CodeGen/X86: Add explicit -mtriple=x86_64-unknown-unknown.NAKAMURA Takumi2013-06-242-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184731 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm/test/CodeGen/X86/legalize-shift-64.ll: Add explicit ↵NAKAMURA Takumi2013-06-241-1/+1
| | | | | | -mtriple=i686-unknown-unknown. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184730 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm/test/DebugInfo/arguments.ll: Add explicit -mtriple=x86_64-unknown-unknown.NAKAMURA Takumi2013-06-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184729 91177308-0d34-0410-b5e6-96231b3b80d8
* NVPTXTargetObjectFile.h: Initialize some pointers as NULL in the constructor ↵NAKAMURA Takumi2013-06-241-1/+23
| | | | | | | | of NVPTXTargetObjectFile. ~NVPTXTargetObjectFile() tries to delete them. It caused crash on some hosts since r184595. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184728 91177308-0d34-0410-b5e6-96231b3b80d8
* [PowerPC] Add t/f branch mnemonics to asm parserUlrich Weigand2013-06-242-81/+127
| | | | | | | | | This adds the bt/bf/bd(n)zt/bd(n)zf mnemonics as aliases for the asm parser, resolving to the generic conditional patterns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184725 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply 184685 after the SetVector iteration order fix.Arnold Schwaighofer2013-06-244-234/+328
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should hopefully have fixed the stage2/stage3 miscompare on the dragonegg testers. "LoopVectorize: Use the dependence test utility class We now no longer need alias analysis - the cases that alias analysis would handle are now handled as accesses with a large dependence distance. We can now vectorize loops with simple constant dependence distances. for (i = 8; i < 256; ++i) { a[i] = a[i+4] * a[i+8]; } for (i = 8; i < 256; ++i) { a[i] = a[i-4] * a[i-8]; } We would be able to vectorize about 200 more loops (in many cases the cost model instructs us no to) in the test suite now. Results on x86-64 are a wash. I have seen one degradation in ammp. Interestingly, the function in which we now vectorize a loop is never executed so we probably see some instruction cache effects. There is a 2% improvement in h264ref. There is one or the other TSCV loop kernel that speeds up. radar://13681598" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184724 91177308-0d34-0410-b5e6-96231b3b80d8
* LoopVectorize: Use SetVector for the access setArnold Schwaighofer2013-06-241-1/+2
| | | | | | | We are creating the runtime checks using this set so we need a deterministic iteration order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184723 91177308-0d34-0410-b5e6-96231b3b80d8
* [PowerPC] Support generic conditional branches in asm parserUlrich Weigand2013-06-243-9/+84
| | | | | | | | | | | | | This adds instruction patterns to cover the generic forms of the conditional branch instructions. This allows the assembler to support the generic mnemonics. The compiler will still generate the various specific forms of the instruction that were already supported. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184722 91177308-0d34-0410-b5e6-96231b3b80d8
* [PowerPC] Support absolute branchesUlrich Weigand2013-06-2414-76/+344
| | | | | | | | | | | | | | | | | | | | There is currently only limited support for the "absolute" variants of branch instructions. This patch adds support for the absolute variants of all branches that are currently otherwise supported. This requires adding new fixup types so that the correct variant of relocation type can be selected by the object writer. While the compiler will continue to usually choose the relative branch variants, this will allow the asm parser to fully support the absolute branches, with either immediate (numerical) or symbolic target addresses. No change in code generation intended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184721 91177308-0d34-0410-b5e6-96231b3b80d8
* [PowerPC] Support bd(n)zl and bd(n)zlrlUlrich Weigand2013-06-242-4/+22
| | | | | | | | | This adds support for the bd(n)zl and bd(n)zlrl instructions. The patterns are currently used for the asm parser only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184720 91177308-0d34-0410-b5e6-96231b3b80d8
* [PowerPC] Support b(cond)l in the asm parserUlrich Weigand2013-06-242-24/+81
| | | | | | | | | This patch adds support for the conditional variants of bl. The pattern is currently used by the asm parser only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184719 91177308-0d34-0410-b5e6-96231b3b80d8
* [PowerPC] Support blrl and variants in the asm parserUlrich Weigand2013-06-242-25/+63
| | | | | | | | | This patch adds support for blrl and its conditional variants. The patterns are (currently) used for the asm parser only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184718 91177308-0d34-0410-b5e6-96231b3b80d8
* This patch introduces RegisterOperand class into Mips FPU instruction ↵Vladimir Medic2013-06-243-87/+157
| | | | | | definitions and adds dedicated parser methods to MipsAsmParser. It is the first in a series of patches that should fix the problems with parsing Mips FPU instructions and optimize the code in MipsAsmParser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184716 91177308-0d34-0410-b5e6-96231b3b80d8
* [APFloat] Removed trailing whitespace from unittests.Michael Gottesman2013-06-241-14/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184715 91177308-0d34-0410-b5e6-96231b3b80d8
* [APFloat] Added a large unittest for APFloat.add that checks that special ↵Michael Gottesman2013-06-241-0/+302
| | | | | | values are computed correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184714 91177308-0d34-0410-b5e6-96231b3b80d8
* [APFloat] Added support for parsing float strings which contain ↵Michael Gottesman2013-06-242-0/+30
| | | | | | {inf,-inf,NaN,-NaN}. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184713 91177308-0d34-0410-b5e6-96231b3b80d8
* [APFloat] Added make{Zero,Inf} methods and implemented get{Zero,Inf} on top ↵Michael Gottesman2013-06-242-2/+24
| | | | | | of them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184712 91177308-0d34-0410-b5e6-96231b3b80d8
* [APFloat] Removed a assert from significandParts() which says that one can ↵Michael Gottesman2013-06-241-2/+0
| | | | | | | | | | | | | | | | | only access the significand of FiniteNonZero/NaN floats. The method significandParts() is a helper method meant to ease access to APFloat's significand by allowing the user to not need to be aware of whether or not the APFloat is using memory allocated in the instance itself or in an external array. This assert says that one can only access the significand of FiniteNonZero/NaN floats. This makes it cumbersome and more importantly dangerous when one wishes to zero out the significand of a zero/infinity value since one will have to deal with the aforementioned quandary related to how the memory in APFloat is allocated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184711 91177308-0d34-0410-b5e6-96231b3b80d8
* [APFloat] Rename macro convolve => PackCategoriesIntoKey so that it is clear ↵Michael Gottesman2013-06-241-86/+92
| | | | | | | | | | | | what APFloat is actually using said macro for. In the context of APFloat, seeing a macro called convolve suggests that APFloat is using said value in some sort of convolution somewhere in the source code. This is misleading. I also added a documentation comment to the macro. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184710 91177308-0d34-0410-b5e6-96231b3b80d8
* Add -mcpu to some unit tests that only fail on certain hosts.Andrew Trick2013-06-247-8/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184709 91177308-0d34-0410-b5e6-96231b3b80d8
* ARM: check predicate bits for thumb instructionsAmaury de la Vieuville2013-06-243-13/+35
| | | | | | | When encoded to thumb, VFP instruction and VMOV/VDUP between scalar and core registers, must have their predicate bit to 0b1110. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184707 91177308-0d34-0410-b5e6-96231b3b80d8
* ARM: rGPR is meant to be unpredictable, not undefinedAmaury de la Vieuville2013-06-243-5/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184706 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporarily enable MI-Sched on X86.Andrew Trick2013-06-2464-258/+277
| | | | | | | Sorry for the unit test churn. I'll try to make the change permanently next time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184705 91177308-0d34-0410-b5e6-96231b3b80d8
* ARM: fix thumb1 nop decodingAmaury de la Vieuville2013-06-244-19/+4
| | | | | | | In thumb1, NOP is a pseudo-instruction equivalent to mov r8, r8. However the disassembler should not use this alias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184703 91177308-0d34-0410-b5e6-96231b3b80d8
* ARM: fix IT decodingAmaury de la Vieuville2013-06-242-6/+8
| | | | | | mask == 0 -> UNPRED git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184702 91177308-0d34-0410-b5e6-96231b3b80d8
* ARM: enable decoding of pc-relative PLD/PLIAmaury de la Vieuville2013-06-244-46/+180
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184701 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a flag to defer vectorization into a phase after the inliner and itsChandler Carruth2013-06-242-16/+67
| | | | | | | | | | | | | CGSCC pass manager. This should insulate the inlining decisions from the vectorization decisions, however it may have both compile time and code size problems so it is just an experimental option right now. Adding this based on a discussion with Arnold and it seems at least worth having this flag for us to both run some experiments to see if this strategy is workable. It may solve some of the regressions seen with the loop vectorizer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184698 91177308-0d34-0410-b5e6-96231b3b80d8
* Filter out dragonegg when checked out into a projects subdirectory.Chandler Carruth2013-06-241-0/+3
| | | | | | | | There is some hope of eventually supporting a unified build with it, but until then this lets me (and others) check it out in this location without things breaking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184697 91177308-0d34-0410-b5e6-96231b3b80d8
* DebugInfo: enumerator values returned as int64 as they are storedDavid Blaikie2013-06-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184694 91177308-0d34-0410-b5e6-96231b3b80d8
* DebugInfo: add some testing from an overly broad end-to-end test in ClangDavid Blaikie2013-06-242-37/+79
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184692 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "LoopVectorize: Use the dependence test utility class"Arnold Schwaighofer2013-06-244-328/+234
| | | | | | | | This reverts commit cbfa1ca993363ca5c4dbf6c913abc957c584cbac. We are seeing a stage2 and stage3 miscompare on some dragonegg bots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184690 91177308-0d34-0410-b5e6-96231b3b80d8
* [APFloat] Removed out of date comment from isNormal().Michael Gottesman2013-06-241-3/+0
| | | | | | | I already finished the isIEEENormal => isNormal transition. So isNormal is now IEEE-754R compliant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184687 91177308-0d34-0410-b5e6-96231b3b80d8
* [APFloat] Rename llvm::exponent_t => llvm::APFloat::ExponentType.Michael Gottesman2013-06-242-9/+9
| | | | | | | | | exponent_t is only used internally in APFloat and no exponent_t values are exposed via the APFloat API. In light of such conditions it does not make any sense to gum up the llvm namespace with said type. Plus it makes it clearer that exponent_t is associated with APFloat. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184686 91177308-0d34-0410-b5e6-96231b3b80d8
* LoopVectorize: Use the dependence test utility classArnold Schwaighofer2013-06-244-234/+328
| | | | | | | | | | | | | | | | | | | | | | | | | | | We now no longer need alias analysis - the cases that alias analysis would handle are now handled as accesses with a large dependence distance. We can now vectorize loops with simple constant dependence distances. for (i = 8; i < 256; ++i) { a[i] = a[i+4] * a[i+8]; } for (i = 8; i < 256; ++i) { a[i] = a[i-4] * a[i-8]; } We would be able to vectorize about 200 more loops (in many cases the cost model instructs us no to) in the test suite now. Results on x86-64 are a wash. I have seen one degradation in ammp. Interestingly, the function in which we now vectorize a loop is never executed so we probably see some instruction cache effects. There is a 2% improvement in h264ref. There is one or the other TSCV loop kernel that speeds up. radar://13681598 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184685 91177308-0d34-0410-b5e6-96231b3b80d8