aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Allow absolute paths in LLVM_TARGET_DEFINITIONS for CMake's TableGen ruleDouglas Gregor2010-06-171-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106219 91177308-0d34-0410-b5e6-96231b3b80d8
* Modify tablegen to support generating all NEON code used by clang at once.Nate Begeman2010-06-172-89/+135
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106207 91177308-0d34-0410-b5e6-96231b3b80d8
* Thumb1 and any pre-v6 ARM target should use the libcall expansion ofJim Grosbach2010-06-171-1/+6
| | | | | | ISD::MEMBARRIER. v7 and v7 ARM mode continue to use the custom lowering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106204 91177308-0d34-0410-b5e6-96231b3b80d8
* ISD::MEMBARRIER should lower to a libcall (__sync_synchronize) if the targetJim Grosbach2010-06-171-1/+13
| | | | | | sets the legalize action to Expand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106203 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the handling of !if result, avoiding null results for non 'int'.Bruno Cardoso Lopes2010-06-171-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106201 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify code a bit and add a more explanatory assert for cases thatJim Grosbach2010-06-171-15/+11
| | | | | | previously would result in 'cannot yet select' errors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106199 91177308-0d34-0410-b5e6-96231b3b80d8
* Add the entire range of DW_OP_lit[0..31], DW_OP_reg[0..31], and Jason Molenda2010-06-172-212/+386
| | | | | | | | | | DW_OP_breg[0..31] to Dwarf.h. Add "DW_" prefix to the llvm::dwarf::*String methods which did not already have them in Dwarf.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106197 91177308-0d34-0410-b5e6-96231b3b80d8
* Hack to let the move lowering handle dynamic-no-pic absolute moves ofEric Christopher2010-06-171-4/+15
| | | | | | | | | | | TLVP: movl _a@TLVP, %eax Daniel: Please review if you get a chance. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106194 91177308-0d34-0410-b5e6-96231b3b80d8
* Update comment.Eric Christopher2010-06-171-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106191 91177308-0d34-0410-b5e6-96231b3b80d8
* For a tablegen expression such as !if(a,b,c), let 'a'Bruno Cardoso Lopes2010-06-173-3/+17
| | | | | | | be evaluated for 'bit' operators git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106185 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the typo in my previous one-line commit.Sean Hunt2010-06-171-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106179 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure CMake can build the files added by my previous commit.Sean Hunt2010-06-161-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106178 91177308-0d34-0410-b5e6-96231b3b80d8
* Add preliminary clang attribute generation support.Sean Hunt2010-06-163-0/+147
| | | | | | | The attribute class generation support is still somewhat limited. See the accompanying clang commit for more details. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106174 91177308-0d34-0410-b5e6-96231b3b80d8
* format and 80-column cleanupJim Grosbach2010-06-161-5/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106173 91177308-0d34-0410-b5e6-96231b3b80d8
* let the '!eq' expression support 'int' and 'bit' typesBruno Cardoso Lopes2010-06-163-3/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106171 91177308-0d34-0410-b5e6-96231b3b80d8
* remove trailing whitespaceJim Grosbach2010-06-161-11/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106164 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r106117, which was the result of me misreading the C++98/03Douglas Gregor2010-06-161-1/+1
| | | | | | | specification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106162 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't attempt preserving conservative kill flags. We were doing it wrong.Jakob Stoklund Olesen2010-06-161-2/+1
| | | | | | This is before LiveVariables anyway, where these kill flags are recalculated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106157 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the hidden "neon-reg-sequence" option. The reg sequences are workingBob Wilson2010-06-164-272/+157
| | | | | | | now, so there's no need to disable them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106155 91177308-0d34-0410-b5e6-96231b3b80d8
* In progress on 32-bit addends.Eric Christopher2010-06-161-1/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106154 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow a register to be redefined multiple times in a basic block.Jakob Stoklund Olesen2010-06-162-6/+23
| | | | | | | | | | | | | | | | | | | | LiveVariableAnalysis was a bit picky about a register only being redefined once, but that really isn't necessary. Here is an example of chained INSERT_SUBREGs that we can handle now: 68 %reg1040<def> = INSERT_SUBREG %reg1040, %reg1028<kill>, 14 register: %reg1040 +[70,134:0) 76 %reg1040<def> = INSERT_SUBREG %reg1040, %reg1029<kill>, 13 register: %reg1040 replace range with [70,78:1) RESULT: %reg1040,0.000000e+00 = [70,78:1)[78,134:0) 0@78-(134) 1@70-(78) 84 %reg1040<def> = INSERT_SUBREG %reg1040, %reg1030<kill>, 12 register: %reg1040 replace range with [78,86:2) RESULT: %reg1040,0.000000e+00 = [70,78:1)[78,86:2)[86,134:0) 0@86-(134) 1@70-(78) 2@78-(86) 92 %reg1040<def> = INSERT_SUBREG %reg1040, %reg1031<kill>, 11 register: %reg1040 replace range with [86,94:3) RESULT: %reg1040,0.000000e+00 = [70,78:1)[78,86:2)[86,94:3)[94,134:0) 0@94-(134) 1@70-(78) 2@78-(86) 3@86-(94) rdar://problem/8096390 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106152 91177308-0d34-0410-b5e6-96231b3b80d8
* A few more places where SCEVExpander bits need to skip over debug intrinsicsJim Grosbach2010-06-161-3/+4
| | | | | | when iterating through instructions. Yet more work for rdar://7797940 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106149 91177308-0d34-0410-b5e6-96231b3b80d8
* modify so the test doesn't drop an output file in the test source directory.Jim Grosbach2010-06-161-1/+1
| | | | | | | The test should also likely have some FileCheck bits to validate the output(?). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106146 91177308-0d34-0410-b5e6-96231b3b80d8
* MC/Mach-O: Rewrite atom association to be a final pass we do in Finish(), ↵Daniel Dunbar2010-06-161-33/+46
| | | | | | | | instead of tracking as part of emission. - This allows sharing more code with the MCObjectStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106143 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Simplify MCAssembler::isSymbolLinkerVisible to only take an MCSymbol.Daniel Dunbar2010-06-164-11/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106142 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Lift SwitchSection() and Finish() into MCObjectStreamer.Daniel Dunbar2010-06-163-42/+51
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106141 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Factor out an MCObjectStreamer class, which will be shared by the concreteDaniel Dunbar2010-06-164-29/+94
| | | | | | object file format writers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106140 91177308-0d34-0410-b5e6-96231b3b80d8
* Be specific. Use FileCheck.Devang Patel2010-06-161-3/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106135 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure that simplify libcalls does not replace a call with one callingRafael Espindola2010-06-162-0/+21
| | | | | | convention with a new call with a different calling convention. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106134 91177308-0d34-0410-b5e6-96231b3b80d8
* add FIXMEJim Grosbach2010-06-161-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106126 91177308-0d34-0410-b5e6-96231b3b80d8
* This requires more investigation. Unblock buildbots for now.Devang Patel2010-06-161-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106122 91177308-0d34-0410-b5e6-96231b3b80d8
* Update test to explicitly capture llc output.Devang Patel2010-06-161-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106121 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve comment to include that the use of a preg is also verboten in this ↵Bill Wendling2010-06-161-3/+4
| | | | | | situation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106119 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate a redundant "typename" keywordDouglas Gregor2010-06-161-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106117 91177308-0d34-0410-b5e6-96231b3b80d8
* TODO--Benjamin Kramer2010-06-161-27/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106102 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify-libcalls: fold strncmp(x, y, 1) -> memcmp(x, y, 1)Benjamin Kramer2010-06-162-0/+10
| | | | | | | | The memcmp will be optimized further and even the pathological case 'strstr(x, "x") == x' generates optimal code now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106097 91177308-0d34-0410-b5e6-96231b3b80d8
* Make post-ra scheduling, anti-dep breaking, and register scavenger ↵Evan Cheng2010-06-1611-95/+274
| | | | | | (conservatively) aware of predicated instructions. This enables ARM to move if-conversion before post-ra scheduler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106091 91177308-0d34-0410-b5e6-96231b3b80d8
* Check function pointer first, before comparing function names.Devang Patel2010-06-161-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106088 91177308-0d34-0410-b5e6-96231b3b80d8
* Use separate named MDNode to hold each function's local variable info.Devang Patel2010-06-164-4/+17
| | | | | | | This speeds up local variable handling in DwarfDebug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106075 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't emit the linkage for initializer label for mach-o tls.Eric Christopher2010-06-161-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106073 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix indentation.Eric Christopher2010-06-161-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106072 91177308-0d34-0410-b5e6-96231b3b80d8
* Create a more targeted fix for not sinking instructions into a range where itBill Wendling2010-06-153-56/+30
| | | | | | | | | | will conflict with another live range. The place which creates this scenerio is the code in X86 that lowers a select instruction by splitting the MBBs. This eliminates the need to check from the bottom up in an MBB for live pregs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106066 91177308-0d34-0410-b5e6-96231b3b80d8
* For 32-bit non-pic tlv mach-o addressing we don't need a pic base orEric Christopher2010-06-151-0/+9
| | | | | | | a relative address. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106064 91177308-0d34-0410-b5e6-96231b3b80d8
* Added a comment.Stuart Hastings2010-06-151-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106063 91177308-0d34-0410-b5e6-96231b3b80d8
* Some more work on mach-o TLV relocations.Eric Christopher2010-06-151-0/+38
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106062 91177308-0d34-0410-b5e6-96231b3b80d8
* Add file missing from previous commit.Dale Johannesen2010-06-151-6/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106058 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix 80col violations, remove trailing whitespace, and clarify a comment.Bob Wilson2010-06-151-14/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106057 91177308-0d34-0410-b5e6-96231b3b80d8
* Update test to match recent llvm-gcc change.Rafael Espindola2010-06-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106056 91177308-0d34-0410-b5e6-96231b3b80d8
* Make VC++ happy Nate Begeman2010-06-151-11/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106054 91177308-0d34-0410-b5e6-96231b3b80d8
* Next round of tail call changes. Register used in a tailDale Johannesen2010-06-158-23/+110
| | | | | | | | | | call must not be callee-saved; following x86, add a new regclass to represent this. Also fixes a couple of bugs. Still disabled by default; Thumb doesn't work yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106053 91177308-0d34-0410-b5e6-96231b3b80d8