summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAge
* Enable first-class aggregates support.Dan Gohman2008-07-23
| | | | | | | | | | | | | Remove the GetResultInst instruction. It is still accepted in LLVM assembly and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove support for return instructions with multiple values. These are auto-upgraded to use InsertValueInst instructions. The IRBuilder still accepts multiple-value returns, and auto-upgrades them to InsertValueInst instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53941 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR2485: do all 4-element SSE shuffles in max. of 2 shuffle instructions.Evan Cheng2008-07-23
| | | | | | | Based on patch by Nicolas Capens. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53939 91177308-0d34-0410-b5e6-96231b3b80d8
* LegalizeTypes support for VSETCC. Fixes PR2575.Duncan Sands2008-07-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53938 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the heuristics used in the coalescer, register allocator, and withinOwen Anderson2008-07-22
| | | | | | | | live intervals itself to use an instruction count approximation that is not affected by inserting empty indices. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53937 91177308-0d34-0410-b5e6-96231b3b80d8
* Factor out SSE 4 wide shuffle lowering code into its own function. No ↵Evan Cheng2008-07-22
| | | | | | functionality changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53933 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix pr2566: incorrect assumption about bit_convert. It doesn't not have to ↵Evan Cheng2008-07-22
| | | | | | output a vector value. Patch by Nicolas Capens! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53932 91177308-0d34-0410-b5e6-96231b3b80d8
* While creating temp. file on disk, if the current filename points to a ↵Devang Patel2008-07-22
| | | | | | existing directory then create new temp. file inside the directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53929 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR2574: implement v2f32 scalar_to_vector.Evan Cheng2008-07-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53927 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle bitcode wrappers.Devang Patel2008-07-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53924 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the GraphRoot edge look like a chain edge, which is more accurate,Dan Gohman2008-07-22
| | | | | | | | and use the right result number, in the off chance that the graph root has multiple result values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53923 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide default implementation of different small-sections related stuffAnton Korobeynikov2008-07-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53920 91177308-0d34-0410-b5e6-96231b3b80d8
* Tie small stuff to non-small by default on ELF platformsAnton Korobeynikov2008-07-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53919 91177308-0d34-0410-b5e6-96231b3b80d8
* simplified small section logic Bruno Cardoso Lopes2008-07-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53912 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix encoding of atomic compare and swap for i64Anton Korobeynikov2008-07-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53911 91177308-0d34-0410-b5e6-96231b3b80d8
* Added small section asm emition logic for mips.Bruno Cardoso Lopes2008-07-22
| | | | | | | Fixed small bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53908 91177308-0d34-0410-b5e6-96231b3b80d8
* Basic support for small sectionsBruno Cardoso Lopes2008-07-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53907 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove another tab.Bill Wendling2008-07-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53904 91177308-0d34-0410-b5e6-96231b3b80d8
* More tab removals.Bill Wendling2008-07-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53903 91177308-0d34-0410-b5e6-96231b3b80d8
* Another buildbot test commit.Bill Wendling2008-07-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53896 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in a comment.Dan Gohman2008-07-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53894 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix multiple-return-value-to-first-class-aggregates autoupgrade toDan Gohman2008-07-22
| | | | | | | | correctly handle the case where multiple-return-value constructs were used to return one or zero values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53890 91177308-0d34-0410-b5e6-96231b3b80d8
* Trivial check-in to test buildbot. No functionality change.Bill Wendling2008-07-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53889 91177308-0d34-0410-b5e6-96231b3b80d8
* InsertValue and ExtractValue constant expressions are alwaysDan Gohman2008-07-21
| | | | | | | | folded. Remove code that handled the case where they aren't folded, and remove bitcode reader/writer support for them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53887 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix grammaros in comments.Dan Gohman2008-07-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53884 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in LSR's dead-PHI cleanup. If a PHI has a def-use chain thatDan Gohman2008-07-21
| | | | | | | | | | leads into a cycle involving a different PHI, LSR got stuck running around that cycle looking for the original PHI. To avoid this, keep track of visited PHIs and stop searching if we see one more than once. This fixes PR2570. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53879 91177308-0d34-0410-b5e6-96231b3b80d8
* Enhance the GraphWriter support for edge destinations, and teach theDan Gohman2008-07-21
| | | | | | | | | SelectionDAG graph writer to make use of them. Now, nodes with multiple values are displayed as such, with incoming edges pointing to the specific value they use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53875 91177308-0d34-0410-b5e6-96231b3b80d8
* After early-lowering the FORMAL_ARGUMENTS node, delete it.Dan Gohman2008-07-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53874 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate a compilation warning.Evan Cheng2008-07-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53873 91177308-0d34-0410-b5e6-96231b3b80d8
* Add titles to the various SelectionDAG viewGraph callsDan Gohman2008-07-21
| | | | | | | | that include useful information like the name of the block being viewed and the current phase of compilation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53872 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix uses of underscore-capital names.Dan Gohman2008-07-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53870 91177308-0d34-0410-b5e6-96231b3b80d8
* Added initial support for small sections on Mips.Bruno Cardoso Lopes2008-07-21
| | | | | | | | Added gp_rel relocations to support addressing small section contents. Added command line to specify small section threshold in bytes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53869 91177308-0d34-0410-b5e6-96231b3b80d8
* Now that the MachineInstr leaks are fixed, enable leak checkingDan Gohman2008-07-21
| | | | | | | in the MachineInstr clone code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53868 91177308-0d34-0410-b5e6-96231b3b80d8
* Use better variable namesAnton Korobeynikov2008-07-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53859 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't use larger alignment.Anton Korobeynikov2008-07-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53857 91177308-0d34-0410-b5e6-96231b3b80d8
* Add VerifyNode, a place to put sanity checks onDuncan Sands2008-07-21
| | | | | | | | | | | | | generic SDNode's (nodes with their own constructors should do sanity checking in the constructor). Add sanity checks for BUILD_VECTOR and fix all the places that were producing bogus BUILD_VECTORs, as found by "make check". My favorite is the BUILD_VECTOR with only two operands that was being used to build a vector with four elements! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53850 91177308-0d34-0410-b5e6-96231b3b80d8
* Use movaps instead of movups to spill 16-byte vector values when default ↵Evan Cheng2008-07-21
| | | | | | alignment is >= 16. This fixes some massive performance regressions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53844 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r53812 -- premature. LegalizeTypes isn't actually on yet!Nick Lewycky2008-07-21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53816 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch on the use of arbitrary precision integers in scalar evolution. This willNick Lewycky2008-07-21
| | | | | | | | | | | bail after 256-bits to avoid producing code that the backends can't handle. Previously, we capped it at 64-bits, preferring to miscompile in those cases. This change also reverts much of r52248 because the invariants the code was expecting are now being met. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53812 91177308-0d34-0410-b5e6-96231b3b80d8
* This header isn't necessary now.Wojciech Matyjewicz2008-07-20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53811 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR2088. Use modulo linear equation solver to compute loop iterationWojciech Matyjewicz2008-07-20
| | | | | | | count. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53810 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix for first part of PR2562. Generate the "pinsrw" instruction for insertsBill Wendling2008-07-20
| | | | | | | into v4i16 vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53807 91177308-0d34-0410-b5e6-96231b3b80d8
* Pull r53795 from Gaz into mainline:Bill Wendling2008-07-20
| | | | | | | | | | If .loc and .file aren't used, always emit the "debug_line" section. This requires at least one entry in the line matrix. So if there's nothing to emit into the matrix, emit an end of matrix value anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53803 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak build: 'DarwinTargetAsmInfo' was already taken as PPC TAI flavour.Anton Korobeynikov2008-07-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53801 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure custom lowering for LegalizeTypesDuncan Sands2008-07-19
| | | | | | | | | | | returns a node with the right number of return values. This fixes codegen of Generic/cast-fp.ll, Generic/fp_to_int.ll and PowerPC/multiple-return-values.ll when using -march=ppc32 -mattr=+64bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53794 91177308-0d34-0410-b5e6-96231b3b80d8
* Use chars, where possibleAnton Korobeynikov2008-07-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53791 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch MIPS to new ELFTargetAsmInfo. Add few FIXMEs.Anton Korobeynikov2008-07-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53790 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a FIXME :)Anton Korobeynikov2008-07-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53789 91177308-0d34-0410-b5e6-96231b3b80d8
* Use generic ELFTargetAsmInfo and DarwinTargetAsmInfo for X86 codeAnton Korobeynikov2008-07-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53788 91177308-0d34-0410-b5e6-96231b3b80d8
* Add TargetAsmInfo stuff for all darwin-based targetsAnton Korobeynikov2008-07-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53787 91177308-0d34-0410-b5e6-96231b3b80d8
* Add TargetAsmInfo for all ELF-based targetsAnton Korobeynikov2008-07-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53786 91177308-0d34-0410-b5e6-96231b3b80d8