aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Simplify this code to not depend as much on CurMBB.Dan Gohman2009-08-151-16/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79068 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not use frame register to reference fixed stack objects if the function ↵Evan Cheng2009-08-152-13/+14
| | | | | | is frameless. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79067 91177308-0d34-0410-b5e6-96231b3b80d8
* Always check to see if raw_fd_ostream's file descriptor is attached toDan Gohman2009-08-151-13/+16
| | | | | | | a terminal, not just when it's STDOUT_FILENO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79066 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for column computation on unbuffered streams.Dan Gohman2009-08-151-15/+38
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79065 91177308-0d34-0410-b5e6-96231b3b80d8
* Move FormattedStream's write_impl out of line.Dan Gohman2009-08-152-5/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79064 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove an unnecessary #include.Dan Gohman2009-08-151-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79063 91177308-0d34-0410-b5e6-96231b3b80d8
* switch DominanceFrontier::splitBlock to use a smallvector forChris Lattner2009-08-151-2/+2
| | | | | | | the pred list instead of a vector, saving a boat load of malloc/free's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79062 91177308-0d34-0410-b5e6-96231b3b80d8
* On x86-64, for a varargs function, don't store the xmm registers toDan Gohman2009-08-154-18/+146
| | | | | | | | the register save area if %al is 0. This avoids touching xmm regsiters when they aren't actually used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79061 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not completely skip subrange info for a zero sized array.Devang Patel2009-08-141-6/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79044 91177308-0d34-0410-b5e6-96231b3b80d8
* Leaf functions which do not save CSRs can be frameless even with ↵Evan Cheng2009-08-143-1/+16
| | | | | | -disable-fp-elim. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79039 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Updated library dependence info.Oscar Fuentes2009-08-141-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79038 91177308-0d34-0410-b5e6-96231b3b80d8
* Add sse4.2 string/text processing intrinsics. We'll select these later.Eric Christopher2009-08-141-0/+67
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79037 91177308-0d34-0410-b5e6-96231b3b80d8
* Whitespace cleanup.Eric Christopher2009-08-142-18/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79036 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow targets to specify their choice of calling conventions perAnton Korobeynikov2009-08-147-6/+44
| | | | | | | | | | libcall. Take advantage of this in the ARM backend to rectify broken choice of CC when hard float is in effect. PIC16 may want to see if it could be of use in MakePIC16Libcall, which works unchanged. Patch by Sandeep! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79033 91177308-0d34-0410-b5e6-96231b3b80d8
* Add Thumb2 lsr hooks.Evan Cheng2009-08-142-36/+106
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79032 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Fix bugs where bytes were unintentionally being printed as signed.Daniel Dunbar2009-08-142-2/+3
| | | | | | | | - We now print all of 403.gcc cleanly (llvm-mc -> 'as' as diffed to 'as'), minus two 'rep;movsl' instructions (which I missed before). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79031 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Corrected variable check.Oscar Fuentes2009-08-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79030 91177308-0d34-0410-b5e6-96231b3b80d8
* *try* to use a better name to describe how common symbols are marked on the ↵Bruno Cardoso Lopes2009-08-143-5/+9
| | | | | | elf object file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79029 91177308-0d34-0410-b5e6-96231b3b80d8
* Add doxygen comments.Owen Anderson2009-08-141-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79027 91177308-0d34-0410-b5e6-96231b3b80d8
* 80 col violation.Evan Cheng2009-08-141-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79026 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: When handling a .set, make sure to print subsequent references to theDaniel Dunbar2009-08-142-4/+17
| | | | | | | | | symbol as the symbol name itself, not the expression it was defined to. These have different semantics due to the quirky .set behavior (which absolutizes an expression that would otherwise be treated as a relocation). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79025 91177308-0d34-0410-b5e6-96231b3b80d8
* Cleanup the mess in msp430 target registration and hopefully unbreak the buildAnton Korobeynikov2009-08-142-5/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79024 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r78424.Argyrios Kyrtzidis2009-08-141-7/+4
| | | | | | | In order for the changes in r78424 to work properly, cast_retty<X,Y> should return an object instead of a reference, and it's not clear that this approach has real advantages. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79023 91177308-0d34-0410-b5e6-96231b3b80d8
* Indentation.Evan Cheng2009-08-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79022 91177308-0d34-0410-b5e6-96231b3b80d8
* Force reconfigureAnton Korobeynikov2009-08-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79019 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: zerofill shouldn't print quotes around the section,segment.Daniel Dunbar2009-08-142-5/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79017 91177308-0d34-0410-b5e6-96231b3b80d8
* fix "pc" to be lower case in a target triple, patch by Yonggang LuoChris Lattner2009-08-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79016 91177308-0d34-0410-b5e6-96231b3b80d8
* Hopefully unbreak cmake buildsAnton Korobeynikov2009-08-141-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79015 91177308-0d34-0410-b5e6-96231b3b80d8
* Also shrink immediate branches; also more assembler workarounds.Evan Cheng2009-08-144-17/+136
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79014 91177308-0d34-0410-b5e6-96231b3b80d8
* Give MSP430 a separate asmprinter libAnton Korobeynikov2009-08-144-2/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79012 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Support escaped characters in string literals (for .ascii and .asciz)Daniel Dunbar2009-08-143-7/+93
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79010 91177308-0d34-0410-b5e6-96231b3b80d8
* Properly handle indirect win64 args when they're passed in memoryAnton Korobeynikov2009-08-142-2/+67
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79009 91177308-0d34-0410-b5e6-96231b3b80d8
* Get the CPP backend into some semblance of working by updating for numerous ↵Owen Anderson2009-08-141-10/+14
| | | | | | | | | LLVMContext changes, as well as the StringRef change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79006 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Automatic regeneration of the library dependencies file.Oscar Fuentes2009-08-143-26/+49
| | | | | | | | | | | | It doesn't stop or reconfigure the build, though, so the user will see a broken build that magically succeeds at the next attempt. It is technically possible to halt the build with a helpful message, and even to automatically restart the build using the new dependencies as it we did when llvm-config was used by cmake for learning dependencies. This is left on the TODO list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79004 91177308-0d34-0410-b5e6-96231b3b80d8
* Take another shot at disabling this when no ppc support is available.Daniel Dunbar2009-08-141-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79003 91177308-0d34-0410-b5e6-96231b3b80d8
* A couple IRBuilder functions were still using getGlobalContext().Erick Tryzelaar2009-08-141-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78997 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Builds main LLVM Target library before its sublibraries. ThisOscar Fuentes2009-08-142-0/+9
| | | | | | | | way we ensure that tablegenned files exist before they are #include'd by the LLVM Target sublibraries. Required for parallel builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78996 91177308-0d34-0410-b5e6-96231b3b80d8
* Now that all the legal Neon shuffles (or at least the ones that have beenBob Wilson2009-08-141-1/+1
| | | | | | | | implemented so far) are recognized during legalization, it is easy to fall back to the default expansion for other shuffles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78995 91177308-0d34-0410-b5e6-96231b3b80d8
* Create a new ARM-specific DAG node, VDUP, to represent a splat from aBob Wilson2009-08-143-26/+19
| | | | | | | | scalar_to_vector. Generate these VDUP nodes during legalization instead of trying to recognize the pattern during selection. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78994 91177308-0d34-0410-b5e6-96231b3b80d8
* During legalization, change Neon vdup_lane operations from shuffles toBob Wilson2009-08-144-61/+33
| | | | | | | | | target-specific VDUPLANE nodes. This allows the subreg handling for the quad-register version to be done easily with Pats in the .td file, instead of with custom code in ARMISelDAGToDAG.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78993 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Corrected indentation on a block of code.Oscar Fuentes2009-08-141-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78992 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Use LLVM_COMMON_DEPENDS on add_llvm_executable.Oscar Fuentes2009-08-141-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78990 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: propagate to the parent scope LLVM_COMMON_DEPENDS. This isOscar Fuentes2009-08-142-0/+4
| | | | | | | necessary for the changes being effective on the successive targets git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78989 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: updated list of source files for library MC.Oscar Fuentes2009-08-141-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78988 91177308-0d34-0410-b5e6-96231b3b80d8
* Update llvm-mc / MCAsmStreamer to print the instruction using the actual targetDaniel Dunbar2009-08-147-110/+133
| | | | | | | | | | | | specific printer (this only works on x86, for now). - This makes it possible to do some correctness checking of the parsing and matching, since we can compare the results of 'as' on the original input, to those of 'as' on the output from llvm-mc. - In theory, we could now have an easy ATT -> Intel syntax converter. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78986 91177308-0d34-0410-b5e6-96231b3b80d8
* Add virtual printMCInst method to AsmPrinter, as a quick way to expose the APIDaniel Dunbar2009-08-143-0/+12
| | | | | | | to print one instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78985 91177308-0d34-0410-b5e6-96231b3b80d8
* Add X86 instruction printer support for printing MCValue operands.Daniel Dunbar2009-08-141-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78984 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MCSymbol::{print, dump}Daniel Dunbar2009-08-143-3/+63
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78983 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MCValue::{print, dump}Daniel Dunbar2009-08-142-0/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78982 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Move MCAsmToken::getLoc() into MC library where it belongs.Daniel Dunbar2009-08-142-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78980 91177308-0d34-0410-b5e6-96231b3b80d8