summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* make compose and isMoveInstr static functions.Rafael Espindola2011-06-292-16/+10
| | | | llvm-svn: 134093
* Refactor away tSpill and tRestore pseudos in ARM backend.Jim Grosbach2011-06-296-39/+9
| | | | | | | The tSpill and tRestore instructions are just copies of the tSTRspi and tLDRspi instructions, respectively. Just use those directly instead. llvm-svn: 134092
* Add a TODO for the Alpha port inline asm constraints.Eric Christopher2011-06-291-0/+2
| | | | llvm-svn: 134089
* Move Alpha from getRegClassForInlineAsmConstraint toEric Christopher2011-06-292-32/+14
| | | | | | | | getRegForInlineAsmConstraint. Part of rdar://9643582 llvm-svn: 134088
* Update comment for getRegForInlineAsmConstraint for Mips.Eric Christopher2011-06-291-3/+3
| | | | llvm-svn: 134087
* Move the Blackfin port away from getRegClassForInlineAsmConstraint byEric Christopher2011-06-293-29/+22
| | | | | | | | creating a few specific register classes. Part of rdar://9643582 llvm-svn: 134086
* Remove getRegClassForInlineAsmConstraint from MBlaze. Add a TODO commentEric Christopher2011-06-292-33/+7
| | | | | | | | for the port. Part of rdar://9643582 llvm-svn: 134085
* Remove getRegClassForInlineAsmConstraint for Mips.Eric Christopher2011-06-292-48/+3
| | | | | | Part of rdar://9643582 llvm-svn: 134084
* Remove getRegClassForInlineAsmConstraint from sparc.Eric Christopher2011-06-292-24/+0
| | | | | | Part of rdar://9643582 llvm-svn: 134083
* Move XCore from getRegClassForInlineAsmConstraint toEric Christopher2011-06-292-17/+14
| | | | | | | | getRegForInlineAsmConstraint. Part of rdar://9643582 llvm-svn: 134080
* Use getRegForInlineAsmConstraint instead of custom defining regclassesEric Christopher2011-06-292-56/+24
| | | | | | | | via vectors. Part of rdar://9643582 llvm-svn: 134079
* Add missing operand. rdar://9694169Evan Cheng2011-06-291-1/+1
| | | | llvm-svn: 134078
* Temporarily revert r134057: "Let simplify cfg simplify bb with only debug and Chad Rosier2011-06-295-68/+11
| | | | | | lifetime intrinsics" due to buildbot failures. llvm-svn: 134071
* Asm parser range checking on .<size> <value> directives.Jim Grosbach2011-06-292-3/+15
| | | | | | | | | For example, ".byte 256" would previously assert() when emitting an object file. Now it generates a diagnostic that the literal value is out of range. rdar://9686950 llvm-svn: 134069
* Don't depend on the optimization reverted in r134067.Benjamin Kramer2011-06-292-2/+0
| | | | llvm-svn: 134068
* Revert a part of r126557 which could create unschedulable DAGs.Benjamin Kramer2011-06-292-38/+0
| | | | llvm-svn: 134067
* Change AsmName's type from StringRef to std::string. AsmName was pointing to ↵Francois Pichet2011-06-291-1/+1
| | | | | | | | | a temporary string object that was destroyed. This is undefined behavior and MSVC didn't like it. This fixes over 300+ failing tests on MSVC. Credit for this fix goes to chapuni. llvm-svn: 134064
* Let simplify cfg simplify bb with only debug and lifetime intrinsics.Rafael Espindola2011-06-295-11/+68
| | | | llvm-svn: 134057
* Fix CMake build.NAKAMURA Takumi2011-06-292-1/+1
| | | | llvm-svn: 134055
* indvars -disable-iv-rewrite: just because SCEV ignores casts doesn'tAndrew Trick2011-06-292-0/+38
| | | | | | mean they can be removed. llvm-svn: 134054
* Revert r134047 while investigating a llvm-gcc-i386-linux-selfhostJakob Stoklund Olesen2011-06-293-291/+138
| | | | | | miscompile. llvm-svn: 134053
* Sink SubtargetFeature and TargetInstrItineraries (renamed ↵Evan Cheng2011-06-2923-43/+39
| | | | | | MCInstrItineraries) into MC. llvm-svn: 134049
* Trim includeEvan Cheng2011-06-291-1/+0
| | | | llvm-svn: 134048
* Rewrite RAGreedy::splitAroundRegion, now with cool ASCII art.Jakob Stoklund Olesen2011-06-293-138/+291
| | | | | | | | | | | | | | | | | | | | This function has to deal with a lot of special cases, and the old version got it wrong sometimes. In particular, it would sometimes leave multiple uses in the stack interval in a single block. That causes bad code with multiple reloads in the same basic block. The new version handles block entry and exit in a single pass. It first eliminates all the easy cases, and then goes on to create a local interval for the blocks with difficult interference. Previously, we would only create the local interval for completely isolated blocks. It can happen that the stack interval becomes completely empty because we could allocate a register in all edge bundles, and the new local intervals deal with the interference. The empty stack interval is harmless, but we need to remove a SplitKit assertion that checks for empty intervals. llvm-svn: 134047
* build/Darwin: Fix epic typo fail.Daniel Dunbar2011-06-281-1/+1
| | | | llvm-svn: 134036
* Fix a CMake warning, following up to r134008.NAKAMURA Takumi2011-06-281-1/+1
| | | | llvm-svn: 134033
* Unbreak every backend.Evan Cheng2011-06-281-1/+2
| | | | llvm-svn: 134031
* Move CallFrameSetupOpcode and CallFrameDestroyOpcode to TargetInstrInfo.Evan Cheng2011-06-2832-86/+86
| | | | llvm-svn: 134030
* Hide more details in tablegen generated MCRegisterInfo ctor function.Evan Cheng2011-06-2814-32/+20
| | | | llvm-svn: 134027
* Add MCInstrInfo registeration machinery.Evan Cheng2011-06-283-1/+77
| | | | llvm-svn: 134026
* Merge XXXGenRegisterNames.inc into XXXGenRegisterInfo.incEvan Cheng2011-06-2867-120/+165
| | | | llvm-svn: 134024
* - Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo andEvan Cheng2011-06-2877-875/+903
| | | | | | | | sink them into MC layer. - Added MCInstrInfo, which captures the tablegen generated static data. Chang TargetInstrInfo so it's based off MCInstrInfo. llvm-svn: 134021
* Clean up the handling of the x87 fp stack to make it more robust.Jakob Stoklund Olesen2011-06-287-227/+531
| | | | | | | | | | | | | | | | | | | | Drop the FpMov instructions, use plain COPY instead. Drop the FpSET/GET instruction for accessing fixed stack positions. Instead use normal COPY to/from ST registers around inline assembly, and provide a single new FpPOP_RETVAL instruction that can access the return value(s) from a call. This is still necessary since you cannot tell from the CALL instruction alone if it returns anything on the FP stack. Teach fast isel to use this. This provides a much more robust way of handling fixed stack registers - we can tolerate arbitrary FP stack instructions inserted around calls and inline assembly. Live range splitting could sometimes break x87 code by inserting spill code in unfortunate places. As a bonus we handle floating point inline assembly correctly now. llvm-svn: 134018
* Reinstate r133516 "Remove some unnecessary uses of c_str()." A trailing nullChad Rosier2011-06-281-6/+6
| | | | | | | | | character in std::string was causing failures for a few ObjC and Obj-C++ tests when -flto was enabled. Revision 133999 resolved this issue. Thanks Jay! rdar://9685235 PR10210 llvm-svn: 134017
* Remove warning: 'c0' may be used uninitialized in this function.Chad Rosier2011-06-281-1/+2
| | | | llvm-svn: 134014
* Print registers by name instead of by number.Jakob Stoklund Olesen2011-06-281-6/+7
| | | | llvm-svn: 134013
* cleanup: misleading comment.Andrew Trick2011-06-281-2/+2
| | | | llvm-svn: 134010
* cmake: Our MSVC build does not support config-time build mode.Andrew Trick2011-06-281-1/+1
| | | | llvm-svn: 134008
* Implement ISD::VAARG lowering on PPC32.Roman Divacky2011-06-282-5/+290
| | | | llvm-svn: 134005
* PR10210: New method ConstantArray::getAsCString(). Use it in LTO toJay Foad2011-06-283-9/+30
| | | | | | avoid getting embedded trailing null bytes in std::strings. llvm-svn: 133999
* FileCheckify and prepare for -disable-iv-rewrite.Andrew Trick2011-06-281-7/+11
| | | | llvm-svn: 133998
* FileCheckize a couple of tests.Jakob Stoklund Olesen2011-06-282-8/+44
| | | | | | | Also and add a test for popping dead return values and avoid testing the spill precision. llvm-svn: 133997
* Cleanup. Fix a stupid variable name.Andrew Trick2011-06-281-3/+3
| | | | llvm-svn: 133996
* Cleanup. Fix a stupid variable name.Andrew Trick2011-06-281-3/+3
| | | | llvm-svn: 133995
* SCEVExpander: give new insts a name that identifies the reponsible pass.Andrew Trick2011-06-285-9/+14
| | | | llvm-svn: 133992
* whitespaceAndrew Trick2011-06-281-8/+8
| | | | llvm-svn: 133991
* Fix typo in comment.Nick Lewycky2011-06-281-1/+1
| | | | llvm-svn: 133990
* Fix cmake build.Rafael Espindola2011-06-281-1/+1
| | | | llvm-svn: 133989
* indvars --disable-iv-rewrite: sever ties with IVUsers.Andrew Trick2011-06-282-21/+6
| | | | llvm-svn: 133988
* indvars --disable-iv-rewrite: Defer evaluating s/zext until SCEVAndrew Trick2011-06-281-40/+57
| | | | | | evaluates all other IV exprs. llvm-svn: 133982
OpenPOWER on IntegriCloud