mirror of
https://github.com/Cisco-Talos/clamav.git
synced 2026-02-06 21:11:38 -05:00
c19477ec23b955d70f7fe71a00a01e203bf5ea09
3 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
f578257021 |
Merge LLVM upstream SVN r94539.
Squashed commit of the following: commit 4d555935ac5c77164d9af2494f470abdb542a434 Author: Duncan Sands <baldrick@free.fr> Date: Tue Jan 26 11:58:04 2010 +0000 Tweak the way appendModuleInlineAsm works, so you aren't obliged to append a newline when using setModuleInlineAsm in case later someone calls appendModuleInlineAsm - make newline handling fully automatic. In case anyone is wondering there is only one user of appendModuleInlineAsm: the dragonegg plugin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94539 91177308-0d34-0410-b5e6-96231b3b80d8 commit 16cc9fd0863e778a34ef4559180f059224d2e78b Author: Edwin Török <edwintorok@gmail.com> Date: Tue Jan 26 08:50:50 2010 +0000 Regenerate configure. With the previous cleanup to configure.ac, configure is now only 393k, instead of 1.1M! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94535 91177308-0d34-0410-b5e6-96231b3b80d8 commit 239f981ac0b583f113a8c6ffcf51002b1dc5994c Author: Edwin Török <edwintorok@gmail.com> Date: Tue Jan 26 08:48:04 2010 +0000 Remove unneeded checks from configure.ac. HAVE_{BI,STD,FWD}_ITERATOR and HAVE_NAMESPACES were not used in the code. bison and flex are no longer used. CAN_DLOPEN_SELF was never used either. AC_PROG_LIBTOOL is not needed since we don't use libtool, we only need the libltdl checks for dlopen. Add check for AR, it used to be done by AC_PROG_LIBTOOL. AC_TYPE_SIGNAL is deprecated, follow autoupdate's suggestion and replace with void. Remove unused m4 files. Configure can now be generated using autoconf 2.65 too, without any warnings! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94534 91177308-0d34-0410-b5e6-96231b3b80d8 commit ad97ab8596f7ffb831e6b494ceb735d0a0ef0286 Author: Edwin Török <edwintorok@gmail.com> Date: Tue Jan 26 08:43:05 2010 +0000 Fix autoconf 2.65 warning (don't use _cv_ inside AC_CACHE_VAL). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94533 91177308-0d34-0410-b5e6-96231b3b80d8 commit 708db218ba4afbd6c96c7648dda80f4b20185d19 Author: Bill Wendling <isanbard@gmail.com> Date: Tue Jan 26 08:27:24 2010 +0000 Remove warning about non return on a non-void function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94532 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56178773f3fa4ba2a3f0c0286cb42eaeeb9ba049 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 26 06:53:37 2010 +0000 eliminate the TargetLowering::UsesGlobalOffsetTable bool, which is subsumed by TargetLowering::getJumpTableEncoding(). Change uses of it to be more specific. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94529 91177308-0d34-0410-b5e6-96231b3b80d8 commit ab9d79bdabd469ecd40d76f77cb9e391e052115a Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 26 06:42:44 2010 +0000 Now that printPICJumpTableSetLabel is not overloaded, inline it into its only caller, allowing us to simplify it and hoist bits out of the loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94528 91177308-0d34-0410-b5e6-96231b3b80d8 commit 576b9165cf59ce6b435defb6718b31d7a501615e Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 26 06:28:43 2010 +0000 Move getJTISymbol from MachineJumpTableInfo to MachineFunction, which is more convenient, and change getPICJumpTableRelocBaseExpr to take a MachineFunction to match. Next, move the X86 code that create a PICBase symbol to X86TargetLowering::getPICBaseSymbol from X86MCInstLower::GetPICBaseSymbol, which was an asmprinter specific library. This eliminates a 'gross hack', and allows us to implement X86ISelLowering::getPICJumpTableRelocBaseExpr which now calls it. This in turn allows us to eliminate the X86AsmPrinter::printPICJumpTableSetLabel method, which was the only overload of printPICJumpTableSetLabel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94526 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7ab57e0e40914ec7c9da51dc7af422a9bb4742d2 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 26 05:58:28 2010 +0000 add a new MachineJumpTableInfo::getJTISymbol method, use it to implement the default TargetLowering::getPICJumpTableRelocBaseExpr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94523 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2ae50d6c969ea5319b4ac36a92f6ae3bb2db9510 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 26 05:30:30 2010 +0000 stub out a new target hook, need some refactoring before I can implement it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94521 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5edab094dc771c2ea605feefa4168589c1703b50 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 26 05:15:20 2010 +0000 simplify asmprinter: only emit .set directives when entries have EK_LabelDifference32 kind and the target has .set support. Simplify X86AsmPrinter::printPICJumpTableSetLabel to make use of recent helpers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94518 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9dd8c76971b200d5e6da9b582322fa6b4ee03fc9 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 26 05:10:10 2010 +0000 rename printPICJumpTableEntry -> EmitJumpTableEntry, make it private and non-virtual. It handles the non-pic case too, so just use it, simplifying EmitJumpTableInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94517 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5ed376c1534bd482cae00ca58365945a5c595d06 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 26 05:02:42 2010 +0000 implement X86 @GOTOFF jump table entries with the new EK_Custom32 jump table entry kind, instead of overloading AsmPrinter::printPICJumpTableEntry. This has a pretty horrible and inefficient FIXME around how @GOTOFF is currently smashed into the mcsymbol name, but otherwise this is much cleaner. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94516 91177308-0d34-0410-b5e6-96231b3b80d8 commit 92baedd90eca87c18f5734141f68123843bf94af Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 26 04:55:51 2010 +0000 add a new MachineBasicBlock::getSymbol method, replacing the AsmPrinter::GetMBBSymbol. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94515 91177308-0d34-0410-b5e6-96231b3b80d8 commit c240962977fb769c537028a4a033e509b61b2b5f Author: Lang Hames <lhames@gmail.com> Date: Tue Jan 26 04:49:58 2010 +0000 New PBQP solver. * Fixed a reduction bug which occasionally led to infinite-cost (invalid) register allocation solutions despite the existence finite-cost solutions. * Significantly reduced memory usage (>50% reduction). * Simplified a lot of the solver code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94514 91177308-0d34-0410-b5e6-96231b3b80d8 commit 52ec98318a4a336d37048613565c031a0cb1dc5f Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 26 04:40:18 2010 +0000 Fix the the ceiling-division used in computing the MaxBECount so that it doesn't have trouble with an intermediate add overflowing. Also, be more conservative about the case where the induction variable in an SLT loop exit can step past the RHS of the SLT and overflow in a single step. Make getSignedRange more aggressive, to recover for some common cases which the above fixes pessimized. This addresses rdar://7561161. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94512 91177308-0d34-0410-b5e6-96231b3b80d8 commit 87c00880896deb3d3c7e0cc11954fecc5cf7c75e Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 26 04:38:11 2010 +0000 don't bother setting the AsmPrinter::MF ivar, now that AsmPrinter::SetupMachineFunction sets it. Note that systemz and msp430 didn't. Yay for reduced inconsistency! :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94510 91177308-0d34-0410-b5e6-96231b3b80d8 commit b73ec923cd277bd24bff2d81c4b29b4a7661f344 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 26 04:35:26 2010 +0000 make MachineFunction keep track of its ID and make MachineFunctionAnalysis dole them out, instead of having AsmPrinter do both. Have the AsmPrinter::SetupMachineFunction method set the 'AsmPrinter::MF' variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94509 91177308-0d34-0410-b5e6-96231b3b80d8 commit 451d50e0b00fecc00fcb8657552384f318055ae2 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 26 04:19:00 2010 +0000 this hook should be const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94508 91177308-0d34-0410-b5e6-96231b3b80d8 commit fd665558f42e47780aff6e3a4555e00d1789e064 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 26 04:13:15 2010 +0000 Add a comment about a missed opportunity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94507 91177308-0d34-0410-b5e6-96231b3b80d8 commit c1a154b0075a9f31b1850e26ff4f9462484756f7 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 26 04:12:55 2010 +0000 Print empty and full sets specially. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94506 91177308-0d34-0410-b5e6-96231b3b80d8 commit 98639cc055c3420fc68e8cbe308b4c9070c58bd5 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 26 04:05:28 2010 +0000 Add support for target-specific 32-bit custom-lowered jump table entries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94505 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd80b5194431e0ce5b27852dc72c695ad4f7d5a7 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Jan 26 03:56:22 2010 +0000 Unbreak MSVC/CMake build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94502 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce044b9c7e5dc2c587984ad10fa7b5ed3e31fa82 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 26 03:47:15 2010 +0000 make jit jump table emission be based on the EntryKind instead of magic variables. JITInfo::getPICJumpTableEntry can probably be removed now, but I don't plan to do this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94501 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3ff0256e58dc792e6b1a99ae095326f06764e44c Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 26 03:43:22 2010 +0000 switch jump table entry emission to be based on EntryKind instead of magic variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94500 91177308-0d34-0410-b5e6-96231b3b80d8 commit e7829479065b2c9e3593040f3ea9eb731fa505a5 Author: Victor Hernandez <vhernandez@apple.com> Date: Tue Jan 26 02:42:15 2010 +0000 In mem2reg, for all alloca/stores that get promoted where the alloca has an associated llvm.dbg.declare instrinsic, insert an llvm.dbg.var intrinsic before each store. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94493 91177308-0d34-0410-b5e6-96231b3b80d8 commit 772e788108793a13d4c154974d151e9755b09373 Author: Victor Hernandez <vhernandez@apple.com> Date: Tue Jan 26 02:36:35 2010 +0000 Add MDNode::getIfExists(), an efficient way to determine if a value is used by metadata (since metadata does not appear in a value's use list) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94492 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2bdbbc8c8bd9261fce6c90f6546fca5e743f071b Author: Victor Hernandez <vhernandez@apple.com> Date: Tue Jan 26 02:07:38 2010 +0000 Assert when debug intrinsic insert functions are passed empty arguments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94491 91177308-0d34-0410-b5e6-96231b3b80d8 commit 35442a5bd501a65850e46ab87e77a0bf254227ef Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Jan 26 02:00:44 2010 +0000 Implement cond ? -1 : 0 with sbb. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94490 91177308-0d34-0410-b5e6-96231b3b80d8 commit 91945aed6441c5fee15f0b4da9f74ff5fdb161b4 Author: Dale Johannesen <dalej@apple.com> Date: Tue Jan 26 01:54:26 2010 +0000 Accept immediate as value of a dbg_value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94489 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2798a565988f04b8e8e9b385ce7a1a9a671dc747 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Jan 26 01:26:46 2010 +0000 Re-enable unit tests disabled in r94164 by telling GTest about the lack of RTTI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94484 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4eac23ed3a3dcf627e2b346bbadb6e6acd05eb12 Author: Sean Callanan <scallanan@apple.com> Date: Tue Jan 26 01:00:10 2010 +0000 Added the implementation of the Intel-specific TargetAsmLexer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94482 91177308-0d34-0410-b5e6-96231b3b80d8 commit bfe2023a6987b4201e612b8b787cbb40b4b29e7d Author: Dale Johannesen <dalej@apple.com> Date: Tue Jan 26 00:09:58 2010 +0000 Generate DEBUG_VALUE comments on x86. The (limited) dbg.declare's we currently generate go through both register allocators without perturbing the results. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94480 91177308-0d34-0410-b5e6-96231b3b80d8 commit 38465e0f8e0ce74d6a4721e4d667194e4ee3ee6c Author: Sean Callanan <scallanan@apple.com> Date: Tue Jan 26 00:08:25 2010 +0000 Added the TargetAsmLexer implementation for AT&T syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94479 91177308-0d34-0410-b5e6-96231b3b80d8 commit 21cf5dc841bfce418403b3909f5ab8c9e6087b9a Author: Dale Johannesen <dalej@apple.com> Date: Tue Jan 26 00:03:12 2010 +0000 use findDebugLoc in more places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94477 91177308-0d34-0410-b5e6-96231b3b80d8 commit 23703f10f4ee82ce35381cb63a06300ced4e98d7 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Jan 25 23:50:13 2010 +0000 Minor jump table cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94475 91177308-0d34-0410-b5e6-96231b3b80d8 commit f51056a64833520d9a19dd4e66d439622e3a7794 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 23:38:14 2010 +0000 in 32-bit pic mode for targets with a GOT, x86 emits jump table entries with @GOTOFF whih is EK_GPRel32BlockAddress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94474 91177308-0d34-0410-b5e6-96231b3b80d8 commit 02f40bc55023ba2181ecb32aeb8d0c265624d176 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 23:28:03 2010 +0000 fix quoting problem jim noticed! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94472 91177308-0d34-0410-b5e6-96231b3b80d8 commit f64ffc4e7521176024d0c53f2e3a702c6de98133 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 23:26:13 2010 +0000 Rearrange handling of jump tables. Highlights: 1. MachineJumpTableInfo is now created lazily for a function the first time it actually makes a jump table instead of for every function. 2. The encoding of jump table entries is now described by the MachineJumpTableInfo::JTEntryKind enum. This enum is determined by the TLI::getJumpTableEncoding() hook, instead of by lots of code scattered throughout the compiler that "knows" that jump table entries are always 32-bits in pic mode (for example). 3. The size and alignment of jump table entries is now calculated based on their kind, instead of at machinefunction creation time. Future work includes using the EntryKind in more places in the compiler, eliminating other logic that "knows" the layout of jump tables in various situations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94470 91177308-0d34-0410-b5e6-96231b3b80d8 commit cfe7b7a54a60a928e30896b5a21233fa0cbca0a4 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 23:22:00 2010 +0000 prep work to support a future where getJumpTableInfo will return a null pointer for functions with no jump tables. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94469 91177308-0d34-0410-b5e6-96231b3b80d8 commit b5badd6703d1f8fc552f45023ba10dec5e6d9b0a Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 23:18:11 2010 +0000 add a method to get the alignment of an integer type even when we don't have one laying around. Useful if you don't have an llvmcontext handy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94468 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8c6e446caaa411d8f44f2abe82c5d0b39118f79a Author: Johnny Chen <johnny.chen@apple.com> Date: Mon Jan 25 22:54:29 2010 +0000 Make it SP, LR, PC for GPR Register Class instead of LR, SP, PC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94465 91177308-0d34-0410-b5e6-96231b3b80d8 commit 43b18d3c46b16a3d07cb6ae9856439af29626749 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 22:41:33 2010 +0000 eliminate redundant argument to EmitJumpTableInfo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94464 91177308-0d34-0410-b5e6-96231b3b80d8 commit ba0c53b5194a4a00042844d89815229ffcae3ada Author: Johnny Chen <johnny.chen@apple.com> Date: Mon Jan 25 22:13:10 2010 +0000 Implemented ARMInstPrinter::printThumbS4ImmOperand(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94457 91177308-0d34-0410-b5e6-96231b3b80d8 commit dfceef4d7c86e1faff86b76962fd49cbf69748db Author: Sean Callanan <scallanan@apple.com> Date: Mon Jan 25 21:59:20 2010 +0000 Implemented the dialect decision logic for the X86 TargetAsmLexer. Dialect-specific lexing code will be placed in the functions LexTokenATT() and LexTokenIntel(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94456 91177308-0d34-0410-b5e6-96231b3b80d8 commit da756cedbd90c7c5c4cb88ce020567a2980d93d4 Author: Johnny Chen <johnny.chen@apple.com> Date: Mon Jan 25 21:56:35 2010 +0000 Fixed the order of GPR RegisterClass regs to be: ..., R10, R11, R12, ... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94455 91177308-0d34-0410-b5e6-96231b3b80d8 commit f995e69497f878e241907c577840be9a4001517d Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 25 21:55:39 2010 +0000 Fix the bitcode reader to deserialize nuw/nsw/etc. bits properly in the case of a forward-reference, which doesn't use an "abbrev" encoding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94454 91177308-0d34-0410-b5e6-96231b3b80d8 commit dc57be1812ac38d5966a819ad4ed495c074a7795 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 21:28:50 2010 +0000 mcstreamerize gprel32 emission. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94452 91177308-0d34-0410-b5e6-96231b3b80d8 commit e45fe963cf0ac976f60815cecbb5fa7816c32aa1 Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Jan 25 21:28:05 2010 +0000 Remove check for an impossible condition: the condition of the while loop has already checked that TmpBB->getSinglePredecessor() is non-null. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94451 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7db595672d1825bc31a0bd3cf9258cbdbe233601 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 21:22:22 2010 +0000 mcize the non-gprel cases of AsmPrinter::printPICJumpTableEntry git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94450 91177308-0d34-0410-b5e6-96231b3b80d8 commit 72d7c91660fc92b769b87c3464c038e1e1ff2ded Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 21:17:10 2010 +0000 handle the _set_ symbol with an MCSymbol. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94449 91177308-0d34-0410-b5e6-96231b3b80d8 commit 75bd561e510de2d6376a8573fcbcaabf0e1f8b9f Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 21:10:10 2010 +0000 rename MAI::PICJumpTableDirective to MAI::GPRel32Directive to make it clear what it is, instead of how it is used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94448 91177308-0d34-0410-b5e6-96231b3b80d8 commit c50dd923eb17911f40d1a354c08b2d3e45cb5316 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 21:01:58 2010 +0000 pull the non-pic jump table case out of printPICJumpTableEntry and MCize the non-pic case. Now printPICJumpTableEntry really is just about printing PIC entries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94446 91177308-0d34-0410-b5e6-96231b3b80d8 commit cffc498b7b150de1d0d48a56a57550609ab61e4a Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 20:52:54 2010 +0000 remove JumpTableDirective, it is always null. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94445 91177308-0d34-0410-b5e6-96231b3b80d8 commit 98e00c465b19ccdcf0ad3ff2bb1919d190b4945c Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 20:37:36 2010 +0000 no need to implement these. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94443 91177308-0d34-0410-b5e6-96231b3b80d8 commit 010d3c27b44c66695ad2c967722fa39c7dc454c4 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 19:51:38 2010 +0000 mcize jump table symbol manipulation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94441 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8a81c36e4a0786baacf13b1744d3aaebc9baed0 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 19:39:52 2010 +0000 sink an arm specific method out of asmprinter into the ARMAsmPrinter and rename it to avoid shadowing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94440 91177308-0d34-0410-b5e6-96231b3b80d8 commit 758f781239b7876a4589e4a8ea8486400cfc02d5 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 19:23:04 2010 +0000 remove dead code: the x86 target never sets usesGlobalOffsetTable, even on x86-32/elf which uses a GOT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94439 91177308-0d34-0410-b5e6-96231b3b80d8 commit be8c61a305dd714126a1dd308024b765a5e5de15 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 19:02:58 2010 +0000 wirte up .file and .file to the mc asmparser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94438 91177308-0d34-0410-b5e6-96231b3b80d8 commit eaf065b751af99a0cc1fdc304e9118e9b8f7906f Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 18:58:59 2010 +0000 mcstreamerize .file and .file. This also fixes an issue where the normal form of .file would fail if the filename had a weird character in it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94437 91177308-0d34-0410-b5e6-96231b3b80d8 commit f20ca12ef34f3e557241346f0db15bfa93ef989e Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 18:33:40 2010 +0000 emit ELF .type directives through MCStreamer instead of doing it textually. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94436 91177308-0d34-0410-b5e6-96231b3b80d8 commit 82ede98c5928c480b7b8d2d79b481c936fba99cd Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 18:30:45 2010 +0000 add symbol attribute support for the ELF .type directive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94435 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0b3d624c931bc42d3aadbb505b81b91498ce4b1c Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Jan 25 18:26:54 2010 +0000 Change Value::getUnderlyingObject to have the MaxLookup value specified as a parameter with a default value, instead of just hardcoding it in the implementation. The limit of MaxLookup = 6 was introduced in r69151 to fix a performance problem with O(n^2) behavior in instcombine, but the scalarrepl pass is relying on getUnderlyingObject to go all the way back to an AllocaInst. Making the limit part of the method signature makes it clear that by default the result is limited and should help avoid similar problems in the future. This fixes pr6126. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94433 91177308-0d34-0410-b5e6-96231b3b80d8 commit d0699b0384ab44c2c0344673d6c96fd246e0811f Author: Victor Hernandez <vhernandez@apple.com> Date: Mon Jan 25 17:52:13 2010 +0000 Revert r94260 until findDbgDeclare() is made more efficient git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94432 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0271305987a4170ef3daa793c2a367338c0e32cb Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Mon Jan 25 15:32:10 2010 +0000 Update test for darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94421 91177308-0d34-0410-b5e6-96231b3b80d8 commit c4b84343d60c4140df8b11c6f5f23c8e981e0871 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 07:53:05 2010 +0000 add a comment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94417 91177308-0d34-0410-b5e6-96231b3b80d8 commit aaa7b1bae9af996efdaa0f230800f59198b55ca8 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 07:52:13 2010 +0000 emit the .size directive for global variables on ELF through mcstreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94416 91177308-0d34-0410-b5e6-96231b3b80d8 commit 516b4d673d1cfba74c5c0e0f1db49abe77ca5853 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 07:43:40 2010 +0000 we removed support for darwin8 tools. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94414 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1f9165d2391eba416439e4467bd333e9daa99d9a Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 07:29:13 2010 +0000 all supported target now have aligned common support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94413 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9378674bdedadfe3fefb8aecfebee0b8cbbf25ad Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 07:26:17 2010 +0000 Remove support for i386 tiger tools for aligned common symbols. Previously we would just silently miscompile code that used aligned common's, now at least you'll get a build error. tiger-ppc already triggered the build error because it didn't have a version of this logic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94412 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c3d2bf9419127c61c0d5e0bd43fab2e827cb0c2 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 07:23:14 2010 +0000 don't set value to its default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94411 91177308-0d34-0410-b5e6-96231b3b80d8 commit 34ed3bc8b335e54535f48b8182bebc0db0c2b477 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 25 07:20:44 2010 +0000 coff targets support alignment on .comm git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94410 91177308-0d34-0410-b5e6-96231b3b80d8 commit d8a8280017dfb9207e6e4f92dfaf485777a6c336 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Jan 25 04:59:07 2010 +0000 ARM does accept the .comm directive alignment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94408 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6751d70c7fe47be58fdd937e3766ce4344ccff8e Author: Eric Christopher <echristo@apple.com> Date: Mon Jan 25 04:10:28 2010 +0000 Fix autoconf llvm srcdir location for generic projects. Patch by Torvald Riegel! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94405 91177308-0d34-0410-b5e6-96231b3b80d8 commit c9a5d80089360065d335b9a46911b7b679d4e193 Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Mon Jan 25 02:27:39 2010 +0000 Fix PR6134. We are not emitting alignments on Darwin for "bar". Not sure what is the correct way to do it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94400 91177308-0d34-0410-b5e6-96231b3b80d8 commit 69b0fad03edc822efa7497bfbf5051475d9904f5 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Jan 25 00:54:13 2010 +0000 Attempt to unbreak test on Linux. Chris, please check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94399 91177308-0d34-0410-b5e6-96231b3b80d8 commit e05be056a19a8ee169ea2676f2c2a8b42050ff33 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Jan 25 00:45:01 2010 +0000 This example requires RTTI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94398 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0f6edb89f62862757145752b50c465e990879cbd Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 24 20:54:45 2010 +0000 linux/ppc does use alignment in bytes, not pow-2. This fixes PR6129. It looks like linux/arm and linux/mips have the same setting, which are probably wrong. Someone who cares about ARM and MIPS should investigate with the testcase in PR6129. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94381 91177308-0d34-0410-b5e6-96231b3b80d8 commit 04e65245cdab942a551de170237973c9cb6b903e Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 24 20:53:12 2010 +0000 don't reset the default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94380 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1adf597745f664fdea164b2d25695e3aca78ee8c Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 24 20:43:08 2010 +0000 make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94378 91177308-0d34-0410-b5e6-96231b3b80d8 commit 117674051a2501cce79ca6e0b3ecc00e1382ffb7 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 24 20:22:08 2010 +0000 mark some libraries that currently require RTTI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94377 91177308-0d34-0410-b5e6-96231b3b80d8 commit 696f0cfe623a89ef7575ff6c0b3948c34d2f3baf Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 24 20:21:50 2010 +0000 libs that need EH need RTTI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94376 91177308-0d34-0410-b5e6-96231b3b80d8 commit b08bea7868ae3094051469e7f360eb945f35d973 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 24 20:20:40 2010 +0000 ENABLE_EXPENSIVE_CHECKS shouldn't know how rtti is enabled, let REQUIRES_RTTI handle it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94375 91177308-0d34-0410-b5e6-96231b3b80d8 commit 073777efc9f8dcc11201a24b257d1ad3efc73f0b Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 24 20:17:09 2010 +0000 reassociate should do this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94374 91177308-0d34-0410-b5e6-96231b3b80d8 commit 34cc79c227e1bbe3c1d78a2ebbdf31e7289e9f2d Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 24 20:01:41 2010 +0000 add a note. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94373 91177308-0d34-0410-b5e6-96231b3b80d8 commit cdf289c59d527d18a7b3d6b29d7dc0cb2d006860 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 24 19:23:09 2010 +0000 just remove this test, it is not reduced, is not clear what its testing for and it is dying due to fragility in the asmprinter .s comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94372 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8eba210656b1b46a627a53f27607eb78bee0b46c Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 24 19:13:39 2010 +0000 this test has been failing or a long time, just disable it for now to get back to green. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94371 91177308-0d34-0410-b5e6-96231b3b80d8 commit b35037aec3f60518a97f86050098e0c3597b8e14 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 24 19:01:06 2010 +0000 fix some issues where we weren't emitting enough newlines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94370 91177308-0d34-0410-b5e6-96231b3b80d8 commit f6e18804c095c7a9580161cec25457910ff1e470 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 24 18:54:17 2010 +0000 when emitting DIEs, emit the comment on the same line as the directive. This fixes FrontendObjC/2009-11-30-Objc-ID.m git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94369 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5ef7cf97cd5f40a660e36c637284eb120528dd04 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 24 02:27:03 2010 +0000 move PR5945 here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94350 91177308-0d34-0410-b5e6-96231b3b80d8 commit b30a9d51185aed4a863737ce8f4aa01770a91426 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 24 01:07:33 2010 +0000 fix a parsing problem on instructions like: movw $8, (_cost_table_-L97$pb)+66(%eax) After the parens, we could still have a binop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94345 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8075fd5cc680647735c00aa160597d438924b9d9 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 24 00:25:09 2010 +0000 This corrects an error in the type of the Llvm.dispose_context function. Patch by James Woodyatt! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94343 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8bfb35b04c180f4b1c9ef08026d4d79e6dcbc22e Author: Mon P Wang <wangmp@apple.com> Date: Sun Jan 24 00:24:43 2010 +0000 It seems better to scalarize vectors of size 1 instead of widening them. Add support to widen SETCC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94342 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6bb7a3c88d365944ffbd6f7c6602d6634fd7eba3 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 24 00:09:49 2010 +0000 change the canonical form of "cond ? -1 : 0" to be "sext cond" instead of a select. This simplifies some instcombine code, matches the policy for zext (cond ? 1 : 0 -> zext), and allows us to generate better code for a testcase on ppc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94339 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2de8d73b7944fa39803d9531719da96e0921a345 Author: Mon P Wang <wangmp@apple.com> Date: Sun Jan 24 00:05:03 2010 +0000 Improved widening loads by adding support for wider loads if the alignment allows. Fixed a bug where we didn't use a vector load/store for PR5626. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94338 91177308-0d34-0410-b5e6-96231b3b80d8 commit b9256a922c459a26e590d0ffbce1a7fa151421a1 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 23:31:46 2010 +0000 fix a potential overflow issue Eli pointed out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94336 91177308-0d34-0410-b5e6-96231b3b80d8 commit 21dbf2fe88b87852d3b644752152fa4c939d9f67 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Jan 23 20:32:12 2010 +0000 Speculatively revert r94322 to see if it fixes darwin selfhost buildbot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94331 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8070ec0e39fe9fa098e05c8480fefeeafdab9e63 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 19:21:31 2010 +0000 third bug from PR6119: the xor dupe extension allows for arbitrary terminators in predecessors, don't assume it is a conditional or uncond branch. The testcase shows an example where they can happen with switches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94323 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed230ec24e2639545b5f72ce86ceebd809b0f483 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Jan 23 19:19:34 2010 +0000 Teach DAE that even though it can't modify the function signature of an externally visible function, it can still find all callers of it and replace the parameters to a dead argument with undef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94322 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2e27c8ab6d591b7c0b95f174bc4bb1788241a6ea Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 19:16:25 2010 +0000 add an early out to ProcessBranchOnXOR to speed it up, handle the case when we can infer an input to the xor from all inputs that agree, instead of going into an infinite loop. Another part of PR6199 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94321 91177308-0d34-0410-b5e6-96231b3b80d8 commit b8d56ca2576b026967c306f6b2d4a7818215958f Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 18:56:07 2010 +0000 fix a crash in jump threading, PR6119 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94319 91177308-0d34-0410-b5e6-96231b3b80d8 commit 79bda77aa67a5fb3ce416b072e5a7757ef2f0757 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 18:49:30 2010 +0000 implement a simple instcombine xform that has been in the readme forever. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94318 91177308-0d34-0410-b5e6-96231b3b80d8 commit c577b8344b6fe79cd250ceaf95303a6405af12e9 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 18:42:37 2010 +0000 add a note git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94317 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2d28a9d1cd2f682c8fb812c2ba04a25c67cc2a76 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 17:59:23 2010 +0000 add some notes, making posix-memalign be nocapture would be an easy improvement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94312 91177308-0d34-0410-b5e6-96231b3b80d8 commit fcc37a1838a832ec99f3f469c7dbb26751a1db2c Author: Bill Wendling <isanbard@gmail.com> Date: Sat Jan 23 10:26:57 2010 +0000 Remove the '-disable-scheduling' flag and replace it with the 'source' option of the '-pre-RA-sched' flag. It actually makes more sense to do it this way. Also, keep track of the SDNode ordering by default. Eventually, we would like to make this ordering a way to break a "tie" in the scheduler. However, doing that now breaks the "CodeGen/X86/abi-isel.ll" test for 32-bit Linux. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94308 91177308-0d34-0410-b5e6-96231b3b80d8 commit 21733fda3761f7209a4ec0e54dfeba60009c8af9 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sat Jan 23 09:54:23 2010 +0000 Respect operator precedence (and silence a gcc 4.3 warning). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94304 91177308-0d34-0410-b5e6-96231b3b80d8 commit bab5d64f0e7f902588a78294cb2196c498f1836a Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 07:47:02 2010 +0000 mcize lcomm, simplify .comm, extend both to support 64-bit sizes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94299 91177308-0d34-0410-b5e6-96231b3b80d8 commit e5282425d454ae746a266d1c41175564545c057f Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 07:21:06 2010 +0000 resolve a fixme: the "nonexecutable stack directive" is actually a .section. Switch to it with SwitchSection. However, I think that this directive should be safe on any ELF target. If so, we should hoist it up out of the X86 and SystemZ targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94298 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce83c429c23fb6f94d987e49e39563fb2ccb9b1e Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 07:17:54 2010 +0000 remove a dead call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94297 91177308-0d34-0410-b5e6-96231b3b80d8 commit a60bdbe226bb00daa15b7bc5a7fd9d3f0c1c2bc1 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 07:00:21 2010 +0000 use helpers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94296 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0952125a6ba77ae0bb54f995adc9dbbc0d5544a2 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 06:53:23 2010 +0000 mcize visibility directives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94295 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5bec06f70cf3f98437d065cd7ddd80dfaa14d949 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 06:39:22 2010 +0000 move the various directive enums out of the MCStreamer class into a new MCDirectives.h file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94294 91177308-0d34-0410-b5e6-96231b3b80d8 commit 37bfafecbfdfd1d13c67939872f500b1b73c83e0 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 06:17:14 2010 +0000 Change constantexpr global variable initializers to convert the constants to MCExpr then emit them through MCStreamer with EmitValue. I think all global variable initializers are now going through mcstreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94293 91177308-0d34-0410-b5e6-96231b3b80d8 commit da960b1ecc70e2eb5b8fd2553d30f094b2c1ffb7 Author: Eric Christopher <echristo@apple.com> Date: Sat Jan 23 06:02:43 2010 +0000 Don't lower splat vector load to relative to the esp if the stack may be misaligned. Update test accordingly. Patch by Evan Cheng! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94291 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5cfb025a75f48ca48aacb4728e0fa2ab208e0cbb Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 05:51:36 2010 +0000 mcstreamerize .no_dead_strip and .reference for static ctors/dtors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94290 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7aeeb28d19bdaece1ae9de1f16c3280a576f84c3 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 05:45:28 2010 +0000 stop testing for invalid output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94288 91177308-0d34-0410-b5e6-96231b3b80d8 commit ea28a60728a6cf566ca89bb76b8eff841a6f78dd Author: Eric Christopher <echristo@apple.com> Date: Sat Jan 23 05:29:06 2010 +0000 Reapply 94059 while fixing the calling convention setup for strcpy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94287 91177308-0d34-0410-b5e6-96231b3b80d8 commit d07f6755bbae6d71080f76f4067704e5ccd8f973 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 05:28:25 2010 +0000 remove unneeded directive set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94286 91177308-0d34-0410-b5e6-96231b3b80d8 commit d5071b187e87991fe21c9237bd05a4be888a9ca0 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 05:26:25 2010 +0000 use some helpers instead of duplicating logic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94285 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8977ba554ce5b1683adae55836e0710badcaa6f1 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 05:19:23 2010 +0000 mcize jump table and constant pool entry labels, .local on elf, and some .weak directives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94284 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0f700b2c30b62395cf6c35a63c5ae4dca45ddbd4 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 04:54:10 2010 +0000 emit .ascii and .asciz through MCStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94282 91177308-0d34-0410-b5e6-96231b3b80d8 commit a7fa27941f0d710932f12d55fe155abbcae09136 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 04:42:42 2010 +0000 simplify code a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94281 91177308-0d34-0410-b5e6-96231b3b80d8 commit fecdf6a06df7033f4c867bd13acfbeb966cd65d0 Author: Mon P Wang <wangmp@apple.com> Date: Sat Jan 23 04:35:57 2010 +0000 InstCombine should not fold sext/zext of a vector and a bitcast to a scalar to a sext/zext git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94280 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1a7c14bf328f64ff4193dd3cf0295b8f93b8c3c2 Author: Ted Kremenek <kremenek@apple.com> Date: Sat Jan 23 04:01:37 2010 +0000 Update CMake build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94278 91177308-0d34-0410-b5e6-96231b3b80d8 commit d7466a925f7b8617abd8bc8b24bd7a5b3503316e Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 03:11:46 2010 +0000 remove one form of EmitString, just use EmitBytes instead. We must be careful to add a \0 at the end though, because EmitString didn't do this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94277 91177308-0d34-0410-b5e6-96231b3b80d8 commit f04952804f541d3122cfb43ec40cc0942325c23d Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 03:11:10 2010 +0000 remove this test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94276 91177308-0d34-0410-b5e6-96231b3b80d8 commit b6ab361317fd3574732ff553d10208aac92d0fd3 Author: Sean Callanan <scallanan@apple.com> Date: Sat Jan 23 02:43:15 2010 +0000 Added the skeleton for the implementation of the X86 target-specific AsmLexer, and added the appropriate registration calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94275 91177308-0d34-0410-b5e6-96231b3b80d8 commit 059df4def56ac9f1eb215a3fb849a2f21891360a Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Jan 23 01:21:27 2010 +0000 Fix test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94272 91177308-0d34-0410-b5e6-96231b3b80d8 commit c2ff4823326a56abb0ba669b821a5936b4352e8c Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Jan 23 01:19:28 2010 +0000 Fix tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94271 91177308-0d34-0410-b5e6-96231b3b80d8 commit f7a921beb95ccea2238dbebe2c41d9178e894c3a Author: Sean Callanan <scallanan@apple.com> Date: Sat Jan 23 00:40:33 2010 +0000 Modified the register matcher function in AsmMatcher to be static. Also made it possible for clients to get it and no other functions from ...GenAsmMatcher.inc by defining REGISTERS_ONLY before including GenAsmMatcher.inc. This sets the stage for target-specific lexers that can identify registers and return AsmToken::Register as appropriate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94266 91177308-0d34-0410-b5e6-96231b3b80d8 commit da5a810fe5032fa06d1f50db89b0caf0c4af9be5 Author: Devang Patel <dpatel@apple.com> Date: Sat Jan 23 00:26:28 2010 +0000 Avoid using "Type" as the variable name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94262 91177308-0d34-0410-b5e6-96231b3b80d8 commit 17d6b5bc6ba2bedc3843f2650dc32f8f87240e22 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Jan 23 00:26:16 2010 +0000 AsmMatcher: Add a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94261 91177308-0d34-0410-b5e6-96231b3b80d8 commit d24eb84b7e60f8eee20cdf617eba33ebfa52b900 Author: Victor Hernandez <vhernandez@apple.com> Date: Sat Jan 23 00:17:34 2010 +0000 In mem2reg, for all alloca/stores that get promoted where the alloca has an associated llvm.dbg.declare instrinsic, insert an llvm.dbg.var intrinsic before each store git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94260 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2724561e93d576930911903b1f91abfe1681dc61 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 23 00:15:00 2010 +0000 teach MCAsmStreamer::EmitBytes to use .ascii and .asciz git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94259 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0147ebbe1e565c30ea095212467d0c31c3cbfd9e Author: Victor Hernandez <vhernandez@apple.com> Date: Sat Jan 23 00:03:28 2010 +0000 Make sure ValueFn starts off empty git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94256 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0122611496dacf43dcb8fd246258d0a835bc9988 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Jan 22 23:49:45 2010 +0000 Enable pre-regalloc scheduling load clustering by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94255 91177308-0d34-0410-b5e6-96231b3b80d8 commit c95d6a904c9d796664f720423f50a7a8e553dad9 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Jan 22 23:49:11 2010 +0000 Be more conservative with clustering f32 / f64 loads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94254 91177308-0d34-0410-b5e6-96231b3b80d8 commit e1ca0cc113a5e7d4078729904274608de82c861d Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 23:47:11 2010 +0000 move "EOL" from asmprinter to dwarfprinter. It should eventually be completely eliminated, but today is not that day. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94253 91177308-0d34-0410-b5e6-96231b3b80d8 commit 29f89d3d786ccb37ed00a96a4b439aa4ca95a4ec Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 23:43:14 2010 +0000 remove uses of EOL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94252 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6d806e74cc94867843b050698b4daa39d5776321 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 23:40:08 2010 +0000 add a new EmitCFAByte method and use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94251 91177308-0d34-0410-b5e6-96231b3b80d8 commit aa01d51d21d54f2ca00b78e4d2091d53533eaf5e Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 23:18:42 2010 +0000 move uleb printing from asmprinter to dwarfprinter, mcize, cleanup and eliminate a bunch more uses of "EOL". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94250 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7b1235ab731407403eea3a6b513ca1507fd973f1 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Fri Jan 22 23:04:39 2010 +0000 Make OProfile support compile again after r93630 removed DebugLocTuple. Also use an AssertingVH to ensure that MDNodes aren't destroyed while the FilenameCache is using them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94245 91177308-0d34-0410-b5e6-96231b3b80d8 commit f91ddc3b77bfd40e84a928da86fac608cd113eb6 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 22:56:55 2010 +0000 move sleb printing out of asmprinter into dwarf printer, make clients handle the comment better, MCize the non-.sleb case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94244 91177308-0d34-0410-b5e6-96231b3b80d8 commit f57bfb4bcc2519b3e7409d385a4ff119ce21296c Author: Devang Patel <dpatel@apple.com> Date: Fri Jan 22 22:52:10 2010 +0000 Remove MetadataBase class because it is not adding significant value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94243 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2ba10c12d0d4e205923380005bcd2a551fe3b707 Author: Sean Callanan <scallanan@apple.com> Date: Fri Jan 22 22:42:22 2010 +0000 Added a Register token to AsmToken and the appropriate accessor method for its value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94241 91177308-0d34-0410-b5e6-96231b3b80d8 commit 275991914793014fb284c1dec811d7684b3b2f1c Author: Dale Johannesen <dalej@apple.com> Date: Fri Jan 22 22:38:21 2010 +0000 Ignore DEBUG_VALUE when building live intervals; this makes the code work transparently the same whether they're there or not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94240 91177308-0d34-0410-b5e6-96231b3b80d8 commit e50e6d22c237b7287afa87cd358578cf1884111a Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 22:38:16 2010 +0000 add a new DwarfPrinter::EmitEncodingByte method which handles pretty printing encoding comments and eliminates redundancy on the client side. We now get pretty dwarf like this again: .byte 255 ## @LPStart Encoding = omit .byte 0 ## @TType Encoding = absptr .byte 0x28 ## @TType base offset .byte 3 ## Call site Encoding = udata4 .byte 0x1a ## Call site table size ... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94239 91177308-0d34-0410-b5e6-96231b3b80d8 commit b70eff364cde6a60a00a0e549df9fd6d308d8355 Author: Sean Callanan <scallanan@apple.com> Date: Fri Jan 22 22:35:01 2010 +0000 Filled out the skeleton of the TargetAsmLexer to behave exactly like an MCAsmLexer. (The difference is that the TargetAsmLexer knows how to handle target-specific stuff like registers, whereas the MCAsmLexer is fully generic.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94237 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4c68039af93eedd5a3a85bcfd6e0c9e04c83faa9 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 22:23:57 2010 +0000 rename the dwarf class to DwarfPrinter. This matches the filename and much more accurately describes what it is all about. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94233 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1d9f592d5ea82a8ccc47e86ca24b11fe7a32c91d Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 22:19:51 2010 +0000 fix indentation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94232 91177308-0d34-0410-b5e6-96231b3b80d8 commit 09bcfe29cc1206b4488ff52151b9aff6734aebd8 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 22:09:00 2010 +0000 inline away the trivial AsmPrinter::EOL() method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94230 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2b03593d029ac231ebcf9d581bcabcc3a4c40094 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 21:57:56 2010 +0000 inline AsmPrinter::PrintHex into its two trivial callers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94228 91177308-0d34-0410-b5e6-96231b3b80d8 commit c4baf399c89cac6a77f292eec358fcde663ba990 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 21:50:41 2010 +0000 change this to be a static function instead of a method on asmprinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94227 91177308-0d34-0410-b5e6-96231b3b80d8 commit b8e3a9c1508eeeb8475fa824bc6188a383e089ba Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 21:43:28 2010 +0000 make the loop comment printer print out a much better structured output. An example: .align 4, 0x90 LBB1_5: ## %while.cond3 ## Parent Loop BB1_1 Depth=1 ## => This Loop Header: Depth=2 ## Child Loop BB1_8 Depth 3 ## Child Loop BB1_6 Depth 3 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94225 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7a083046e39014715254eec809993afe6557058f Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 21:16:10 2010 +0000 Changes to fix buffering that I forgot to commit with previous patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94222 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2898d5c0c9f4a403de67ca714336612887d2220e Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 21:11:06 2010 +0000 For blocks that are not loop headers, just print their loop depth and header BB. For loop headers, print Inner loop along with the other stuff so it doesn't take an extra line. We now get stuff like this: LBB1_4: ## %land.end ## in Loop: Header=BB1_1 Depth=1 notb %al testb $1, %al jne LBB1_8 and: LBB1_6: ## %while.cond7 ## Inner Loop Header: Depth=3 ## Inside Loop BB1_5 Depth 2 ## Inside Loop BB1_1 Depth 1 which still isn't great for loop headers, but is much less verbose. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94221 91177308-0d34-0410-b5e6-96231b3b80d8 commit 992dadad54a34560aeb714f9b6330d50483e8242 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 21:00:45 2010 +0000 reenable the label loop comments and switch them to use the formatted comment emission stuff. I'm going to rewrite this though because the current output doesn't make sense. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94215 91177308-0d34-0410-b5e6-96231b3b80d8 commit b879eef258dd7a9b8480c7b2e1259a58de0278c4 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Jan 22 20:16:37 2010 +0000 Mark EH_RETURN64 as CodeGenOnly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94205 91177308-0d34-0410-b5e6-96231b3b80d8 commit f9a0c6d6bf9f548fa5c0710eb87fbf81e38982e3 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Fri Jan 22 20:00:21 2010 +0000 Another strncmp -> StringRef.startswith simplification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94203 91177308-0d34-0410-b5e6-96231b3b80d8 commit b03dee3f599868a20c569540c53956914a71d25b Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 19:52:01 2010 +0000 Convert some more random-comment-printing stuff to use AddComment and GetCommentOS. Add a blank line between globals (even in non-verbose mode) to make the assembly more readable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94202 91177308-0d34-0410-b5e6-96231b3b80d8 commit b671b3566275e21443b7430bef6610948a660c05 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 19:51:08 2010 +0000 make this less constrained, we want blank lines between globals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94201 91177308-0d34-0410-b5e6-96231b3b80d8 commit 643754db2ef4713fceda458b858e60e562ca815a Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 19:17:48 2010 +0000 add a new MCAsmStreamer::GetCommentOS method to simplify stuff that doesn't want to use twines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94199 91177308-0d34-0410-b5e6-96231b3b80d8 commit 54bb43ce6bdbfc08a4c8651209c256c64c875afb Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Jan 22 19:16:40 2010 +0000 Revert 94059. It is breaking the MultiSource/Benchmarks/Prolangs-C/bison test on ARM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94198 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4daebf7f7de736ff476a1a219a95e524a81fec54 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 19:11:53 2010 +0000 add missing break, PR6114, patch by M Wahab. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94197 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5637abcbf760d7f372d8cdf20a2fe639aa801f87 Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Jan 22 19:06:12 2010 +0000 Fix/strengthen verification of llvm.dbg.declare git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94195 91177308-0d34-0410-b5e6-96231b3b80d8 commit 54c6af0ac878c25b5854545cdb11cc7d1d41176e Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Jan 22 19:05:05 2010 +0000 Keep ignoring pointer-to-pointer bitcasts git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94194 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0d63ba1ff03dbb2e5b2f7e7cc329c80ef8ff920a Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 18:33:00 2010 +0000 use both the Mangler and the CBE's mangler for identifiers, this should fix a problem duncan saw handling symbols with '.' in them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94192 91177308-0d34-0410-b5e6-96231b3b80d8 commit 426fd0e36872e4959e3c40579c219fa4660e45fd Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 18:21:35 2010 +0000 rename addComment -> AddComment for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94190 91177308-0d34-0410-b5e6-96231b3b80d8 commit cfd854a8b0cf3b1506b06476d66d2b882a4e0226 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Fri Jan 22 18:21:23 2010 +0000 Simplify some uses of str(n)cmp with StringRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94189 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8a7c2dd91fab40da7f5730e1bb47e32f1f4bba59 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Jan 22 18:14:27 2010 +0000 CMake: Don't try to descend into projects/compiler-rt, it doesn't work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94187 91177308-0d34-0410-b5e6-96231b3b80d8 commit d6f53ec8a5f6329e9eb99fcd9721154e95863012 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Jan 22 18:14:21 2010 +0000 Make GetSourceVersion more portable, thanks Pawel! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94186 91177308-0d34-0410-b5e6-96231b3b80d8 commit f8b2a7fec64b897bdc32a1ce9aed6de2110a8937 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Jan 22 18:14:14 2010 +0000 Update CMake LibDeps git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94185 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3ea2167f18c86a5582b9a68051017ed54dfe0c71 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Jan 22 18:10:54 2010 +0000 make: Make .o files depend on Makefile, at least for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94184 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6be4f1bb09a28c828765c25ae8137c1978bdb27d Author: Edwin Török <edwintorok@gmail.com> Date: Fri Jan 22 15:51:31 2010 +0000 Fix TimeValue::now() on Unix. TimeValue()::now().toEpochTime() is supposed to be the same as time(), but it wasn't, because toEpoch subtracted PosixZeroTime, but now() didn't add PosixZeroTime! Add a unittest to check this works. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94178 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1bd4726718a54b82545b70f82de80a7790aeeeb2 Author: Dan Gohman <gohman@apple.com> Date: Fri Jan 22 10:48:28 2010 +0000 Revert r94066, which was the patch which added a Verifier pass after LoopStrengthReduce, as it's causing too much trouble (even with the old LoopStrengthReduce code). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94172 91177308-0d34-0410-b5e6-96231b3b80d8 commit a72e6a456823a00213f97a896fad80ac43225769 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 07:36:39 2010 +0000 add comment support to the rest of the directives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94168 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7c50aa145f4d32af5f49598eee5d3a14a11961d8 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 07:34:12 2010 +0000 stop using strtoll, it gives windows heartburn. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94167 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9eb7b072080725f485626551827d77072e6a3e6d Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 07:29:22 2010 +0000 Add the ability for MCStreamer to emit comments on the same line as directives. Switch over the asm-verbose comment for double values to use it. We now get: _x: .long 343597384 ## double 1.231200e+02 .long 1079953326 For example, note that the comment is on the same line as the .long. Woo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94166 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7e035d5fccfddc47297de0da99ee914d9a2bd214 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 07:06:15 2010 +0000 pass "-fasm-verbose" into createAsmStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94165 91177308-0d34-0410-b5e6-96231b3b80d8 commit ac91dc93e5e0703418e786d0b53dafcfc588b600 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 06:49:46 2010 +0000 Stop building RTTI information for *most* llvm libraries. Notable missing ones are libsupport, libsystem and libvmcore. libvmcore is currently blocked on bugpoint, which uses EH. Once it stops using EH, we can switch it off. This #if 0's out 3 unit tests, because gtest requires RTTI information. Suggestions welcome on how to fix this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94164 91177308-0d34-0410-b5e6-96231b3b80d8 commit 224823eaea4e1907b9a12bc9323d3a479aca3b1d Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 06:29:25 2010 +0000 give PassNameParser a home. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94162 91177308-0d34-0410-b5e6-96231b3b80d8 commit 22c5b90647c0f6db016708b0c818beb032926b95 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 06:25:37 2010 +0000 add an out-of-line virtual method to CmpInst to give it a home. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94161 91177308-0d34-0410-b5e6-96231b3b80d8 commit 660a65c9b195dabacec7c583743ab48bc7fdd7cf Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 06:03:06 2010 +0000 elimiante the dynamic_cast's from opt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94160 91177308-0d34-0410-b5e6-96231b3b80d8 commit 228d59aef55e700c353f51d4d2e087b9f659a8ae Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 05:54:03 2010 +0000 simplify code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94159 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0bc3c3b1cfae9e7dbc2bb023f0ff2b42f814e061 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 05:52:51 2010 +0000 drop the pass name from the output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94158 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5f6a77614269d316aecbd92759ace12f5f1cf8a4 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 05:46:59 2010 +0000 eliminate dynamic_cast from this file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94157 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8745ad5250e7744a3e2ea5962522c8d4dff1828d Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 05:37:10 2010 +0000 eliminate a bunch more unneeded dynamic_cast's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94156 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3205d176601749b3b9823acdf7584f2c165aee22 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 05:24:46 2010 +0000 eliminate a bunch of dynamic_cast's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94155 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1efffa891157a377aa759adb556d32818dc1d8a8 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 04:55:08 2010 +0000 eliminate a bunch of dynamic_cast's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94154 91177308-0d34-0410-b5e6-96231b3b80d8 commit c766713d70923e886ae2dde5840c83cb3f6fa74b Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Jan 22 03:36:51 2010 +0000 Teach pre-regalloc scheduler to schedule loads from nearby addresses. It may improve cache locality. This is controlled by -cluster-loads for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94148 91177308-0d34-0410-b5e6-96231b3b80d8 commit ea0e0c0e1cfa23c6ed276798c7e6c98d00497cca Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Jan 22 03:34:51 2010 +0000 Add two target hooks to determine whether two loads are near and should be scheduled together. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94147 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5444b9fe0858807f206081cab447f46d25a36e13 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Jan 22 03:33:01 2010 +0000 Add DenseMapInfo for signed long long. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94146 91177308-0d34-0410-b5e6-96231b3b80d8 commit c9539e24981a586ee732e16d2710dd7bf4be1a54 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Jan 22 02:04:33 2010 +0000 CMake: Add MCParser directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94135 91177308-0d34-0410-b5e6-96231b3b80d8 commit 54a7255c0b8f3703008ce88acf09afec3c801008 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Jan 22 02:04:28 2010 +0000 lit: Separate test suite from test name with spaces, to make it easier to cut and paste. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94134 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa52e910d9b9ffff0d86f7183cccad9d74330991 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 01:58:44 2010 +0000 add new file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94132 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0d0e32c35c92fb073da29ec06f5b54ffd6bb30c7 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 01:58:08 2010 +0000 move some files out of the llvm-mc tool into the MCParser library so other tools can link it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94131 91177308-0d34-0410-b5e6-96231b3b80d8 commit c1cd87d00fbb71385ddd4d2da812723ad9c6b5ed Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 01:55:10 2010 +0000 forgot to svn add these, doh. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94130 91177308-0d34-0410-b5e6-96231b3b80d8 commit 808bf3bd80522a075959bea601c9e9ae06f72035 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 01:44:57 2010 +0000 create a new MCParser library and move some stuff into it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94129 91177308-0d34-0410-b5e6-96231b3b80d8 commit c28a9238761facfb1a2519da236192fd316f7700 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 01:17:12 2010 +0000 remove some confused code that used strtoull git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94128 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2cea4f37aca55c4a1d6e24349d96ce488fca895f Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 01:10:40 2010 +0000 allow registering target lexers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94127 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8dbec783f4a5d12c6f883b8379e3c48685d2320f Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 22 00:58:59 2010 +0000 stub out a new TargetAsmLexer interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94125 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa9de114313d06a89d317306683589ba43922d52 Author: Dan Gohman <gohman@apple.com> Date: Fri Jan 22 00:46:49 2010 +0000 Revert LoopStrengthReduce.cpp to pre-r94061 for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94123 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1e4d5f45ee8b2a4602b3ea0fd5b133932eea4ae4 Author: Ted Kremenek <kremenek@apple.com> Date: Fri Jan 22 00:28:27 2010 +0000 Store flags in bitfields instead of masking them into the pointer for the left child. This leads to some nice conceptually cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94121 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5e634910a9e7d494064057658ca2847e629d26a7 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Jan 22 00:08:13 2010 +0000 Fix PR5694. The CMN instructions set the flags differently from CMP, so they cannot be directly interchanged for comparisons against negated values. Disable the CMN instructions for the time being. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94119 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7205efd48b24a4d02771fd0e1f07c78ee6461163 Author: Ted Kremenek <kremenek@apple.com> Date: Thu Jan 21 23:42:57 2010 +0000 Tidy up assertion syntax. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94117 91177308-0d34-0410-b5e6-96231b3b80d8 commit 53bdfacf7beb2906e3dbecbe7d5f81f4c9f5338b Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Jan 21 23:09:12 2010 +0000 No need to look through bitcasts for DbgInfoIntrinsic git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94114 91177308-0d34-0410-b5e6-96231b3b80d8 commit bf4f0e59d781441ebf28d7bc8b7b0eac8a23cf99 Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Jan 21 23:08:36 2010 +0000 DbgInfoIntrinsic no longer appear in an instruction's use list git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94113 91177308-0d34-0410-b5e6-96231b3b80d8 commit e498e711f16d8456d555e9b15bea0e02ed57f7f4 Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Jan 21 23:07:15 2010 +0000 No need to look through bitcasts for DbgInfoIntrinsic git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94112 91177308-0d34-0410-b5e6-96231b3b80d8 commit 45846ac009ca010097d85e2c548d97a6a70036e0 Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Jan 21 23:05:53 2010 +0000 DbgInfoIntrinsics no longer appear in an instruction's use list; so clean up looking for them in use iterations and remove OnlyUsedByDbgInfoIntrinsics() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94111 91177308-0d34-0410-b5e6-96231b3b80d8 commit c95dce9668375cf950162fee2a64eb20ce297f77 Author: Dan Gohman <gohman@apple.com> Date: Thu Jan 21 23:01:22 2010 +0000 When inserting expressions for post-increment users which contain loop-variant components, adds must be inserted after the increment. Keep track of the increment position for this case, and insert these adds in the correct location. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94110 91177308-0d34-0410-b5e6-96231b3b80d8 commit 06efd96affdf537dff3f5991aad8204ffb2d8d1d Author: Dan Gohman <gohman@apple.com> Date: Thu Jan 21 22:46:32 2010 +0000 Include IVUsers information in LSR's debug output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94108 91177308-0d34-0410-b5e6-96231b3b80d8 commit f874582d8f5e44e304c58f824c61026f751bb4d1 Author: Dan Gohman <gohman@apple.com> Date: Thu Jan 21 22:42:49 2010 +0000 Prune the search for candidate formulae if the number of register operands exceeds the number of registers used in the initial solution, as that wouldn't lead to a profitable solution anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94107 91177308-0d34-0410-b5e6-96231b3b80d8 commit 59caf2b6453440d6b553b9a11be808608e41cd61 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Jan 21 21:44:43 2010 +0000 Trim unneeded includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94105 91177308-0d34-0410-b5e6-96231b3b80d8 commit 349291bfb714d8b1b75fd9c711995f990664b008 Author: Dan Gohman <gohman@apple.com> Date: Thu Jan 21 21:31:09 2010 +0000 Add a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94104 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5c21610ada2f50338f60a4c311b61cabaacdda9a Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 21 21:29:25 2010 +0000 It turns out that this #include is needed because otherwise ValueMapper.cpp ends up calling an out of line __ZNK4llvm12PATypeHolder3getEv, which is a template and llvm-config determines arbitrarily to use the one in libipo. This sucks, but keeping the #include is a reasonable workaround. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94103 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4e69ba2ec15421ddd7a9d18985bf32a087981520 Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 21 21:20:51 2010 +0000 unbreak the build, apparently without this transformutils starts depending on libipa? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94102 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5be1d63a362791581a0c1c02bdfb85664b71f93b Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 21 21:05:54 2010 +0000 tidy up git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94101 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0d62ac57a4a36d8a3208ee6a7efd02a2a6114b16 Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 21 21:01:47 2010 +0000 tidy up git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94100 91177308-0d34-0410-b5e6-96231b3b80d8 commit 68abe9242583b94f39e6dd55f595ce87f3172f57 Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 21 20:43:39 2010 +0000 remove dead .erase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94098 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce178f1cad0e27378f696f07bec6c2ad9727ba08 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Jan 21 20:10:22 2010 +0000 back this out for now. Growing Function is not good. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94097 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9b80d3e6abe702b0570db64706220d71172a69fb Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 21 20:01:04 2010 +0000 testcase for r94095 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94096 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2ca22403c61266e8f3039493f9e649aa01f3d74c Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 21 19:58:19 2010 +0000 fix a problem with a missing _, testcase pending. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94095 91177308-0d34-0410-b5e6-96231b3b80d8 commit 399f540a943ada4219992eb5fbed256026ffc706 Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Jan 21 19:33:59 2010 +0000 Don't need to include IntrinsicInst.h any more git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94092 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6b2e3d7c7fa479da9ad73c9cd5a6c891a68ca65e Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Jan 21 19:26:20 2010 +0000 No need to map NULL operands of metadata git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94091 91177308-0d34-0410-b5e6-96231b3b80d8 commit 09e5cd4c6046361c494a73c048b94f1238f49672 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Jan 21 16:09:59 2010 +0000 Add a simple script for getting a version tag from a svn/git-svn/git repository. Feel free to add support for your favorite VCS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94077 91177308-0d34-0410-b5e6-96231b3b80d8 commit b1b797ca4dfdd5e70f8815092a7abe8c872c786a Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Jan 21 15:40:14 2010 +0000 struct/class mismatch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94075 91177308-0d34-0410-b5e6-96231b3b80d8 commit b6ce7fcc5c5c28af35a89c9c1cfda56649e5a990 Author: Dan Gohman <gohman@apple.com> Date: Thu Jan 21 10:15:06 2010 +0000 Make the parser include the lower level error message in its own error message, to be more informative. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94072 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6decbcedb01ad0a677cda94b7d2e88c07144a06e Author: Dan Gohman <gohman@apple.com> Date: Thu Jan 21 10:13:27 2010 +0000 Avoid printing a spurious semicolon when there is no filename. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94071 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5eac35732d05e5fde2933456cc74d6453fba0616 Author: Dan Gohman <gohman@apple.com> Date: Thu Jan 21 10:08:42 2010 +0000 When re-using an existing cast for a user, it's still necessary to call rememberInstruction so that future users of that user will be inserted in the correct position. This fixes the Darwin selfhost. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94070 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2f89af189aaa7413b37cf34bb6712abdfc6d5c47 Author: Nick Lewycky <nicholas@mxc.ca> Date: Thu Jan 21 07:03:21 2010 +0000 Fix a crasher trying to fold each element in a comparison between two vectors if one of the vectors didn't have elements (such as undef). Fixes PR 6096. Fix an issue in the constant folder where fcmp (<2 x %ty>, <2 x %ty>) would have <2 x i1> type if constant folding was successful and i1 type if it wasn't. This exposed a related issue in the bitcode reader. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94069 91177308-0d34-0410-b5e6-96231b3b80d8 commit ccedfaf8a570d896c179fcbdf4c76cff9254bab3 Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 21 06:11:03 2010 +0000 remove a couple of asserts that use RTTI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94068 91177308-0d34-0410-b5e6-96231b3b80d8 commit f351d251e90ab22adfc8323aca899d880c8d87fc Author: Dan Gohman <gohman@apple.com> Date: Thu Jan 21 03:51:36 2010 +0000 Run the verifier after LSR, to help catch use-before-def errors before they reach codegen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94066 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2003be1aa5b51b63f438ac33637b161ba97ec1db Author: Dan Gohman <gohman@apple.com> Date: Thu Jan 21 02:09:26 2010 +0000 Re-implement the main strength-reduction portion of LoopStrengthReduction. This new version is much more aggressive about doing "full" reduction in cases where it reduces register pressure, and also more aggressive about rewriting induction variables to count down (or up) to zero when doing so reduces register pressure. It currently uses fairly simplistic algorithms for finding reuse opportunities, but it introduces a new framework allows it to combine multiple strategies at once to form hybrid solutions, instead of doing all full-reduction or all base+index. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94061 91177308-0d34-0410-b5e6-96231b3b80d8 commit a0173bf117d7ff7ea00824e62d0457ad646bc7bb Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 21 02:07:07 2010 +0000 eliminate dynamic_cast from the pass manager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94060 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4a4e8e8647c04d0dcf2b47f527ac7394187a7602 Author: Eric Christopher <echristo@apple.com> Date: Thu Jan 21 01:04:38 2010 +0000 Add strcpy_chk -> strcpy support for "don't know" object size answers. This will update as object size checking gets better information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94059 91177308-0d34-0410-b5e6-96231b3b80d8 commit ea70dd4fcb20d2abf70a8c03157add6b03c0f2ac Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Jan 21 00:55:14 2010 +0000 Fix a minor issue in x86 load / store folding table. movups does an unaligned load so it doesn't require 16-byte alignment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94058 91177308-0d34-0410-b5e6-96231b3b80d8 commit e96029f9f29e697bfccbc8f7bb0fe9426a58df6b Author: Jim Grosbach <grosbach@apple.com> Date: Thu Jan 21 00:43:30 2010 +0000 Make sure that landing pad entries in the EH call site table are in the proper order for SjLj style exception handling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94055 91177308-0d34-0410-b5e6-96231b3b80d8 commit df9e5096b6fe734bdcda8e724dd816624e0e6695 Author: Sean Callanan <scallanan@apple.com> Date: Thu Jan 21 00:19:58 2010 +0000 Moved handling of inclusion from the AsmLexer to the AsmParser, breaking AsmLexer's dependence on SourceMgr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94054 91177308-0d34-0410-b5e6-96231b3b80d8 commit 36c6b186829848ef935fc8d6388d77fc6c2bbea8 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 23:30:28 2010 +0000 simplify this code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94048 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6a9ae98ab368fdd5f7c9c4e2f130d1b2b05f27b6 Author: Sean Callanan <scallanan@apple.com> Date: Wed Jan 20 23:19:55 2010 +0000 Changed the AsmParser to handle error messages itself rather than passing them off to the AsmLexer to handle. This means the AsmLexer no longer requires a SourceMgr to do error handling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94047 91177308-0d34-0410-b5e6-96231b3b80d8 commit b0885e7b9b0f6b89af155696c4412afb25f8a56a Author: Jim Grosbach <grosbach@apple.com> Date: Wed Jan 20 23:03:55 2010 +0000 SjLj EH introduces can introduce an additional edge to a landing pad and pad normalization needs to take this into account. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94046 91177308-0d34-0410-b5e6-96231b3b80d8 commit e155f8fbe86c8354938ba7dd3efce0578b99fc29 Author: Sean Callanan <scallanan@apple.com> Date: Wed Jan 20 22:45:23 2010 +0000 Promoted the reference to the SourceMgr from AsmLexer into AsmParser, in preparation for making AsmLexer independent of the SourceMgr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94043 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4b79aa91db34d6149052b68e0989f22200bf29b1 Author: Sean Callanan <scallanan@apple.com> Date: Wed Jan 20 22:18:24 2010 +0000 Modified MCAsmLexer to return error information upward rather than printing it locally, reducing its dependence on SourceMgr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94041 91177308-0d34-0410-b5e6-96231b3b80d8 commit 501eb0b812c54273e6621d5c3fe67b4c969316a8 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 21:36:48 2010 +0000 eliminate FnStubInfo, using MachineModuleInfoMachO instead. this makes function stub emission determinstic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94033 91177308-0d34-0410-b5e6-96231b3b80d8 commit c0312ac5aef609cc96308d1ad389af8728c58ffe Author: Dale Johannesen <dalej@apple.com> Date: Wed Jan 20 21:36:02 2010 +0000 make findDebugLoc a class method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94032 91177308-0d34-0410-b5e6-96231b3b80d8 commit 658deae41f27c8716ab47c2221238a7e091290ae Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 21:19:44 2010 +0000 split function stub printing out to its own function, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94030 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5432f843148c71db548070383c2a150255bc20bb Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 21:16:14 2010 +0000 eliminate the GVStubs and HiddenGVStubs maps, and use MachineModuleInfoMachO instead. This eliminates two sources of nondeterministic output in the ppc backend, but function stubs are still bad. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94029 91177308-0d34-0410-b5e6-96231b3b80d8 commit d11d8c1016cd1bcc66fe24bce6123aa12d3ba67b Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 20:48:59 2010 +0000 don't forget to initialize an instance variable! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94021 91177308-0d34-0410-b5e6-96231b3b80d8 commit 610d6cbe506606fc86525c0c30c68842e3723993 Author: David Greene <greened@obbligato.org> Date: Wed Jan 20 20:13:31 2010 +0000 When XDEBUG is enabled, check for SelectionDAG cycles at some key points. This will help us find future problems like the one described in PR6019. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94019 91177308-0d34-0410-b5e6-96231b3b80d8 commit 576e34ee28c04a3321e3693e1e431bbf9688f256 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 20:09:02 2010 +0000 adopt getAdjustedAnalysisPointer in a few more passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94018 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9917244e222bb4758cb5dd033de03763cad6e077 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 19:53:32 2010 +0000 adopt getAdjustedAnalysisPointer in two more passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94017 91177308-0d34-0410-b5e6-96231b3b80d8 commit 73d5e3f43961009732292aadf5987ffac2dee486 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 19:51:46 2010 +0000 adopt getAdjustedAnalysisPointer in BasicCallGraph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94015 91177308-0d34-0410-b5e6-96231b3b80d8 commit d3ff296dffce1990825ce3503b5532f46f0491d9 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 19:26:14 2010 +0000 add some new methods to adjust this pointers. Not used yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94013 91177308-0d34-0410-b5e6-96231b3b80d8 commit a0252e0a4f296dee7670281ae95d43ca08e28478 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 19:25:45 2010 +0000 add a helper method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94012 91177308-0d34-0410-b5e6-96231b3b80d8 commit e8391018c707eecd15793967a7e076eee6eddd40 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 17:57:50 2010 +0000 don't send null pointers through the constantexpr codepath unneededly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94010 91177308-0d34-0410-b5e6-96231b3b80d8 commit 674ee7197741c9fdea7dc81a29969ff5d72aa5a6 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 17:53:51 2010 +0000 reduce redundant are's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94008 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7d97c90f9d4c28592c4711451f52c502246ca3ef Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Wed Jan 20 17:51:28 2010 +0000 Move per-function inline threshold calculation to a method. No functional change except the forgotten test for InlineLimit.getNumOccurrences() == 0 in the CurrentThreshold2 calculation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94007 91177308-0d34-0410-b5e6-96231b3b80d8 commit cf85333d1f13d5b3d702cf865a7075136f76dcad Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 17:50:30 2010 +0000 use getGlobalDirective(), don't hardcode .globl. PR6093 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94006 91177308-0d34-0410-b5e6-96231b3b80d8 commit ff9bf035c5b0e263e1f4da7785141eef996cd427 Author: David Greene <greened@obbligato.org> Date: Wed Jan 20 15:27:19 2010 +0000 Fix an infinite recursion problem. dbgs() should return errs() in release mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94001 91177308-0d34-0410-b5e6-96231b3b80d8 commit ac4b96795f374059d5989eac501d97a983183a0c Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 07:41:15 2010 +0000 eliminate some uses of AsmPrinter::EmitIntXXX git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93996 91177308-0d34-0410-b5e6-96231b3b80d8 commit c3663a67fde068e214d251c0c399c35b045a0a22 Author: Victor Hernandez <vhernandez@apple.com> Date: Wed Jan 20 07:37:49 2010 +0000 Backout r93990 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93995 91177308-0d34-0410-b5e6-96231b3b80d8 commit b4f4d33117cd1e581608f0a1a24591d4bcb3173b Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 07:33:29 2010 +0000 inline and radically simplify printDataDirective. It will eventually go completely away. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93994 91177308-0d34-0410-b5e6-96231b3b80d8 commit e03a029d04eabab1cc3164c336b34cb3b8004876 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 07:24:05 2010 +0000 emit basic block labels with mcstreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93993 91177308-0d34-0410-b5e6-96231b3b80d8 commit 17b54b8fd322deb00afde2bec9443984ad8c7e35 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 07:19:19 2010 +0000 emit integer and fp zeros as (e.g.) .byte 0 instead of .space 1, for tidiness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93992 91177308-0d34-0410-b5e6-96231b3b80d8 commit b1dee1cd01c05f2585b9561f81597af2f03c3a62 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 07:11:32 2010 +0000 signficant cleanups to EmitGlobalConstant (including streamerization of int initializers), change some methods to be static functions, use raw_ostream::write_hex instead of a smallstring dance with APValue::toStringUnsigned(S, 16). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93991 91177308-0d34-0410-b5e6-96231b3b80d8 commit e4e1863f0d65b0efdbf69c607aedfa138c144a3c Author: Victor Hernandez <vhernandez@apple.com> Date: Wed Jan 20 06:57:02 2010 +0000 Fix/strengthen verification of llvm.dbg.declare git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93990 91177308-0d34-0410-b5e6-96231b3b80d8 commit d3792faac8c633d0d89915ea142f9e740675b2d4 Author: Victor Hernandez <vhernandez@apple.com> Date: Wed Jan 20 06:56:16 2010 +0000 Switch Elts from vector to SmallVector git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93989 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6ca943c75e9469b1c2a0439959c354c7c323a6a3 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 06:53:37 2010 +0000 switch ConstantFP emission to use MCStreamer, significantly simplifying the code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93988 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5a6317d5dcbd14e2c7b5001df315bd930d480244 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 06:45:39 2010 +0000 make mcasmstreamer handle expanding 8 byte integer constants to 4-byte constants if .quad isn't supported. Switch a bunch of methods used by the dwarf writer to use OutStreamer.EmitIntValue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93987 91177308-0d34-0410-b5e6-96231b3b80d8 commit 15fbb193b82579b419a06f4d86b8c0f08a086182 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 06:39:07 2010 +0000 give createAsmStreamer an 'isLittleEndian' argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93986 91177308-0d34-0410-b5e6-96231b3b80d8 commit 996551e1439e0a0e34c022826ccd8f87b2b5b9e2 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 20 06:34:14 2010 +0000 revert 93934, removing the MCAsmInfo endianness bit. I can't stomache MCAsmInfo having this, and I found a better solution to this layering issue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93985 91177308-0d34-0410-b5e6-96231b3b80d8 commit 84b83d85f7e1b7ef91558699bee248afe19e80a2 Author: Victor Hernandez <vhernandez@apple.com> Date: Wed Jan 20 06:22:33 2010 +0000 Fix if/else brackets; getFunctionForValue() is to be called for non-metadata values git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93984 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6bacf0a37188b473012e23bf916dca97727584df Author: Chandler Carruth <chandlerc@gmail.com> Date: Wed Jan 20 06:01:02 2010 +0000 Fix the conditions to unambiguously show the logic they represent. This is the logic enforced in the test case as well, so hopefully it is correct. Please review Victor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93980 91177308-0d34-0410-b5e6-96231b3b80d8 commit e419cf483658b209342b05b465819759004ef7dc Author: Victor Hernandez <vhernandez@apple.com> Date: Wed Jan 20 05:49:59 2010 +0000 Map operands of all function-local metadata, not just metadata passed to llvm.dbg.declare intrinsics git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93979 91177308-0d34-0410-b5e6-96231b3b80d8 commit b671414043b6a956cc23051ef13ba48b86d8ae5a Author: Victor Hernandez <vhernandez@apple.com> Date: Wed Jan 20 05:44:11 2010 +0000 Avoid unnecessary Elts array git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93978 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10e291fa4a937d83b23f7f5a293e1ff76e9f1961 Author: Victor Hernandez <vhernandez@apple.com> Date: Wed Jan 20 04:45:57 2010 +0000 Refactor common parts of MDNode::getFunction() and assertLocalFunction() into getFunctionForValue() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93977 91177308-0d34-0410-b5e6-96231b3b80d8 commit 475a3f29b6e1497b3a413506c1a5911312ccb0d6 Author: Devang Patel <dpatel@apple.com> Date: Wed Jan 20 02:05:23 2010 +0000 If a instruction belongs to another function (and not current function) as per debug info attached with the instruction then ignore the dangling lexical scope of this instruction. Such scopes are unreachable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93967 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9f878d30358199527a32ee39043cc5cee162dc7b Author: David Greene <greened@obbligato.org> Date: Wed Jan 20 00:59:23 2010 +0000 Add some asserts to check SelectionDAG problems earlier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93960 91177308-0d34-0410-b5e6-96231b3b80d8 commit bf5ecb9ec5f838a6a720894b13584e90c238d2cf Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Jan 20 00:43:07 2010 +0000 For 'install-clang' target, also traverse tools/clang/lib/Runtime. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93958 91177308-0d34-0410-b5e6-96231b3b80d8 commit 075532b7273ecaf827fca3e1683c9c14831af19a Author: Dale Johannesen <dalej@apple.com> Date: Wed Jan 20 00:19:24 2010 +0000 Move findDebugLoc somewhere more central. Fix more cases where debug declarations affect debug line info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93953 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7271e860285ff2a5f7b111f4ba55cc5426837a28 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 19 23:30:49 2010 +0000 Fold (add x, shl(0 - y, n)) -> sub(x, shl(y, n)), to simplify some code that SCEVExpander can produce when running on behalf of LSR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93949 91177308-0d34-0410-b5e6-96231b3b80d8 commit bc4aaeb19b543b2582c14e621da711a90f968956 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Jan 19 22:56:26 2010 +0000 Wrap some comments to 80 columns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93940 91177308-0d34-0410-b5e6-96231b3b80d8 commit 39f55232c932dd44ce3807a6d1967c98fae1970e Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 19 22:53:50 2010 +0000 Make SCEVAddRecExpr's getType return a pointer type when the add has a pointer member. This helps reduce unnecessary bitcasting and uglygeps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93939 91177308-0d34-0410-b5e6-96231b3b80d8 commit a5c5cf3c26fb368e1f28b4f8f6c06ab401058886 Author: Dale Johannesen <dalej@apple.com> Date: Tue Jan 19 22:50:05 2010 +0000 Fix a case where debug_value was perturbing the line number info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93937 91177308-0d34-0410-b5e6-96231b3b80d8 commit 147d8bd28abfcc314802fd9123b09236ba95b62b Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 19 22:45:06 2010 +0000 When doing address-mode sinking, expand the base register first, rather than the scaled register. This makes it more likely that subsequent AddrModeMatcher queries will match the new address the same way as the old, instead of accidentally matching what had been the base register as the new scaled register, and then failing to match the scaled register. This fixes some problems with address-mode sinking multiple muls into a block, which will be a lot more common with some upcoming LoopStrengthReduction changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93935 91177308-0d34-0410-b5e6-96231b3b80d8 commit e1644edcfb4b34a1fafc20e708820c5544cf24f4 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 22:42:28 2010 +0000 give MCAsmInfo a 'has little endian' bit. This is unfortunate, but I really want clients of the streamer to be able to say "emit this 64-bit integer" and have it get broken down right by the streamer. I may change this in the future, we'll see how it works out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93934 91177308-0d34-0410-b5e6-96231b3b80d8 commit d86a19eac282c33ef3dd894a7286ef22a32ececb Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 19 22:27:22 2010 +0000 Add a comment and tidy up some whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93932 91177308-0d34-0410-b5e6-96231b3b80d8 commit da9eea0223433c3c7c1d5995888b04fca0d3151f Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 19 22:26:02 2010 +0000 Fix a typo and an 80-column violation in comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93931 91177308-0d34-0410-b5e6-96231b3b80d8 commit c56417c271387318cb2d6cd23da4e3483d1109c5 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 19 22:21:27 2010 +0000 Give ScalarEvolution access to the DominatorTree. It'll need this to make more intellegent AddRec folding decisions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93930 91177308-0d34-0410-b5e6-96231b3b80d8 commit f304d1a34c6af7a35230cbaa3cabea35229810a9 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 22:16:33 2010 +0000 simplify the rest of fp constant printing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93929 91177308-0d34-0410-b5e6-96231b3b80d8 commit 132bf14002c41c445a57af51652adec7d7ff7e04 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 22:11:05 2010 +0000 simplify the code for printing x86 long double, don't do work for -fverbose-asm unless it's on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93926 91177308-0d34-0410-b5e6-96231b3b80d8 commit 77abfc1e6ce83fc23427e1b0f07a97bf3d9a417a Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Tue Jan 19 22:08:34 2010 +0000 Identify predicate and optional-def operands when printing machine instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93925 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed6d8c436e06abdd9b9993c32e21876ef0ddb648 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 22:03:38 2010 +0000 add a new EmitIntValue method that MCStreamer impls can optionally define and that clients can use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93923 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8149786c50b3532bf702b45ace4b2388a1341d41 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 19 21:55:32 2010 +0000 Add a new helper function to IVUsers for returning the "canonical" form of an expression. This is the expression without the post-increment adjustment made, which is useful in determining which registers will be used by the expansion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93921 91177308-0d34-0410-b5e6-96231b3b80d8 commit 68867702f7a6049e8b8a8a6b193424a3c0505aaf Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 19 21:51:51 2010 +0000 Add nounwinds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93919 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0b51ee89fee658d8ef29b8060e15767fc67455b6 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 21:51:22 2010 +0000 eliminate AsmPrinter::EmitZeros: just use MCStreamer directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93918 91177308-0d34-0410-b5e6-96231b3b80d8 commit bda38003386beaad6a24d5b821738a0bd46f64b4 Author: Sean Callanan <scallanan@apple.com> Date: Tue Jan 19 21:44:56 2010 +0000 Promoted the getTok() method to MCAsmParser so that the two token accessor functions are declared consistently. Modified the clients of MCAsmParser to reflect this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93916 91177308-0d34-0410-b5e6-96231b3b80d8 commit dddb79d966889b268f642461bbb932c9f2c822cf Author: Xerxes Ranby <xerxes@zafena.se> Date: Tue Jan 19 21:26:05 2010 +0000 Stubs for getHostCPUFeatures API. This implements part of PR5389. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93913 91177308-0d34-0410-b5e6-96231b3b80d8 commit e044e95d47bc670e115a814ebe80cafbaa783cff Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Tue Jan 19 21:08:28 2010 +0000 Remove predicates when changing an add into an unpredicable mov. Since the mov is executed unconditionally, make sure that the add didn't have any predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93909 91177308-0d34-0410-b5e6-96231b3b80d8 commit 632fa82c8d0060a9049ee0ec5d6badabbe7ebaaa Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Tue Jan 19 20:59:04 2010 +0000 Update CMake list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93905 91177308-0d34-0410-b5e6-96231b3b80d8 commit 396e20751d87b0194dcc9e4b947a1575338d25f7 Author: David Greene <greened@obbligato.org> Date: Tue Jan 19 20:37:34 2010 +0000 Add some new debugging APIs to print out "raw" SelectionDAGs to make understanding CannotYTetSelect and other errors easier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93901 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7bb069114798422089019fb5ca25b462cfc0d5fd Author: Sean Callanan <scallanan@apple.com> Date: Tue Jan 19 20:27:46 2010 +0000 Propagated the parser-side Lex function's declaration to MCAsmParser, and changed the target-specific AsmParsers to use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93900 91177308-0d34-0410-b5e6-96231b3b80d8 commit f7d4aa347f157579aa9a192e68506850d9780d4c Author: Sean Callanan <scallanan@apple.com> Date: Tue Jan 19 20:22:31 2010 +0000 Added a Lex function to the AsmParser, to allow handling of include directives to occur within the parser itself. This will break the lexer's dependency on a SourceMgr as input. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93899 91177308-0d34-0410-b5e6-96231b3b80d8 commit db5b0d575b7cb1f776fbcf4a766bf146a9f7627f Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Tue Jan 19 19:57:07 2010 +0000 Fix a bug introduced on r92564 where the name "Node" was already in use by Mips. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93897 91177308-0d34-0410-b5e6-96231b3b80d8 commit cafc2da44c01a7d1a766451bd55a0f6d9cebdf35 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 19:46:13 2010 +0000 Generalize mcasmstreamer data emission APIs to take an address space identifier. There is no way to work around it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93896 91177308-0d34-0410-b5e6-96231b3b80d8 commit c19dbe068d8b59c298a4d835f0d7c5ada6bd2954 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Jan 19 19:45:51 2010 +0000 Do not extend extension results beyond the use of a PHI instruction at the start of a use block. A PHI use is expected to kill its source values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93895 91177308-0d34-0410-b5e6-96231b3b80d8 commit a62bf10496e55c0a70ddc0c6b21502e34d794333 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 19:10:44 2010 +0000 refactor code to be static functions instead of methods on AsmPrinter. This fixes some bugs handling address spaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93891 91177308-0d34-0410-b5e6-96231b3b80d8 commit b07e5f66f20e04da9f41e3ab172c35a5167dd525 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 18:58:52 2010 +0000 mcstreamerize AsmPrinter::EmitZeros, at least when emitting to the default address space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93890 91177308-0d34-0410-b5e6-96231b3b80d8 commit 689f7609fc35781483edf60e5be16030abc931b3 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 18:52:28 2010 +0000 add an MCAsmStreamer::EmitFill specialization of EmitFill that emits one directive instead of N. Not doing this would be a significant regression on the # bytes generated by .fill. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93889 91177308-0d34-0410-b5e6-96231b3b80d8 commit dea52e11c0b7f330a62b6cd9964abff399e97ded Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 18:45:47 2010 +0000 add a "MCStreamer::EmitFill" method, and move the default implementation (which just iteratively emits bytes) to MCStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93888 91177308-0d34-0410-b5e6-96231b3b80d8 commit 264871c452f0b74abbce18f24f542d0d3d468187 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 18:37:01 2010 +0000 remove MAI::ZeroDirectiveSuffix, which is only used by MASM, which we don't support anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93886 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3b139e487e2130ae43ccff63246fad86d23df9c0 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Jan 19 18:31:11 2010 +0000 For aligned load/store instructions, it's only required to know whether a function can support dynamic stack realignment. That's a much easier question to answer at instruction selection stage than whether the function actually will have dynamic alignment prologue. This allows the removal of the stack alignment heuristic pass, and improves code quality for cases where the heuristic would result in dynamic alignment code being generated when it was not strictly necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93885 91177308-0d34-0410-b5e6-96231b3b80d8 commit 21782ed354253d6780e6caa48d6e8bc0f1dbe4f0 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 18:16:19 2010 +0000 optimize ~(~X >>s Y) --> (X >>s Y), patch by Edmund Grimley Evans! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93884 91177308-0d34-0410-b5e6-96231b3b80d8 commit 01dfd518ef5a3c0680a6c91283371ced13ff8525 Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Tue Jan 19 17:00:43 2010 +0000 On pic function calls some arguments were marked dead and the instruction to load those args removed. This fix PR6071 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93880 91177308-0d34-0410-b5e6-96231b3b80d8 commit a1ecb26fd9ca637d5154f07c2a5692652f3b69b6 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Jan 19 16:42:10 2010 +0000 The change in r90189 adds a link in a directory outside the iPhone platform directory when building the llvmCore_Embedded project. Fix this by putting the iPhone platform directory into DEST_DIR instead of DEST_ROOT. I also noticed what appears to be an unintentional use of DEVELOPER_BIN instead of DEVELOPER_DIR, so I fixed that and changed to use DEVELOPER_DIR in some places that were hardcoded to "Developer". Finally, the other changes here allowed some refactoring and simplification, which I have done. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93878 91177308-0d34-0410-b5e6-96231b3b80d8 commit d93965f3a98c09263a9983d28b91c0c5a06a9b05 Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Tue Jan 19 12:53:04 2010 +0000 load f64 +0.0 in a cleaner way. This fix part of PR5445 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93876 91177308-0d34-0410-b5e6-96231b3b80d8 commit 37e6aad4b09529afa22b87248909da7b43d7a8d0 Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Tue Jan 19 12:37:35 2010 +0000 Fix return registers for mips eabi git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93875 91177308-0d34-0410-b5e6-96231b3b80d8 commit dcb6f254d32e9c8dc2a44654d70177334896583d Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 06:41:24 2010 +0000 mcstreamer'ize the rest of EmitGlobalVariable that is used on darwin. The next big piece to get global variables streamerized is EmitGlobalConstant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93870 91177308-0d34-0410-b5e6-96231b3b80d8 commit eb8331e45b56034b1f29be2e90e7a980525d8e32 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 06:39:54 2010 +0000 don't let asm-verbose break the check-next lines in these tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93869 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8ee4950d6fd5bf796878193a8c7a6e2b80ae71e4 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 06:25:51 2010 +0000 stop using the .lcomm pseudoop on darwin, instead, directly use the .zerofill directive. Streamerize its generation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93868 91177308-0d34-0410-b5e6-96231b3b80d8 commit fc7b1053d54d819adea030bea5445aa685ed2c1c Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 06:22:22 2010 +0000 fix parsing .comm directives on systems which do not represent alignments as a power of 2. This fixes MC/AsmParser/directive_comm.s git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93867 91177308-0d34-0410-b5e6-96231b3b80d8 commit 30301d70964c8da1d1c1686b2c42ae70f51f752b Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 06:21:23 2010 +0000 only darwin has zerofill git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93866 91177308-0d34-0410-b5e6-96231b3b80d8 commit c412fbf41da6e79306dda0cf5a2f445f841389bd Author: Devang Patel <dpatel@apple.com> Date: Tue Jan 19 06:19:05 2010 +0000 MDNodes are not expected to disappear or replaced by another MDNode, so there is no need to pay the cost of WeakVH and ValueMaps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93865 91177308-0d34-0410-b5e6-96231b3b80d8 commit be5475c17deca20f05263e9d6e33c700a835bc4e Author: Devang Patel <dpatel@apple.com> Date: Tue Jan 19 06:09:04 2010 +0000 Avoid including DebugInfo.h in AsmPrinter.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93864 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c87acb187e34b2bcd4db357de44d321417b1147 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 06:08:15 2010 +0000 zap the ARM version of PrintGlobalVariable, which I missed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93863 91177308-0d34-0410-b5e6-96231b3b80d8 commit 370ee59d0a37bc4cb159dead5c391fe79e85628c Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 06:01:04 2010 +0000 mc'ize some stuff, don't comment out .lcomm directive in -fverbose-asm mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93860 91177308-0d34-0410-b5e6-96231b3b80d8 commit a9934f0312e4caa9a7366d70b7f9dcf624101ff7 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 05:51:42 2010 +0000 factor this code better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93859 91177308-0d34-0410-b5e6-96231b3b80d8 commit 42a203b73bbc908258a8c2cee070559c300f3bfe Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 05:38:33 2010 +0000 Now that we have everything nicely factored (e.g. asmprinter is not doing global variable classification anymore) and hookized, sink almost all target targets global variable emission code into AsmPrinter and out of each target. Some notes: 1. PIC16 does completely custom and crazy stuff, so it is not changed. 2. XCore has some custom handling for extra directives. I'll look at it next. 3. This switches linux/ppc to use .globl instead of .global. If .globl is actually wrong, let me know and I'll fix it. 4. This makes linux/ppc get a lot of random cases right which were obviously wrong before, it is probably now a bit healthier. 5. Blackfin will probably start getting .comm and other things that it didn't before. If this is undesirable, it should explicitly opt out of these things by clearing the relevant fields of MCAsmInfo. This leads to a nice diffstat: 14 files changed, 127 insertions(+), 830 deletions(-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93858 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9408d24e1a589d705bda5a8ced414809ac0a27b6 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 05:25:38 2010 +0000 use %object like other elf targets, gas accepts either. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93857 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7c7b3b869fb6912f28ebbf3e939cf1fa6f6e6da0 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 05:23:59 2010 +0000 simplify the mips target to print .size and .type for c strings just like all other elf targets. Bruno, if this isn't right, please let me know + why :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93856 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6359ed28f836123afe82d7d276a4a173bb638587 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 05:08:13 2010 +0000 hookize the cygwin ".linkonce" directive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93855 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7fe06165d0b7b91b466ef0faced7bd91a03ad44f Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 04:59:55 2010 +0000 more cleanups. Emit the .local directive even on cygwin/mingw. I'm not sure that this is correct, but it causes no test failures, and just emitting a .comm without protecting its linkage somehow is surely not right. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93854 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5a5510cf167f6288af982a43eb172af46e93e48c Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 04:53:18 2010 +0000 some cleanups git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93853 91177308-0d34-0410-b5e6-96231b3b80d8 commit c9b123031148e07082e9ad2393b5657bf3ba2483 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 04:48:20 2010 +0000 add a bool for whether .lcomm takes an alignment instead of basing this on "isdarwin". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93852 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2a21601ea57eb29fe58399ca68e90d7710f08292 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 04:39:15 2010 +0000 hoist handling of external globals and special globals up to common code. This makes a similar code dead in all the other targets, I'll clean it up in a bit. This also moves handling of lcomm up before acquisition of a section, since lcomm never needs a section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93851 91177308-0d34-0410-b5e6-96231b3b80d8 commit 874fdbc7755aa6634c126e3f8027dabc6617f0f3 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 04:34:02 2010 +0000 move production of .reference directives for static ctor/dtor list on darwin into common code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93849 91177308-0d34-0410-b5e6-96231b3b80d8 commit bf679f8f253409980d143ffe3f8dac1b541f12aa Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Jan 19 04:32:48 2010 +0000 Fix a crash in scalarrepl for memcpy/memmove where the source and destination are the same. I had already fixed a similar problem where the source and destination were different bitcasts derived from the same alloca, but the previous fix still did not handle the case where both operands are exactly the same value. Radar 7552893. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93848 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7337615ab96c5bce72b08012ebd4dbe95f316811 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 04:21:20 2010 +0000 use BSSLocal classifier to identify 'lcomm' data instead of duplicating the logic (differently) in lots of different targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93847 91177308-0d34-0410-b5e6-96231b3b80d8 commit b1ef66c3db822b58d683ec34f1d460838fb3edec Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 04:15:51 2010 +0000 make TLOF subclassify BSS based on linkage type into private, external and everything else (weak). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93846 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1eef2e76c6a89407e6f6aa92986019cd86824ea9 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 03:13:44 2010 +0000 now that elf weak bss symbols are handled correctly, simplify a bunch of code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93845 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3a717abc755b03e1b910512fb956784f56df853e Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 03:06:01 2010 +0000 fix a significant difference between llvm and gcc on ELF systems: GCC would put weak zero initialized mutable data in the .bss section, we would put it into a crasy '.gnu.linkonce.b.test,"aw",@nobits' section. Fixing this will allow simplifications next up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93844 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7ca96cb1376934774c5f69e6a25affbc8d45261e Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 02:48:26 2010 +0000 introduce a section kind for common linkage. Use this to slightly simplify and commonize some of the asmprinter logic for globals. This also avoids printing the MCSection for .zerofill, which broke the llvm-gcc build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93843 91177308-0d34-0410-b5e6-96231b3b80d8 commit 174cddac3e5998c65b10a56e41fef76b51b2bb6a Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 02:46:56 2010 +0000 there is no need to emit a .section above .comm on linux. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93842 91177308-0d34-0410-b5e6-96231b3b80d8 commit b604cae660fe5b0750188a59e27b93d79d0d5d76 Author: Bill Wendling <isanbard@gmail.com> Date: Tue Jan 19 02:44:01 2010 +0000 Even more explanation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93841 91177308-0d34-0410-b5e6-96231b3b80d8 commit dcebc08f0cb3ca07bceeeba153c403600cb6c32c Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 02:13:06 2010 +0000 change an accessor to a predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93839 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0b3f8751bf270cc0e292aea4a8bc1343964d8312 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 02:09:44 2010 +0000 Cleanup handling of .zerofill on darwin: 1. TargetLoweringObjectFileMachO should decide if something goes in zerofill instead of having every target do it. 2. TargetLoweringObjectFileMachO should assign said symbols to the right MCSection, the asmprinters should just emit to the right section. 3. Since all zerofill stuff goes through mcstreamer anymore, MAI can have a bool "haszerofill" instead of having the textual directive to emit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93838 91177308-0d34-0410-b5e6-96231b3b80d8 commit ab150043d7947faa967d367679f2738d64708167 Author: Nate Begeman <natebegeman@mac.com> Date: Tue Jan 19 01:32:44 2010 +0000 Remove this fixme, looking at the linker source, all targets pad to 4 bytes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93835 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5d0f0887e332f44c7f7341fbe473b0ed3bb0537b Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 19 01:28:09 2010 +0000 remove extraneous ; git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93833 91177308-0d34-0410-b5e6-96231b3b80d8 commit 13026cf2cbaddc405f8b34ce847cdb2f24f2a7ca Author: Devang Patel <dpatel@apple.com> Date: Tue Jan 19 01:26:02 2010 +0000 Revert accident check-in from r93165. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93832 91177308-0d34-0410-b5e6-96231b3b80d8 commit 288d2eeab618759992858e9a72a8b90cbd3745f8 Author: Eric Christopher <echristo@apple.com> Date: Tue Jan 19 01:20:15 2010 +0000 Fix comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93831 91177308-0d34-0410-b5e6-96231b3b80d8 commit 410c2a5c12cdaaa9686da1db9a64d0b7aeff924d Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Jan 19 00:44:15 2010 +0000 Fix r93758. Use isel patterns instead of c++ selection code to select rbit and make sure we pick different instructions for ARM vs. Thumb2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93829 91177308-0d34-0410-b5e6-96231b3b80d8 commit 94a1c602a2b12485a851ad283ec7c14375334320 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Jan 19 00:35:20 2010 +0000 Test case for r93758. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93824 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9fa890d694455ec4718633a1fa732953b946fca6 Author: Dale Johannesen <dalej@apple.com> Date: Tue Jan 19 00:12:05 2010 +0000 Reverting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93819 91177308-0d34-0410-b5e6-96231b3b80d8 commit d03ad18a7004198ff00b6b33b618cf3493851a11 Author: Dale Johannesen <dalej@apple.com> Date: Tue Jan 19 00:10:52 2010 +0000 Revert 93811 per request. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93818 91177308-0d34-0410-b5e6-96231b3b80d8 commit f482719e48ad43d7b2cdb395111f5677caaef940 Author: Dale Johannesen <dalej@apple.com> Date: Mon Jan 18 23:34:55 2010 +0000 Enable code to emit dbg.declare as DEBUG_VALUE comments (fast isel, X86). This doesn't seem to break any functionality, but will introduce cases where -g affects the generated code. I'll be fixing that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93811 91177308-0d34-0410-b5e6-96231b3b80d8 commit 041fb126b6b299d7b595d7261528503ecc1ffa31 Author: Victor Hernandez <vhernandez@apple.com> Date: Mon Jan 18 22:55:08 2010 +0000 Add comment that MDNode::getFunction() is not to be used by performance-critical code (currently only used by AsmWriter) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93802 91177308-0d34-0410-b5e6-96231b3b80d8 commit 14f91a3da3c835ef8b57b25c0936e405a19b0217 Author: Eli Friedman <eli.friedman@gmail.com> Date: Mon Jan 18 22:38:31 2010 +0000 Make opt -O3 act more like clang -O3 etc., by making the inlining thresholds match. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93798 91177308-0d34-0410-b5e6-96231b3b80d8 commit 81718ed416e1564ede7a5d65d299aaf25ea59ef8 Author: Eli Friedman <eli.friedman@gmail.com> Date: Mon Jan 18 22:36:59 2010 +0000 Add some potentially interesting transformations to README. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93797 91177308-0d34-0410-b5e6-96231b3b80d8 commit 326cb3536de8fc6c3c3ad19d73d6e4e80e2f6bae Author: Bill Wendling <isanbard@gmail.com> Date: Mon Jan 18 22:36:35 2010 +0000 - Add getLSDAEncoding to the PowerPC backend. - Greatly improve the comments to the getLSDAEncoding method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93796 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5cd1ffa32f2cb6ce51447804807d6e086e607a49 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 18 22:27:43 2010 +0000 make llvm-config more portable to windows versions of perl, patch by Michael Beck! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93793 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd16da9a692dee7befbfb1699abe85f9cf7ac161 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 18 22:19:16 2010 +0000 my instcombine transformations to make extension elimination more aggressive changed the canonical form from sext(trunc(x)) to ashr(lshr(x)), make sure to transform a couple more things into that canonical form, and catch a case where we missed turning zext/shl/ashr into a single sext. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93787 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8b9c5f1875684043ecb65a5bf711ece3699e7897 Author: Sean Callanan <scallanan@apple.com> Date: Mon Jan 18 22:16:54 2010 +0000 Added a newline at the end of SMLoc.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93784 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9b93f747cf6e8b097776619dbd35b238b9473645 Author: Sean Callanan <scallanan@apple.com> Date: Mon Jan 18 22:11:34 2010 +0000 Changed the comment in the file header for SMLoc to something more accurate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93782 91177308-0d34-0410-b5e6-96231b3b80d8 commit 02aceb027bc0da9bce100366e45df046c0aa826d Author: Eric Christopher <echristo@apple.com> Date: Mon Jan 18 22:11:29 2010 +0000 Have FastISel handle llvm.trap(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93781 91177308-0d34-0410-b5e6-96231b3b80d8 commit 52ab36d3758b279fe12cb3010a70a05100fa2b87 Author: Sean Callanan <scallanan@apple.com> Date: Mon Jan 18 22:07:51 2010 +0000 Split SMLoc out in its own header so that it can be used independently of SourceMgr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93780 91177308-0d34-0410-b5e6-96231b3b80d8 commit 53b47a5d360d1664c9325cff112c44d37e17fc56 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Jan 18 22:01:39 2010 +0000 Minor cleanup for jump table printing. Need a reference, not a pointer, for printing via <<. Otherwise we just print the pointer value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93777 91177308-0d34-0410-b5e6-96231b3b80d8 commit bb7347bbd893104b53eeebbd0c45c85b350ea9f3 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 18 22:00:46 2010 +0000 filecheckize this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93776 91177308-0d34-0410-b5e6-96231b3b80d8 commit e40f06f8a11c74df8868132c920cb77ceb97996a Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 18 21:58:32 2010 +0000 filecheckize git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93775 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7352e5fcb6e842db329423cb9556710877692fbf Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 18 21:55:43 2010 +0000 remove a redundant test, filecheckize another. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93774 91177308-0d34-0410-b5e6-96231b3b80d8 commit e4027dfeed6f42ef5e66b236d45a1a2e60bdeb56 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Jan 18 21:38:44 2010 +0000 Canonicalize -1 - x to ~x. Instcombine does this but apparently there are situations where this pattern will escape the optimizer and / or created by isel. Here is a case that's seen in JavaScriptCore: %t1 = sub i32 0, %a %t2 = add i32 %t1, -1 The dag combiner pattern: ((c1-A)+c2) -> (c1+c2)-A will fold it to -1 - %a. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93773 91177308-0d34-0410-b5e6-96231b3b80d8 commit e07f7e6e5dce1bf367720c0b5bad1c724257e643 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 18 21:09:05 2010 +0000 update mkpatch, patch by Garrison Venn! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93771 91177308-0d34-0410-b5e6-96231b3b80d8 commit b754fd33c09170de2231747307dcff08d0780a02 Author: Victor Hernandez <vhernandez@apple.com> Date: Mon Jan 18 20:42:09 2010 +0000 Make findDbgDeclare/findDbgGlobalDeclare local static functions; avoid Elts array git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93764 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7b452d36b62d8e683d725a509d1205fd28266587 Author: Victor Hernandez <vhernandez@apple.com> Date: Mon Jan 18 20:36:54 2010 +0000 Simplify MDNode::getFunction() and assertLocalFunction() by avoiding extra Function* variable and smallptrset since function-local metadata cannot be cyclic git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93762 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8c2481288f3038e03b91cb9c2bef53781c9b2985 Author: Johnny Chen <johnny.chen@apple.com> Date: Mon Jan 18 20:15:56 2010 +0000 The most significant encoding bit of GPR:$src or GPR:$dst was over-specified in the various MOV (register) instructions (16-bit Thumb), including tBRIND (the indirect branch). Instead of '1', it should be specified as '?', because GPR only specifies the register class, which includes both hi-and-lo registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93759 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5c57dc1513859a02b984b60e63765104a131ff40 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Jan 18 19:58:49 2010 +0000 Patch by David Conrad: "On ARMv6T2 this turns cttz into rbit, clz instead of the 4 instruction sequence it is now." git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93758 91177308-0d34-0410-b5e6-96231b3b80d8 commit f9112229d2d7340819bd23f3d7bdde067b480543 Author: Devang Patel <dpatel@apple.com> Date: Mon Jan 18 19:52:14 2010 +0000 While mapping llvm.dbg.declare intrinsic manually map its operand, if possible, because it points to an alloca instruction through metadata. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93757 91177308-0d34-0410-b5e6-96231b3b80d8 commit dfca7fe1f42122ff72218a20955aaba6e3d50e5e Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 18 19:50:32 2010 +0000 reject some invalid IR. We already assert and reject this from the .ll parser, but PR6070 wants it in the verifier too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93756 91177308-0d34-0410-b5e6-96231b3b80d8 commit fbc40f52875a6b326f93a2e6814734dd83960cf4 Author: Bill Wendling <isanbard@gmail.com> Date: Mon Jan 18 19:47:53 2010 +0000 Add FIXME comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93755 91177308-0d34-0410-b5e6-96231b3b80d8 commit 85e7c4f09ab94c69ccd95cd5b17005ed0abce032 Author: Bill Wendling <isanbard@gmail.com> Date: Mon Jan 18 19:36:27 2010 +0000 - Add a comment to the callback indicating that it's *extremely* not a good idea, but unfortunately necessary. - Default to using 4-bytes for the LSDA pointer encoding to agree with the encoded value in the CIE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93753 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f7713f9134c3a3834e6498bbf790d5e764a332c Author: Victor Hernandez <vhernandez@apple.com> Date: Mon Jan 18 19:15:57 2010 +0000 Make printing of metadata more robust when function is not found (which is the normal situation for non function-local metadata) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93748 91177308-0d34-0410-b5e6-96231b3b80d8 commit 27574da04679e7cb0b4b03a83335da52b4e20a31 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Jan 18 17:52:28 2010 +0000 Don't try to build compiler-rt if it happens to be checked out into projects/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93729 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ab3a8fcae6df8adad5e2682fc270969419a6297 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Mon Jan 18 14:39:20 2010 +0000 Unnamed symbol index should be >= 1. This was lost during the mangler refactoring. Fixes PR6067. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93724 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8f6642009ebcd484a34d92293dbf6db29e679f78 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Mon Jan 18 12:40:05 2010 +0000 Fix refacto reported by Nicolas Geoffray. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93723 91177308-0d34-0410-b5e6-96231b3b80d8 commit 87fa2352aeb07f8e0b269871a80d52355fca4307 Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Jan 18 01:24:43 2010 +0000 Emit spaces after commas in Neon register lists. This is more consistent with the rest of the assembly output, is easier to read, and matches the expected output for gcc's Neon tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93703 91177308-0d34-0410-b5e6-96231b3b80d8 commit aba316e220817acfe6fa8c8a044eb24eb50c28b1 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 18 01:21:08 2010 +0000 switch x86 zerofill emission over to use MCStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93702 91177308-0d34-0410-b5e6-96231b3b80d8 commit 202c058004e33a3b67fdb29b5cc9ec943a13e5c0 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 18 00:59:24 2010 +0000 Change CurrentFnSym to be a non-const pointer since asmprinter mutates it as it emits code. Switch .globl directives to use OutStreamer instead of doing it textually (in x86) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93700 91177308-0d34-0410-b5e6-96231b3b80d8 commit f875d80e50d72653003c0ddcaeab1d22fb8c3f8e Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 18 00:37:40 2010 +0000 remove the MAI argument to MCExpr::print and switch overthing to use << when printing them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93699 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6fef0d73ffadeadf64f07c1eec37def910672263 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 18 00:21:06 2010 +0000 unbreak x86 jump tables with my previous patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93698 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9e6929cecb2b335ecfa2a8a03b1999f8b42ba399 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 17 21:43:43 2010 +0000 now that MCSymbol::print doesn't use it's MAI argument, we can remove it and change all the code that prints MCSymbols to use << instead, which is much simpler and cleaner. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93695 91177308-0d34-0410-b5e6-96231b3b80d8 commit d5b47594306373fc8575f085c249b78ce1612fcc Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 17 20:11:03 2010 +0000 rename NameNeedsEscaping -> NameNeedsQuoting, eliminate the check for first character which is a digit, mangler would have taken care of this already. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93694 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3ef5bbe350ce2d891504f48f890e479b44ef200b Author: Owen Anderson <resistor@mac.com> Date: Sun Jan 17 19:33:27 2010 +0000 Convert some of the dynamic opcode lookups into static ones. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93693 91177308-0d34-0410-b5e6-96231b3b80d8 commit 41ecf0789b084646955350b929159850d8c523c0 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 17 19:32:29 2010 +0000 stop the CBE from using Mangler::appendMangledName, which is a private function, it is mangling types, which don't matter how they are done. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93692 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6d9f5425542ddc1bff3f938072aee616ad5df600 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 17 19:24:35 2010 +0000 fix uninit member, thanks to Benjamin Kramer for identifying the bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93691 91177308-0d34-0410-b5e6-96231b3b80d8 commit e3f46600b6888bbd00b2c8474d3ab655dcd4fa3d Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 17 19:23:46 2010 +0000 Get MCSymbol out of the mangling business, and move all the logic to Mangler. Now MCSymbol just decides whether to slap quotes around a symbol when printing it. This also fixes some weirdness where two MCSymbols could be created for the same symbol, if one needed to be mangled and got mangled to the other one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93690 91177308-0d34-0410-b5e6-96231b3b80d8 commit 142aab7ce398a5c22a49b20e98480afb296a0920 Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Sun Jan 17 19:20:45 2010 +0000 Really fix this. I checked that on ARM I get PASS: LLVM::FrontendC/pr5406.c (3463 of 5030) and on X86 I get XFAIL: LLVM::FrontendC/pr5406.c (3465 of 5030 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93689 91177308-0d34-0410-b5e6-96231b3b80d8 commit 12c01c63b773d0c42c9c1c437ff0bc7febe64bc4 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 17 19:09:12 2010 +0000 reduce this test and convert to filecheck, hopefully the linux buildbot will tell me something more useful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93688 91177308-0d34-0410-b5e6-96231b3b80d8 commit bf219686faea97a3f9ea0b7dbc7553f510e697cf Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 17 18:52:16 2010 +0000 factor this code better how that the string version of getNameWithPrefix takes a twine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93687 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0bde2eb86ff04d5825d1fa8b09e16f40f34b7af3 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 17 18:22:35 2010 +0000 now that mangler is in libtarget, it can use MCAsmInfo instead of clients having to pass various fields from it in. Simplify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93686 91177308-0d34-0410-b5e6-96231b3b80d8 commit a8d62f79e5837e02170076058dcc9e449bf9ecf0 Author: Dan Gohman <gohman@apple.com> Date: Sun Jan 17 17:47:24 2010 +0000 Don't create a (empty) output file, and don't warn about bitcode output to a console, when --analyze is used. Similarly, avoid creating an empty output file when --disable-output is used. Print a warning when the -o option appears with either --analyze or --disable-output, to indicate that the option is being ignored. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93685 91177308-0d34-0410-b5e6-96231b3b80d8 commit ac84db634a2bafc0c428590b48a64d1b0f7dad7e Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sun Jan 17 07:46:39 2010 +0000 Switch some functions to take Twines, eliminate uses of StringExtras.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93680 91177308-0d34-0410-b5e6-96231b3b80d8 commit 51f9d45e973650ed6a167b86eda894a38f4d0690 Author: Owen Anderson <resistor@mac.com> Date: Sun Jan 17 06:49:03 2010 +0000 Fix comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93679 91177308-0d34-0410-b5e6-96231b3b80d8 commit 898b3166e1145f6fe74105640198dce98e4e7aa6 Author: Bob Wilson <bob.wilson@apple.com> Date: Sun Jan 17 06:35:17 2010 +0000 The Neon "vtst" instruction takes a suffix that is the element size alone -- adding an "i" to the suffix, indicating that the elements are integers, is accepted but not part of the standard syntax. This helps us pass a few more of the Neon tests from gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93677 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8babff07481f87f567cecd364bc4577de76e4890 Author: Bob Wilson <bob.wilson@apple.com> Date: Sun Jan 17 05:58:23 2010 +0000 Fix an off-by-one error that caused the chain operand to be dropped from Neon vector load-lane and store-lane instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93673 91177308-0d34-0410-b5e6-96231b3b80d8 commit 918de29db68a1d8d21ea0a34aa1c93ff83b78a19 Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Sun Jan 17 05:40:41 2010 +0000 Looks like XFAIL has to list every unsupported arch git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93672 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4945cd19c8aabfe0a634f2e78c01144bdcacabe8 Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Sun Jan 17 04:44:55 2010 +0000 Add test for pr5406 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93671 91177308-0d34-0410-b5e6-96231b3b80d8 commit b7956b93ffdb4b8d827ec25ad0b1d9e18a4e8e1d Author: Nate Begeman <natebegeman@mac.com> Date: Sun Jan 17 03:49:01 2010 +0000 Add a note for the macho streamer and remove a used of the mangler from the soon to be defunct machowriter pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93670 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca4aeb4525609adb322854c713e84848b756d489 Author: Bill Wendling <isanbard@gmail.com> Date: Sun Jan 17 00:21:21 2010 +0000 Reduce fsub-fadd.ll and merge it into fsub-fsub.ll. Rename fsub-fsub.ll to fsub.ll and FileCheckify it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93669 91177308-0d34-0410-b5e6-96231b3b80d8 commit a59a888da6ed949c0c7a6d871ad1d9cf50ebcc79 Author: Kenneth Uildriks <kennethuil@gmail.com> Date: Sat Jan 16 23:37:33 2010 +0000 When checking for sret-demotion, it needs to use legal types. When using the return value of an sret-demoted call, it needs to use possibly illegal types that match the declared Type of the callee. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93667 91177308-0d34-0410-b5e6-96231b3b80d8 commit b003b846f9d4c265f61d046f491e3d16702a9c32 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sat Jan 16 22:23:09 2010 +0000 Update CMake files for Mangler move. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93665 91177308-0d34-0410-b5e6-96231b3b80d8 commit a60a217b035888c38661434340b3f5fd4c66767c Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 21:57:06 2010 +0000 move the mangler into libtarget from vmcore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93664 91177308-0d34-0410-b5e6-96231b3b80d8 commit b8847fb8c52aaa40198c601873266891b0e3f8bb Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 21:55:24 2010 +0000 fix a warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93663 91177308-0d34-0410-b5e6-96231b3b80d8 commit 33959a9e7f61d7249be8fb360bdf0da288cf264b Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 21:35:09 2010 +0000 this doesn't need to suck in Mangler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93662 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3a0efac16a896559cb18570b0a7b2eae0b6d907d Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 21:34:51 2010 +0000 remove obsolete comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93661 91177308-0d34-0410-b5e6-96231b3b80d8 commit f7748a284c5abb09dc68621444926a455eef1a83 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 21:34:01 2010 +0000 bugpoint doesn't need the mangler at all. DisambiguateGlobalSymbols dates to a time when two different LLVM values could have the same name but different types. Simplify it to just assign names to unnamed things and let the core symtab resolve duplicates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93660 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8439bce99a19536d04df9260e331a52f15f32491 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 21:25:13 2010 +0000 add a thing to investigate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93659 91177308-0d34-0410-b5e6-96231b3b80d8 commit 55e28ccff810d226c0c6091f4ae016f6366c4f8e Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 21:20:34 2010 +0000 remove calls to dead methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93657 91177308-0d34-0410-b5e6-96231b3b80d8 commit 96a9c1abb4d233ee069596d6760d26b10b6005c9 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 21:08:46 2010 +0000 reapply the mangler gutting patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93656 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5bf5bf2e7d107419a6fad2a12f40e17c1edee0f3 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 20:56:05 2010 +0000 remove use of getMangledName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93655 91177308-0d34-0410-b5e6-96231b3b80d8 commit c92c100404e8038a18c2c826b218dc429c54da83 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 20:53:11 2010 +0000 unbreak the build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93654 91177308-0d34-0410-b5e6-96231b3b80d8 commit aacc26910ff6cf037d2348cf87e398c74f2c9996 Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Sat Jan 16 20:27:59 2010 +0000 Revert 93648. Mangler::getMangledName is used from lto Mangler::setUseQuotes is used in the AsmPrinter Mangler::setSymbolsCanStartWithDigit is used in the AsmPrinter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93652 91177308-0d34-0410-b5e6-96231b3b80d8 commit 348719fcca5acf13888ff1ebc6f39616d53709d4 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 19:08:51 2010 +0000 Mangler::getMangledName is now dead, remove it and all the other stuff in Mangler that is now transitively dead. woo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93648 91177308-0d34-0410-b5e6-96231b3b80d8 commit b8ae1059885f503e204afa822e572924c5b6ca76 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 18:50:28 2010 +0000 Change DIEObjectLabel to take an MCSymbol instead of std::string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93647 91177308-0d34-0410-b5e6-96231b3b80d8 commit d7fb57b07101bd18ed21e66a697f2318cc9276f4 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 18:37:32 2010 +0000 rename GetPrivateGlobalValueSymbolStub -> GetSymbolWithGlobalValueBase, and add an explicit ForcePrivate argument. Switch FunctionEHFrameInfo to be MCSymbol based instead of string based. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93646 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6bf71129a8dcba34ee552a62c32afc60b777cf4c Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 18:17:26 2010 +0000 eliminate uses of getMangledName from AsmPrinter.cpp, last up is dwarf emission which is going to be more invasive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93645 91177308-0d34-0410-b5e6-96231b3b80d8 commit deb6480e8c0f9957776cd85776697d698b77294b Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 18:12:14 2010 +0000 switch liblto to use the new getNameWithPrefix() method instead of getMangledName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93643 91177308-0d34-0410-b5e6-96231b3b80d8 commit da1fd911d9c7f93fafbcdf0aea3a0ca224dc8338 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 18:06:34 2010 +0000 add an inefficient version of getNameWithPrefix that returns an std::string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93641 91177308-0d34-0410-b5e6-96231b3b80d8 commit b1680ba80e18f456f4383480e243be9c711b6eae Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sat Jan 16 16:14:55 2010 +0000 Revive dead assert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93638 91177308-0d34-0410-b5e6-96231b3b80d8 commit 271432c7b8cbaf1468f5baa4bda5c49efdec58db Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sat Jan 16 14:06:58 2010 +0000 Provide magic define on mingw to not generate inline variants of ctyper functions. Otherwise we'll end with random cyclic deps between libraries due to this. Proposed by Gianluigi Tiesi! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93635 91177308-0d34-0410-b5e6-96231b3b80d8 commit 827d0a70e1e7981294e37e7cf0478c61bd12916c Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Sat Jan 16 13:38:07 2010 +0000 Fix PR6047 Nodes that had children outside of the post dominator tree (infinite loops) where removed from the post dominator tree. This seems to be wrong. Leave them in the tree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93633 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7b20c1082305927ea567088e0b401021e0fa4133 Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Sat Jan 16 10:56:41 2010 +0000 Create Generic DOTGraphTraits Printer/Viewer Move the DOTGraphTraits dotty printer/viewer templates, that were developed for the dominance tree into their own header file. This will allow reuse in future passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93632 91177308-0d34-0410-b5e6-96231b3b80d8 commit cdd64b676c2c2344e2af4ce8f98aeff067a64b59 Author: Devang Patel <dpatel@apple.com> Date: Sat Jan 16 06:17:40 2010 +0000 No need to use WeakVH here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93631 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3b6871fa24c288179594ea68723a5177d71005ea Author: Devang Patel <dpatel@apple.com> Date: Sat Jan 16 06:09:35 2010 +0000 Replace DebugLocTuple with DILocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93630 91177308-0d34-0410-b5e6-96231b3b80d8 commit 203807de50ff570e432a3c7ceb7a3927020b6dc3 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 03:38:27 2010 +0000 fix build failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93628 91177308-0d34-0410-b5e6-96231b3b80d8 commit ae29e280b4cd3d6a58753fc1aee48d2050200c31 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 02:16:09 2010 +0000 remove a couple of actively incorrect uses of getMangledName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93627 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2fb92f38e45ee2f3a094bea7fea390c074601113 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 02:15:38 2010 +0000 this doesn't need the mangler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93626 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4e11fda49973e3a35989637c14c541d0bd9ccccf Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 02:09:06 2010 +0000 more string -> sym, getMangledName is now gone from this file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93624 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5e090cd388e0a7bf61d4edd8005a16da7b9968bd Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 02:00:23 2010 +0000 use symbols instead of strings, eliminating a bunch of getMangledName calls. Add FIXMEs about a bunch of nondeterminism in stub output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93621 91177308-0d34-0410-b5e6-96231b3b80d8 commit b1f1746269d0dd70323ea937cdb8f4b9ba1d7c73 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 01:45:47 2010 +0000 simplify some code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93619 91177308-0d34-0410-b5e6-96231b3b80d8 commit c0dfaadaf26e4e12ed13518e00ce5b9cb8833a2e Author: Bill Wendling <isanbard@gmail.com> Date: Sat Jan 16 01:40:55 2010 +0000 Retrying r91337: The CIE says that the LSDA point in the FDE section is an "sdata4". That's fine, but we need it to actually be 4-bytes in the FDE for some platforms. Allow individual platforms to decide for themselves. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93616 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7436757d1b33ca7d98cf6033c9a1fe2a69ec9d6a Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 01:40:07 2010 +0000 eliminate uses of mangler and simplify code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93615 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0749eb83aa0bc6dd1dcf8254ec9092ecc1d02a45 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 01:37:14 2010 +0000 fix inverted conditional git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93614 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7638c073a6855e6f2dfb741d38400722343a1e0b Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 01:24:10 2010 +0000 CurrentFnName is now dead, remove it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93612 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2522de6c3522d9fcb675a6e475627d77fb571370 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 01:21:04 2010 +0000 get pic16 off CurrentFnName git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93610 91177308-0d34-0410-b5e6-96231b3b80d8 commit 446261c29a0546ca6cdc24888c57be4b89dc7dc4 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 01:17:26 2010 +0000 remove the string form of printVisibility. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93609 91177308-0d34-0410-b5e6-96231b3b80d8 commit 59f9b8d65347a5879da41ea085ee5e25d0148926 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 01:12:01 2010 +0000 switch more stuff onto MCSymbols git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93608 91177308-0d34-0410-b5e6-96231b3b80d8 commit 89ea3fae1f8c21940ddc558ee3ce452bdbc27800 Author: Bill Wendling <isanbard@gmail.com> Date: Sat Jan 16 01:06:58 2010 +0000 Temporarily revert r93581. It was causing failures in the ExecutionEngine tests on the build bots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93606 91177308-0d34-0410-b5e6-96231b3b80d8 commit 531f41f143edacea65cb9e180ac4eb7ffd229aaf Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 01:00:27 2010 +0000 eliminate uses of deprecated mangler apis git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93605 91177308-0d34-0410-b5e6-96231b3b80d8 commit d3ae4b3e28a02444d7427dd9ed48bf5ef1a13ce2 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 00:53:22 2010 +0000 this teestcase takes a long time to crash, remove it. If someone cares about this, they should file a bug, it's not doing any good as an xfail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93604 91177308-0d34-0410-b5e6-96231b3b80d8 commit 953d13e493e91783ddb2a67d612304b5f2913f0e Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 00:51:39 2010 +0000 switch X86 target off CurFunctionName and MCIze more. Note that the code wasn't calling DecorateCygMingName when emitting the ".ascii -export" stuff at the end of file for DLLExported functions. I don't know if it should or not, but I'm preserving behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93603 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5d1a921e3dce79d2fa285a0e6c47bececcae1047 Author: Bob Wilson <bob.wilson@apple.com> Date: Sat Jan 16 00:42:25 2010 +0000 Treat indirect branches specially only during pre-regalloc tail duplication, not during the later post-alloc tail duplication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93600 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0f12db74fae87be9a712ad05de76f82ea2d227f1 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 00:32:38 2010 +0000 MCize tis, and make it keep CurrentFnSym up to date with CurrentFnName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93598 91177308-0d34-0410-b5e6-96231b3b80d8 commit f7ba5f6184e332f0c879b766a13189f65ea6fa95 Author: Bob Wilson <bob.wilson@apple.com> Date: Sat Jan 16 00:29:50 2010 +0000 Run the pre-register allocation tail duplication pass by default. Remove the -pre-regalloc-taildup command-line option, and add a new -disable-early-taildup option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93597 91177308-0d34-0410-b5e6-96231b3b80d8 commit a00eeba57fc2405aebcb5f60edc85d0a9db5078c Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 00:24:20 2010 +0000 revert the x86 part of my last patch, cygwin is mutating CurrentFnName! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93595 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe6bade0cfbaed4767874df3563cfafa203e24bc Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 16 00:21:18 2010 +0000 MCize a bunch more stuff, eliminating a lot of uses of the mangler and CurrentFnName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93594 91177308-0d34-0410-b5e6-96231b3b80d8 commit d861a34eda1609250704c75bb0e609eae608d0e0 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Jan 16 00:00:20 2010 +0000 Fix llvm_supports_binding for lit, problem noticed by Bob! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93591 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1f6e93c08eb967c4737e83b616a821556396deec Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 23:56:03 2010 +0000 remove two write-only sets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93590 91177308-0d34-0410-b5e6-96231b3b80d8 commit f6ff5b0eae10c12935517046ac22a19199faf8c1 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 23:55:16 2010 +0000 supplement CurrentFnName with CurrentFnSym, which will eventually replace it. Upgrade Alpha, Blackfin, and part of CellSPU to not use mangler anymore. CellSPU needs more invasive surgery. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93589 91177308-0d34-0410-b5e6-96231b3b80d8 commit ef4314798ee96814fdba9ebd4b21a148926b9738 Author: Erick Tryzelaar <idadesub@users.sourceforge.net> Date: Fri Jan 15 23:49:16 2010 +0000 Fix bug 5992: O'Caml's llvm_create_module was treating the context as a string. Thanks Andy Ray for catching this! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93588 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2a07ff98622eb583b245a917d77210c7f8781619 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 23:38:51 2010 +0000 add a version of AsmPrinter::printVisibility that takes an MCSymbol. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93587 91177308-0d34-0410-b5e6-96231b3b80d8 commit d373d64307ac024599597ef23045df735ae65d59 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 23:31:55 2010 +0000 use MCSymbol instead of getMangledName() in all cases except one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93582 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9eee1f8280772968a4dc5e8404ef86ffddb15a97 Author: Ted Kremenek <kremenek@apple.com> Date: Fri Jan 15 23:29:34 2010 +0000 BumpPtrAllocator: Have the DefaultSlabAllocator created at runtime, not initialization time. This removes one of the 'init_constructors' reported in <rdar://problem/7545356>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93581 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8e995e6e8a88e5242a31a8af2438b2a36388ec87 Author: Dale Johannesen <dalej@apple.com> Date: Fri Jan 15 23:29:29 2010 +0000 Adjust some comments per review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93580 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1bfba6b89965c5603cc45276f26e58fd1653fd1f Author: Dale Johannesen <dalej@apple.com> Date: Fri Jan 15 23:28:49 2010 +0000 Remove unneeded argument per review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93579 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2f28673e879a011f5215d6a28b40d6367b4ac9e2 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 23:26:49 2010 +0000 mc'ize a bunch of symbol stuff, eliminating std::strings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93578 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9a14ba5c574a8b04b53c7b1a7986c5d10cbca3a7 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 23:25:11 2010 +0000 add another helper git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93577 91177308-0d34-0410-b5e6-96231b3b80d8 commit d16ad064033e18d0d47c241f3f01b3795209016a Author: David Greene <greened@obbligato.org> Date: Fri Jan 15 23:23:41 2010 +0000 Fix PR6019. A load has more than one use if it feeds a bitconvert that has more than one use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93576 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8eb8c2f4e596a1ab722718266a5b6f0717b70c3 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 23:18:17 2010 +0000 add a AsmPrinter::GetGlobalValueSymbol and GetExternalSymbolSymbol helper method, use it to simplify some code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93575 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f6532ddb9565c661380bd1527325ad33e6079c7 Author: Ted Kremenek <kremenek@apple.com> Date: Fri Jan 15 22:59:46 2010 +0000 Update CMake build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93571 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8fe97053fc985508b8d629993aa9191807a13841 Author: Ted Kremenek <kremenek@apple.com> Date: Fri Jan 15 22:59:11 2010 +0000 Update CMake build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93570 91177308-0d34-0410-b5e6-96231b3b80d8 commit d90b88b011686d6c1b131d0c0ceef3df4642be04 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Jan 15 22:27:37 2010 +0000 add testcase for r93564 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93567 91177308-0d34-0410-b5e6-96231b3b80d8 commit c447e6125b58ac553dd9a2d6f6c598026d2af437 Author: Dan Gohman <gohman@apple.com> Date: Fri Jan 15 22:22:58 2010 +0000 Add comments to the dump() and dumpr() routines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93566 91177308-0d34-0410-b5e6-96231b3b80d8 commit bfdeaf45c4d93fc17429c215e5505208473dc8bc Author: Dale Johannesen <dalej@apple.com> Date: Fri Jan 15 22:22:35 2010 +0000 DEBUG_VALUE is now variable sized, as it has a target-dependent memory address representation in it. Restore X86 printing of DEBUG_VALUE; lowering is done in X86RegisterInfo using the normal algorithm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93565 91177308-0d34-0410-b5e6-96231b3b80d8 commit 453ab0706b3198193d3acfef13c34c66ce74d255 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Jan 15 22:21:03 2010 +0000 Update Thumb1 storeRegToStackSlot() and loadRegFromStackSlot() to properly handle physical registers R0-R7 when described as having a non-tGPR register class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93564 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4168808fe01dfc527475693ffd0c726e980d0250 Author: Dan Gohman <gohman@apple.com> Date: Fri Jan 15 22:18:15 2010 +0000 Fix a typo that Anton noticed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93563 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0ba3d00b5879ceb182da72896f29153a00fbe979 Author: Devang Patel <dpatel@apple.com> Date: Fri Jan 15 22:08:16 2010 +0000 Add FIXME. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93562 91177308-0d34-0410-b5e6-96231b3b80d8 commit 71beb8feb0b2e3c377c5d3b936069d2b199ac769 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Jan 15 21:55:02 2010 +0000 Fix a comment typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93560 91177308-0d34-0410-b5e6-96231b3b80d8 commit 73fd9c83e00f7d2bf07e7f75313b681bd3f4d618 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 21:50:19 2010 +0000 move "Metadata Nodes and Metadata Strings" section to the right place in the document and edit it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93559 91177308-0d34-0410-b5e6-96231b3b80d8 commit bbc90a5a01951497d5dc2507c1775d9ff7acbca2 Author: Eric Christopher <echristo@apple.com> Date: Fri Jan 15 21:36:30 2010 +0000 Remove the InlineHint attribute. There are no current or planned users. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93558 91177308-0d34-0410-b5e6-96231b3b80d8 commit e15db684275e0506cd64dfc38c985cb6ba8ae9d6 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Fri Jan 15 21:19:43 2010 +0000 zext / truncate is free on msp430. Inform codegen about this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93556 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4cc89fdd65c6f81bdfbc6ec96b35c4f6790ccaa8 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Fri Jan 15 21:19:26 2010 +0000 Reenable tests git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93555 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca2c00780023f4cd7b54ab2a07d9fc5002a22c8a Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Fri Jan 15 21:19:05 2010 +0000 Add branch relaxation pass (shamelessly stolen from PPC). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93554 91177308-0d34-0410-b5e6-96231b3b80d8 commit 30a211f4c265bab1c39b2c1a8a9c270daee3023b Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Fri Jan 15 21:18:39 2010 +0000 Provide instruction sizes & encoding. No opcodes yet (but not needed so far). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93553 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8b2004f244c39f94b246a79986371dd065b9332a Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Fri Jan 15 21:18:18 2010 +0000 Enable bit tests and setcc stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93552 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8eb9e38a4cce4233cdffea05aac2d36228fd2190 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Fri Jan 15 21:18:02 2010 +0000 Add micro-optimization which allows us to fold imm into cmp. This allows us to save 1 word (sometimes) and reduce register pressure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93551 91177308-0d34-0410-b5e6-96231b3b80d8 commit fd786d76b3d1b57877add6c201a7867509eb6758 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Fri Jan 15 21:17:13 2010 +0000 Add instruction formats & support stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93550 91177308-0d34-0410-b5e6-96231b3b80d8 commit a2b456eaa5f994c054d917816b26a28299da091a Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Fri Jan 15 20:00:12 2010 +0000 Don't make changes to the MBB in MachineBasicBlock::canFallThrough(). This fixes the regression for -pre-regalloc-taildup in MultiSource/Applications/lambda-0.1.3. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93541 91177308-0d34-0410-b5e6-96231b3b80d8 commit ad56f482f17812b99b2e77f54515f8200352a405 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Fri Jan 15 19:59:57 2010 +0000 Simplify logic. Any functional change is unintended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93540 91177308-0d34-0410-b5e6-96231b3b80d8 commit 693b9b9302abeff91f1aceef1306ae86cbbf0bdf Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 19:51:05 2010 +0000 unbreak the build, grr symlinks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93539 91177308-0d34-0410-b5e6-96231b3b80d8 commit 629df86d513070bd13703907edd1c69b72ae8af4 Author: David Greene <greened@obbligato.org> Date: Fri Jan 15 19:43:23 2010 +0000 Add some debug routines to SelectionDAG to dump full DAGs. print/dumpWithDepth allows one to dump a DAG up to N levels deep. dump/printWithFullDepth prints the whole DAG, subject to a depth limit on 100 in the default case (to prevent infinite recursion). Have CannotYetSelect to a dumpWithFullDepth so it is clearer exactly what the non-matching DAG looks like. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93538 91177308-0d34-0410-b5e6-96231b3b80d8 commit ee7d12b25df77d42d1bcffd7046332b5dd97a5b5 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 19:39:23 2010 +0000 fix a bug in range information for $42, eliminate an unneeded argument from ParseExpression. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93536 91177308-0d34-0410-b5e6-96231b3b80d8 commit 36d2c22a8e1432fd06128d200ba6ccb49e51681b Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 19:33:43 2010 +0000 add range information for mem X86Operand's, now all X86Operand's have range info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93535 91177308-0d34-0410-b5e6-96231b3b80d8 commit 717b29aac15677bb6a4c036d2f9a9bf5940f75b3 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 19:28:38 2010 +0000 extend MCAsmParser::ParseExpression and ParseParenExpression to return range information for subexpressions. Use this to provide range info for several new X86Operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93534 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6294228b30eb581423436a809c82918b969294bf Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 19:06:59 2010 +0000 give X86Operand a ctor and start passing SMLoc's into it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93532 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7707ba938b7fd1fe21dcf1d3b0ac3037f4705c25 Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Jan 15 19:04:09 2010 +0000 Improve llvm.dbg.declare intrinsic by referring directly to the storage in its first argument, via function-local metadata (instead of via a bitcast). This patch also cleans up code that expects there to be a bitcast in the first argument and testcases that call llvm.dbg.declare. It also strips old llvm.dbg.declare intrinsics that did not pass metadata as the first argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93531 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8f898ca2753736c7e11c484e42d88d7961419137 Author: Dale Johannesen <dalej@apple.com> Date: Fri Jan 15 18:58:14 2010 +0000 Revert 93499. After discussion with Chris we agreed FrameIndexes should be lowered, but the same way as everything else (target dependent) rather than in a special hacked way. The lowering needs to be done for eventual purposes of Dwarf generation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93530 91177308-0d34-0410-b5e6-96231b3b80d8 commit 27bb05ccb043c00e540ea029c489c1ce9f904100 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 18:51:29 2010 +0000 add range location info for registers, change X86Operand::Create* implementations to avoid copy ctor use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93528 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9b46007e33ac6a48c13d3fe68f248aec89f821ee Author: Nate Begeman <natebegeman@mac.com> Date: Fri Jan 15 18:51:18 2010 +0000 Hook up llc's -filetype=obj to use MCStreamer if an MCCodeEmitter is available. Remove most of old Mach-O Writer support, it has been replaced by MCMachOStreamer Further refactoring to completely remove MachOWriter and drive the object file writer with the AsmPrinter MCInst/MCSection logic is forthcoming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93527 91177308-0d34-0410-b5e6-96231b3b80d8 commit f5e9cd74949a5925c5add6c321e92bc7f22adb29 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 18:44:13 2010 +0000 clean up the memory management of the operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93526 91177308-0d34-0410-b5e6-96231b3b80d8 commit d5983540ba915aece4a3ff729a1c732f3e331e04 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 18:27:19 2010 +0000 refactor ParseRegister to avoid using X86Operand as a temporary datastructure when parsing a mem operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93521 91177308-0d34-0410-b5e6-96231b3b80d8 commit e89193d2cb6afa5faa0e765e9921f2e5f58cce23 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 15 18:08:37 2010 +0000 mention that unwind isn't to be trusted, patch by Dustin Laurence git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93518 91177308-0d34-0410-b5e6-96231b3b80d8 commit ec9c454e07862c7e231a64160742d0d3b920f35d Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Jan 15 17:36:47 2010 +0000 Revert r93504 because older uses of llvm.dbg.declare intrinsics need to be auto-upgraded git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93515 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1485c4468ade4217247b73687cc0ff87571a6301 Author: Jay Foad <jay.foad@gmail.com> Date: Fri Jan 15 11:29:26 2010 +0000 Test case for http://llvm.org/PR6028. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93511 91177308-0d34-0410-b5e6-96231b3b80d8 commit b88a798d8d5c36a2f5fac2bccb1fef2a748d43be Author: Jay Foad <jay.foad@gmail.com> Date: Fri Jan 15 08:32:58 2010 +0000 Fix http://llvm.org/PR6028, an assertion failure when an UndefValue of integer type is used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93509 91177308-0d34-0410-b5e6-96231b3b80d8 commit 46373fd75a2f39a1cb4541496be4606bb7bc8ac1 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Jan 15 06:29:17 2010 +0000 Change pre-regalloc tail duplication to only duplicate indirect branch blocks. The pre-regalloc pass caused some regressions in both compile time and performance of the generated code, and it did not improve performance, except for indirect branches. I also moved the check for single-block loops to speed up the common case when running the taildup pass before reg allocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93505 91177308-0d34-0410-b5e6-96231b3b80d8 commit cf85d133908c0e8f5e792bbf09092055f71eed8b Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Jan 15 03:37:48 2010 +0000 Improve llvm.dbg.declare intrinsic by referring directly to the storage in its first argument, via function-local metadata (instead of via a bitcast). This patch also cleans up code that expects there to be a bitcast in the first argument and testcases that call llvm.dbg.declare. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93504 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c33762fcb92d4a2c4c87a7f166505dfda5cbbeb Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Fri Jan 15 02:09:27 2010 +0000 Temporary disable tests git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93501 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5be890ef254c10c5871deb84651e5b2f90e1dc00 Author: Dale Johannesen <dalej@apple.com> Date: Fri Jan 15 01:54:55 2010 +0000 Lower FrameIndex operand of DEBUG_VALUE (specially) and print it as a comment on X86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93499 91177308-0d34-0410-b5e6-96231b3b80d8 commit 425b0c803d727037201f52e9d7fdf223736bd5a6 Author: Dale Johannesen <dalej@apple.com> Date: Fri Jan 15 01:50:44 2010 +0000 Remove DEBUG_DECLARE, looks like we don't need it. Also, DEBUG_VALUE has side effects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93498 91177308-0d34-0410-b5e6-96231b3b80d8 commit d00ca94481e1c38a2a5884c87a8da208912c873f Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Fri Jan 15 01:29:49 2010 +0000 Fix cmp emission on msp430: we definitely should turn stuff like "icmp lhs, rhs" into "cmp rhs, lhs". This should fix PR5979. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93496 91177308-0d34-0410-b5e6-96231b3b80d8 commit 91d4f32da253072020f37da01eb947fb8bd4321e Author: Devang Patel <dpatel@apple.com> Date: Fri Jan 15 01:12:22 2010 +0000 Do not use AT_specification die for static variables. It confuses gdb. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93494 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0825dec9f18e44ff96408276170622a0e6b242f4 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Fri Jan 15 00:41:53 2010 +0000 Make sure include/llvm/MC/MCParsedAsmOperand.h can be compiled alone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93492 91177308-0d34-0410-b5e6-96231b3b80d8 commit 03d20786894c4ab368f97af77e4828dc564fd99b Author: Jim Grosbach <grosbach@apple.com> Date: Fri Jan 15 00:36:15 2010 +0000 fix 80-column violations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93487 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6372016c7b349b213b895d740e5b7bc0b40fa617 Author: Devang Patel <dpatel@apple.com> Date: Fri Jan 15 00:34:26 2010 +0000 new test case for r93485. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93486 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8ac0913ba36a147c8acb2c1aed76950c3b8d4e7 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Jan 15 00:32:47 2010 +0000 Fix 80 column violations and clean up whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93484 91177308-0d34-0410-b5e6-96231b3b80d8 commit acec84b4922b79d3acf92d223df92ed503dca857 Author: Devang Patel <dpatel@apple.com> Date: Fri Jan 15 00:26:31 2010 +0000 Do not emit multiple AT_container_type attributes. We need to find a better way to emit this info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93481 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1989192870be588160bb734d82925a9179ed097f Author: Jim Grosbach <grosbach@apple.com> Date: Fri Jan 15 00:22:18 2010 +0000 Name change for consistency. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93480 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10ba8daf837c1f7fb7cafb4afed4ad114d37936c Author: Jim Grosbach <grosbach@apple.com> Date: Fri Jan 15 00:18:34 2010 +0000 EmitAtomicCmpSwap() custome inserter needs to delete the MI passed in. EmitAtomicBinary() already does this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93479 91177308-0d34-0410-b5e6-96231b3b80d8 commit 58ccfc49fcce74bc3f2cd74fdc84094e74c119d7 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Thu Jan 14 23:15:26 2010 +0000 Teach PPC how to replaceMachineCodeForFunction correctly. (Fixes JITTest.FunctionIsRecompiledAndRelinked.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93475 91177308-0d34-0410-b5e6-96231b3b80d8 commit a95384dff87b4fe65ae259a9a53910241ef69c67 Author: Eric Christopher <echristo@apple.com> Date: Thu Jan 14 23:00:10 2010 +0000 Pad my commit stats by reducing indentation in this now separate commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93473 91177308-0d34-0410-b5e6-96231b3b80d8 commit f408b41c261983d08bf9141af11291fd915ee0a4 Author: Johnny Chen <johnny.chen@apple.com> Date: Thu Jan 14 22:42:17 2010 +0000 Added 16-bit Thumb Load/Store immediate instructions with encoding bits so that the disassembler can properly decode Load/Store register/immediate instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93471 91177308-0d34-0410-b5e6-96231b3b80d8 commit fc694ce682d80a8149e088e6b8ee0a7ba0587e70 Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 14 22:29:57 2010 +0000 add virtual methods to get the start/end of a MCParsedAsmOperand, the default implementation returns "unknown". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93470 91177308-0d34-0410-b5e6-96231b3b80d8 commit e7a3316c3b862ad5cbd09dec363be38823e831fd Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 14 22:21:20 2010 +0000 Split the TargetAsmParser "ParseInstruction" interface in half: the new ParseInstruction method just parses and returns a list of target operands. A new MatchInstruction interface is used to turn the operand list into an MCInst. This requires new/deleting all the operands, but it also gives targets the ability to use polymorphic operands if they want to. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93469 91177308-0d34-0410-b5e6-96231b3b80d8 commit c999433f9c9e584dfbc2df0e7dc5272b43748fdf Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Thu Jan 14 22:09:38 2010 +0000 Add variable-width shifts for MSP430 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93468 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3efae6ff7ba5a267b0b36edd33b95628da762665 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Thu Jan 14 22:09:11 2010 +0000 Remove pseudo-MI in custom inserter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93467 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6a459b4479c77af81ba823280341fe062c88d60f Author: Dale Johannesen <dalej@apple.com> Date: Thu Jan 14 21:50:17 2010 +0000 Fix a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93463 91177308-0d34-0410-b5e6-96231b3b80d8 commit cd9185b6346e881c9d2635d5249c4a597433831a Author: Eric Christopher <echristo@apple.com> Date: Thu Jan 14 21:48:00 2010 +0000 Few minor changes that were requested. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93462 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1421e8d59a8d0728fe2fee64c4af58d0010c4d76 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Jan 14 21:38:31 2010 +0000 Add comment explaining the necessity of r93456 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93459 91177308-0d34-0410-b5e6-96231b3b80d8 commit 76eeaa86c9e230c1b703a40e56d6befdb7d3fd06 Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 14 21:32:45 2010 +0000 prune #includes in TargetAsmParser.h Pass in SMLoc of instr opcode into ParseInstruction. Make AsmToken be a class, not a struct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93457 91177308-0d34-0410-b5e6-96231b3b80d8 commit e6bb82e68dccb6fac93d38b546780c139ee42fa4 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Jan 14 21:22:16 2010 +0000 Dwarf EH prepare needs to be run after SjLj prepare. Otherwise, catch info can get misplaced when a selector ends up more than one block removed from the parent invoke(s). This could happen when a landing pad is shared by multiple invokes and is also a target of a normal edge from elsewhere. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93456 91177308-0d34-0410-b5e6-96231b3b80d8 commit d4fb247eac24e7a5171d800a978be992a65b7a32 Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 14 21:21:40 2010 +0000 introduce MCParsedAsmOperand git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93455 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9ca6088b0692b85eea2b216ccdf121d805fe8e55 Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 14 21:20:55 2010 +0000 introduce the MCParsedAsmOperand class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93454 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10b2777d3dce6d1a4fa87bf43a920495f3a06836 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Jan 14 21:04:31 2010 +0000 Small tweak to inline cost computation. Ext of i/fcmp results are mostly optimized away in codegen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93453 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10e7e9adfddaa1acbcbf173570e5eb40005143eb Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Thu Jan 14 20:19:51 2010 +0000 Remove spurious semicolon. Patch by Diego Iastrubni! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93450 91177308-0d34-0410-b5e6-96231b3b80d8 commit f9b54563dd72aa7b5a2050f1a70806397f0b1005 Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Jan 14 20:12:34 2010 +0000 In debug builds, assert that function-local metadata has only 1 parent function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93449 91177308-0d34-0410-b5e6-96231b3b80d8 commit 73e6912a5aba875961ab45d88cbefd4d46543104 Author: Eric Christopher <echristo@apple.com> Date: Thu Jan 14 20:12:34 2010 +0000 Reduce the inlining cost of functions that contain calls to easily, and frequently optimized functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93448 91177308-0d34-0410-b5e6-96231b3b80d8 commit 48d78e65301407f8d89fafb3b5a10c1ddeb735ca Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Jan 14 19:54:11 2010 +0000 Simplify code that chooses when to enumerate function-local metadata operands git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93446 91177308-0d34-0410-b5e6-96231b3b80d8 commit b16eb0065a1e5617bc5a107a6bccb4b09b3be232 Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Jan 14 19:38:44 2010 +0000 Avoid modifying ValueEnumerator's MD ValueList by choosing which function-local MD to write based on the function currently being written git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93441 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1dbcea51a7abb6d7a55fda3d0ba5c63b54e97b4a Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Thu Jan 14 18:19:56 2010 +0000 ARM "l" constraint for inline asm means R0-R7, also for Thumb2. This is consistent with llvm-gcc's arm/constraints.md. Certain instructions (e.g. CBZ, CBNZ) require a low register, even in Thumb2 mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93436 91177308-0d34-0410-b5e6-96231b3b80d8 commit dee49e3d45b73fc22613f633c38440b3767202d6 Author: Bill Wendling <isanbard@gmail.com> Date: Thu Jan 14 10:19:55 2010 +0000 Use ENABLE_ASSERTIONS throughout. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93423 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8da116c6cd70b3661dac3c6d885cb1f657600eef Author: Dan Gohman <gohman@apple.com> Date: Thu Jan 14 03:08:49 2010 +0000 Fix a codegen abort seen in 483.xalancbmk. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93417 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7f496b825a85d619a45776c8c46cbb6886a6b5c1 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Jan 14 02:24:50 2010 +0000 Test for r93409. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93410 91177308-0d34-0410-b5e6-96231b3b80d8 commit c6e1d7a4611e9fe3d69cda8a738f890c40538ca9 Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Jan 14 02:12:41 2010 +0000 Extend testcase to also test llvm.dbg.value intrinsic git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93408 91177308-0d34-0410-b5e6-96231b3b80d8 commit 95592437ed8b3c8d1a14f3490073cebb3f344f3f Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Jan 14 01:51:28 2010 +0000 Now that LLParser, AsmWriter, BitcodeReader, and BitcodeWriter all correctly support function-local metadata, test it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93406 91177308-0d34-0410-b5e6-96231b3b80d8 commit aa582d67a059ab1999517d1f14474ff25c5bd211 Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Jan 14 01:50:08 2010 +0000 In WriteFunction(), write function-local metadata before we write the instructions, so instruction's references to metadata are fully resolved by the time they get written. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93403 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5412ca3a3a686cb06c984865e3118b941db04079 Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Jan 14 01:47:37 2010 +0000 Fix printing of function-local metadata in AsmWriter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93402 91177308-0d34-0410-b5e6-96231b3b80d8 commit a330aab51d6044064e5201c3c1ab16d4be658833 Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Jan 14 01:46:02 2010 +0000 Clean up unnecessary return and brackets git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93401 91177308-0d34-0410-b5e6-96231b3b80d8 commit 87d3a90383b71868031d97fe264fddd1e2ed9c47 Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Jan 14 01:45:14 2010 +0000 Add MDNode::getFunction(), which figures out the metadata's function, if it has function that it is local to. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93400 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2879e52c70ed1285c567a64cf38bd8f477b2ebad Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Thu Jan 14 00:54:10 2010 +0000 Don't fold insufficiently aligned ldr/str into ldm/stm instructions. An unaligned ldr causes a trap, and is then emulated by the kernel with awesome performance. The darwin kernel does not emulate unaligned ldm/stm Thumb2 instructions, so don't generate them. This fixes the miscompilation of Multisource/Applications/JM/lencod for Thumb2. Generating unaligned ldr/str pairs from a 16-bit aligned memcpy is probably also a bad idea, but that is beyond the scope of this patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93393 91177308-0d34-0410-b5e6-96231b3b80d8 commit bb8f25926bb5b8b7f2379aef21146bac3be71867 Author: Stuart Hastings <stuart@apple.com> Date: Thu Jan 14 00:34:53 2010 +0000 Erm, previous patch was wrong; Thanks Bill\! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93381 91177308-0d34-0410-b5e6-96231b3b80d8 commit ea40d109ac1753ddea6cf3b082e9ab6e1a1d4965 Author: Stuart Hastings <stuart@apple.com> Date: Thu Jan 14 00:22:05 2010 +0000 Enable assertions by default for Apple-style builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93380 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2a07383e0c6355c9edb54978310024b33fe25fa7 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 23:29:11 2010 +0000 this is an SSE-specific issue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93373 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0479e24dab45053317f2586ce4cb8c213e3416dd Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 23:28:40 2010 +0000 X86 if conversion + tail merging issues from PR6032. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93372 91177308-0d34-0410-b5e6-96231b3b80d8 commit dee74d4ab14c941d0003b8d95fa5e60b582e4ba9 Author: Bill Wendling <isanbard@gmail.com> Date: Wed Jan 13 23:23:17 2010 +0000 When the visitSub method was split into visitSub and visitFSub, this xform was added to the FSub version. However, the original version of this xform guarded against doing this for floating point (!Op0->getType()->isFPOrFPVector()). This is causing LLVM to perform incorrect xforms for code like: void func(double *rhi, double *rlo, double xh, double xl, double yh, double yl){ double mh, ml; double c = 134217729.0; double up, u1, u2, vp, v1, v2; up = xh*c; u1 = (xh - up) + up; u2 = xh - u1; vp = yh*c; v1 = (yh - vp) + vp; v2 = yh - v1; mh = xh*yh; ml = (((u1*v1 - mh) + (u1*v2)) + (u2*v1)) + (u2*v2); ml += xh*yl + xl*yh; *rhi = mh + ml; *rlo = (mh - (*rhi)) + ml; } The last line was optimized away, but rl is intended to be the difference between the infinitely precise result of mh + ml and after it has been rounded to double precision. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93369 91177308-0d34-0410-b5e6-96231b3b80d8 commit 960771588082bb9fe697624096580e165f9276de Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Wed Jan 13 22:21:43 2010 +0000 Add getSource() to SuccIterator Get the source BB of an iterator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93364 91177308-0d34-0410-b5e6-96231b3b80d8 commit 616dea8327f0370ea69a54cc79e2803e417c4a2b Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Wed Jan 13 22:21:28 2010 +0000 Extend SuccIterator Implement most of the missing methods to make SuccIterator random access. operator[] is still missing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93363 91177308-0d34-0410-b5e6-96231b3b80d8 commit 965db796f1201b52df303ff41221a659d39cdb0d Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 21:51:41 2010 +0000 this test requires SSE, thanks to jyasskin for pointing this out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93360 91177308-0d34-0410-b5e6-96231b3b80d8 commit 09d94b4acb609bce0d15b8beafe23f52a0b858d6 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 21:31:39 2010 +0000 makeNameProper is now private! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93357 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7900c7f84b4e297c330ed9a26e2d473fcc7b3d56 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 21:29:21 2010 +0000 fix ELF section mangling stuff for weak symbols to not use obsolete Mangler interfaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93356 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8793d14fbb27b193921c73ffe63dde055fa16e1 Author: Victor Hernandez <vhernandez@apple.com> Date: Wed Jan 13 21:25:04 2010 +0000 Fix comment typo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93355 91177308-0d34-0410-b5e6-96231b3b80d8 commit d6f55a432675b2f52facfd8939c1d26f88e78670 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 21:21:29 2010 +0000 tidy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93352 91177308-0d34-0410-b5e6-96231b3b80d8 commit df0b6d7e5ed6cb65554035f8fbea434cff3b575f Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 21:12:34 2010 +0000 reduce duplicate mangling logic by using MCSymbol::printMangledName. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93351 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c94fcbaaa65cf3d1087415c3d60a46aa0da6e4b Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 21:09:59 2010 +0000 expose a static function as a static method on the MCSymbol class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93350 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9c1d0b9323b2bff46ddc11699f57baec614551f2 Author: Johnny Chen <johnny.chen@apple.com> Date: Wed Jan 13 21:00:26 2010 +0000 Fixed a couple of places for Thumb MOV where encoding bits are underspecified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93349 91177308-0d34-0410-b5e6-96231b3b80d8 commit 19fe4af382d6bb8a31838e342784cd0cc44a4d34 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Wed Jan 13 19:54:39 2010 +0000 Fix pasto git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93342 91177308-0d34-0410-b5e6-96231b3b80d8 commit 54758997a3ac305e2c51585da42f863e53a2393d Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 19:54:07 2010 +0000 stop the CBE from using deprecated Mangler stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93341 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2ed7889c515877e2f8cb8e9f596d7d4d6fc2ba28 Author: Victor Hernandez <vhernandez@apple.com> Date: Wed Jan 13 19:37:33 2010 +0000 Write function-local metadata as a metadata subblock of a funciton block git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93339 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0340dc0ec231c7535d724c6c01e3f44f73c1e7b3 Author: Victor Hernandez <vhernandez@apple.com> Date: Wed Jan 13 19:36:16 2010 +0000 Enumerate function-local metadata (and its types and operands) only during function-incorporation, global metadata continues to be enumerated during creation of ValueEnumerator git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93338 91177308-0d34-0410-b5e6-96231b3b80d8 commit f59e8a1ea5029df0c2d4eea293eaa577431e841e Author: Victor Hernandez <vhernandez@apple.com> Date: Wed Jan 13 19:34:08 2010 +0000 Parse function-local metadata inside function blocks git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93337 91177308-0d34-0410-b5e6-96231b3b80d8 commit fb7b3cd5adabbf4c902197b01f72ccc82d98ae79 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 19:19:17 2010 +0000 Use the GV version of getNameWithPrefix in TargetLoweringObjectFileCOFF:: SelectSectionForGlobal, unbreaking weak globals with no-name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93336 91177308-0d34-0410-b5e6-96231b3b80d8 commit 90a30f6b36e071aa921d37a1a4149f6b1ae5a01f Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Jan 13 19:16:39 2010 +0000 Commit some changes I had managed to lose last night while refactoring the code. Avoid change use of PHI instructions because it's not legal to insert any instructions before them. This fixes PR6027. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93335 91177308-0d34-0410-b5e6-96231b3b80d8 commit d419147ec0d4c5d2a3d96eba1c78311f8aec5870 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 19:13:16 2010 +0000 just finish MCizing FnStubInfo which cleans it up and simplifies it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93334 91177308-0d34-0410-b5e6-96231b3b80d8 commit bde11f050c25642786a63d3d3f05e6692424a9f2 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 19:05:36 2010 +0000 don't call getNameWithPrefix repeatedly and unnecesarily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93333 91177308-0d34-0410-b5e6-96231b3b80d8 commit a3ec2e4720c7de4b562c0d519f1c33c2119b9d89 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 19:00:57 2010 +0000 properly use MCSymbol to print the strings aquired from getNameWithPrefix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93332 91177308-0d34-0410-b5e6-96231b3b80d8 commit ddae339112715bdd2ab047c1e2538148de0ba811 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Wed Jan 13 12:45:23 2010 +0000 Introduce Twine::toStringRef, a variant of toVector which avoids the copy if the twine can be represented as a single StringRef. Use the new methode to simplify some twine users. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93317 91177308-0d34-0410-b5e6-96231b3b80d8 commit 304c727f425ee8a09635749ec34b35e02bef7e10 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Jan 13 08:45:40 2010 +0000 Re-enable extension optimization pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93313 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2c897bdd8b75aec10543f120426ffea9c1b7572d Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 08:08:33 2010 +0000 upgrade and MC'ize a few uses of makeNameProper. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93310 91177308-0d34-0410-b5e6-96231b3b80d8 commit 966e4ef2a684bb3ee93a487cc0e6cc2e9eb386e3 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 08:04:24 2010 +0000 MC'ize this a bit and upgrade APIs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93309 91177308-0d34-0410-b5e6-96231b3b80d8 commit 74183db4e9e8a85836d586ccf72019195b612fea Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 08:02:14 2010 +0000 add a fixme, ELF MCSection isn't quite right and weak unnamed globals are broken on linux (even though they are pointless, they shouldn't ICE). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93308 91177308-0d34-0410-b5e6-96231b3b80d8 commit 05cda846ddf16a2dbcac2f09327db9e106fae9ec Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Jan 13 08:01:32 2010 +0000 For now, avoid issuing extract_subreg to reuse lower 8-bit, it's not safe in 32-bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93307 91177308-0d34-0410-b5e6-96231b3b80d8 commit c5f8fa4ca174f7fa976d59e20f24bf9f193495e0 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Jan 13 07:59:13 2010 +0000 Add comment; refactor; avoid pulling in DT if it's not used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93306 91177308-0d34-0410-b5e6-96231b3b80d8 commit ccf845edcf88afbb660deaf9c20e00b3ee4ad0a1 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 07:56:59 2010 +0000 eliminate some uses of Mangler::makeNameProper. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93305 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8fb18e8cc79cb0355b8fee837b6f51d96231bf7 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 07:50:21 2010 +0000 don't add the \1 to the name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93304 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5fd08dfd9703ea1fc0c9bc2782cd98e85cdee1cc Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 07:30:49 2010 +0000 remove uses of deprecated functions, this generates slightly different BlockAddress labels, but nothing semantically important. Add a FIXME that BlockAddress codegen is broken if the LLVM BB has an empty name (e.g. strip was run). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93303 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1aeb82bda71e77b46708f462b14d6648e4004ab8 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 07:16:53 2010 +0000 use the new form of getNameWithPrefix, not makeNameProper. Among other things, this would do very weird things if the basic block name had (e.g.) a space in it on darwin: makeNameProper would add quotes, then the mcsymbol would escape the quotes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93302 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8554c4b4eb14c6f8839e1e9da505ede3ceaa3094 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 07:12:06 2010 +0000 add new isSingleStringRef()/getSingleStringRef() methods to twine, and use them to avoid a copy of a string in getNameWithPrefix in the common case. It seems like Value::setName and other places should use this as well? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93301 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6ef48d37c161d181c193cd3dc86fab223b8be87b Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 07:01:09 2010 +0000 ugh, my last patch just sped up a method and changed all the clients that I want to completely eliminate. Add fixme's so I remember this in the future, and add the missing helper that they should be upgraded to use instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93300 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8555d56b331b441c9cfb278e652d40c0102c94c3 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 06:38:18 2010 +0000 change Mangler::makeNameProper to return its result in a SmallVector instead of returning it in an std::string. Based on this change: 1. Change TargetLoweringObjectFileCOFF::getCOFFSection to take a StringRef 2. Change a bunch of targets to call makeNameProper with a smallstring, making several of them *much* more efficient. 3. Rewrite Mangler::makeNameProper to not build names and then prepend prefixes, not use temporary std::strings, and to avoid other crimes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93298 91177308-0d34-0410-b5e6-96231b3b80d8 commit 49467cf4256adab9782dd05759777ca75148a200 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 05:02:57 2010 +0000 my mistake, Mangler::makeNameProper wants to take a twine, not a stringref! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93296 91177308-0d34-0410-b5e6-96231b3b80d8 commit 16d05834c00d11735341953f6accdd32d3eac548 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 04:55:33 2010 +0000 change makeNameProper to take a stringref instead of std::string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93295 91177308-0d34-0410-b5e6-96231b3b80d8 commit bf7a9fffad13ee0fb75cebb98d2d8312ff5383fa Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 04:50:20 2010 +0000 give StringRef a const_iterator member. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93294 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4d62af3950127427e5f904b8004919ef381072ce Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 04:39:46 2010 +0000 fix assert in AsmPrinter::EmitGlobalConstantLargeInt to match reality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93293 91177308-0d34-0410-b5e6-96231b3b80d8 commit b3765504574b67a8c3e89e0c056423fb8334222e Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 04:38:16 2010 +0000 reduce nesting and code duplication in AsmPrinter::EmitGlobalConstantLargeInt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93292 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2c570dbcdbe8bfe5ff078ef06d0ee7c12fa32bb8 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 04:34:19 2010 +0000 reduce indentation and add a fast-path to EmitGlobalConstant for 8-byte integers on 64-bit systems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93291 91177308-0d34-0410-b5e6-96231b3b80d8 commit cd5ef537f3658f4734185c70b9435acdae531cb0 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 13 04:29:19 2010 +0000 reduce indentation and use early exits in AsmPrinter::EmitConstantValueOnly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93290 91177308-0d34-0410-b5e6-96231b3b80d8 commit 95282170f6843740044a41dcc30d042cc7e47e40 Author: Victor Hernandez <vhernandez@apple.com> Date: Wed Jan 13 03:18:30 2010 +0000 Revert 93270 pending investigation of how stray non-constant values end up in ValueEnumerator's ValueList during WriteConstants() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93289 91177308-0d34-0410-b5e6-96231b3b80d8 commit aa2c7c9f33ed984d5af005078e1c30678db84faf Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Jan 13 01:51:43 2010 +0000 Disable opt-ext pass to unbreak the build for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93286 91177308-0d34-0410-b5e6-96231b3b80d8 commit 25940625d845c474210d9940397b146f683f4f0f Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Jan 13 01:43:20 2010 +0000 Remove debug option I accidentally left in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93285 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1e91681a48a184f596f8c643818256e91ebd34fb Author: Dale Johannesen <dalej@apple.com> Date: Wed Jan 13 01:39:38 2010 +0000 Fix a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93284 91177308-0d34-0410-b5e6-96231b3b80d8 commit a4db937f5a15424e4dc9911c07c58fa966da6269 Author: Ted Kremenek <kremenek@apple.com> Date: Wed Jan 13 01:02:47 2010 +0000 Update CMake file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93283 91177308-0d34-0410-b5e6-96231b3b80d8 commit 046133233074e04a758692bfd1e875798ac01a95 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Wed Jan 13 00:43:06 2010 +0000 Remove the JustSP single-register regclass. It was only being used by instructions with the t_addrmode_sp addressing mode, and that is pattern matched in a way that guarantees SP is used. There is never any register allocation done from this class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93280 91177308-0d34-0410-b5e6-96231b3b80d8 commit 778dd2177f8b89fd437800f07c6145872d692227 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Wed Jan 13 00:31:43 2010 +0000 Try to fix the ARM and PPC buildbots. The -mattr=vector-unaligned-mem flag doesn't exist there, and this is an x86 test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93279 91177308-0d34-0410-b5e6-96231b3b80d8 commit e08fff54a2915f5331f7e75b5f4804dd3f2eb368 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Jan 13 00:30:23 2010 +0000 Add a quick pass to optimize sign / zero extension instructions. For targets where the pre-extension values are available in the subreg of the result of the extension, replace the uses of the pre-extension value with the result + extract_subreg. For now, this pass is fairly conservative. It only perform the replacement when both the pre- and post- extension values are used in the block. It will miss cases where the post-extension values are live, but not used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93278 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1241c35b04181da7531854b368c578376a742ddb Author: Dale Johannesen <dalej@apple.com> Date: Wed Jan 13 00:00:24 2010 +0000 Further progration of metadata operands. The dumper doesn't really do what I want yet, but at least it doesn't crash now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93272 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1495b487162ff38614701d9bee37ce73bee627fd Author: Victor Hernandez <vhernandez@apple.com> Date: Tue Jan 12 23:37:59 2010 +0000 Make WriteConstants() more robust against stray values in ValueEnumerator's ValueList git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93270 91177308-0d34-0410-b5e6-96231b3b80d8 commit 38e538d376a4e74d2ada0a9903e6af61dca22fd0 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Jan 12 22:18:56 2010 +0000 Fix a comment typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93261 91177308-0d34-0410-b5e6-96231b3b80d8 commit d0d8d00330d45e9557c704f7fe4a936d3609e0f9 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 12 22:00:04 2010 +0000 use consistent tag kinds for ilist_traits git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93259 91177308-0d34-0410-b5e6-96231b3b80d8 commit 49767c9b7438184bd5f7493c7df8e75b5e144068 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 12 20:41:47 2010 +0000 1) Use the new SimplifyInstructionsInBlock routine instead of the copy in JT. 2) When cloning blocks for PHI or xor conditions, use instsimplify to simplify the code as we go. This allows us to squish common cases early in JT which opens up opportunities for subsequent iterations, and allows it to completely simplify the testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93253 91177308-0d34-0410-b5e6-96231b3b80d8 commit f6b96ec9866167982b456a7db765d527f1e0a873 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 12 19:40:54 2010 +0000 add a helper function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93251 91177308-0d34-0410-b5e6-96231b3b80d8 commit d6c1d2cb7af59f5c697b1b91910950ec29f78373 Author: Devang Patel <dpatel@apple.com> Date: Tue Jan 12 18:57:56 2010 +0000 Use Twine, instead of StringRef, for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93249 91177308-0d34-0410-b5e6-96231b3b80d8 commit 21870c5a2e9c2e2eaeca86d12e4c275149756b13 Author: Devang Patel <dpatel@apple.com> Date: Tue Jan 12 18:34:06 2010 +0000 Use ilist_tratis to autoinsert and remove NamedMDNode from MDSymbolTable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93247 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5e224cf3893ddc20b5e7019f5047f83eebdf7c4b Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Jan 12 18:31:19 2010 +0000 Eliminate or_not_add and just use AddedComplexity so isel tries or_is_add patterns first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93245 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3bec0cfa089896fc7e07ab5abb845ee532cea393 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Jan 12 18:29:23 2010 +0000 Add nounwind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93244 91177308-0d34-0410-b5e6-96231b3b80d8 commit be355f34e0729dc040a599a40f008359749ef014 Author: Duncan Sands <baldrick@free.fr> Date: Tue Jan 12 17:46:16 2010 +0000 Revert commit 93204, since it causes the assembler to barf on x86-64 linux with messages like this: Error: Incorrect register `%r14' used with `l' suffix git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93242 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6cd9f36b7f3d97c1193d072def590065923cd469 Author: Duncan Sands <baldrick@free.fr> Date: Tue Jan 12 08:30:46 2010 +0000 Fix typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93235 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f4f4fffdf4e5f4ad319059e9357fe7ad84d17ca Author: Duncan Sands <baldrick@free.fr> Date: Tue Jan 12 08:21:07 2010 +0000 Tweak commit 91745, which changed target data for both Mingw and Cygwin, to not touch Cygwin: the change caused llvm-gcc build failures due to long double getting the wrong size. Patch by Aaron Gray. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93234 91177308-0d34-0410-b5e6-96231b3b80d8 commit 997d1728fd33bca27402a6e5cf0cd0534797b172 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 12 04:52:47 2010 +0000 Make several tests less fragile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93230 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1a59eb84ed47f553845393e105eb0196d2d6253e Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 12 04:42:54 2010 +0000 Reapply the MOV64r0 patch, with a fix: MOV64r0 clobbers EFLAGS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93229 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9712cf3a0da6e93f9db5a918b921ddbabbb86753 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 12 04:32:35 2010 +0000 Update a partially obsolete comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93228 91177308-0d34-0410-b5e6-96231b3b80d8 commit 07e7dea947431ede055a7748fe215f8d7e988653 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 12 04:30:26 2010 +0000 Fix a typo in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93227 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2a62df736986d233c475d9c2c7ea0a8fb84e5d6d Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 12 02:07:50 2010 +0000 tidy up git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93222 91177308-0d34-0410-b5e6-96231b3b80d8 commit b015ab7e76239fd9b863085d68efa91aca28619c Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 12 02:07:17 2010 +0000 Teach jump threading to duplicate small blocks when the branch condition is a xor with a phi node. This eliminates nonsense like this from 176.gcc in several places: LBB166_84: testl %eax, %eax - setne %al - xorb %cl, %al - notb %al - testb $1, %al - je LBB166_85 + je LBB166_69 + jmp LBB166_85 This is rdar://7391699 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93221 91177308-0d34-0410-b5e6-96231b3b80d8 commit dac07fb1458578df9b6c67b46c47d84c71f899b3 Author: Dale Johannesen <dalej@apple.com> Date: Tue Jan 12 02:01:53 2010 +0000 Add MO_Metadata as an operand kind. Not used yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93220 91177308-0d34-0410-b5e6-96231b3b80d8 commit 31b41036ecde0388929108c70d9b7eb6e4083065 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Jan 12 00:09:37 2010 +0000 Add TargetInstrInfo::isCoalescableInstr. It returns true if the specified instruction is copy like where the source and destination registers can overlap. This is to be used by the coalescable to coalesce the source and destination registers of instructions like X86::MOVSX64rr32. Apparently some crazy people believe the coalescer is too simple. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93210 91177308-0d34-0410-b5e6-96231b3b80d8 commit c69888cabe7acaa6519450d14d298dec25183978 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 11 23:41:09 2010 +0000 some cleanup, and make it obvious that ProcessJumpOnPHI only works on branches by renaming it and checking for a branch at the call site. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93208 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1adfa777684a24ff3df8e6696a817bef91b448ef Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 11 23:18:33 2010 +0000 disable this testcase, PR5997 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93206 91177308-0d34-0410-b5e6-96231b3b80d8 commit 05622b857d032f6f89ad793571f63d342c7d5eae Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Jan 11 22:59:27 2010 +0000 Add manual ISD::OR fastisel selection routines. TableGen is no longer autogen them after 93152 and 93191. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93204 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3881d24e33e918b8e1d54f218eae0ca91027055e Author: Victor Hernandez <vhernandez@apple.com> Date: Mon Jan 11 22:53:48 2010 +0000 Add documentation for llvm.dbg.value intrinsic git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93203 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3f974093444a869ceef2dd3b387c79865509991d Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 11 22:49:40 2010 +0000 reenable the piece that turns trunc(zext(x)) -> x even if zext has multiple uses, codegen has no apparent problem with the trunc version of this, because it turns into a simple subreg idiom git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93202 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6250d378fe142679dfa3e5a4a7b1b323105cef17 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 11 22:45:25 2010 +0000 Disable folding sext(trunc(x)) -> x (and other similar cast/cast cases) when the trunc has multiple uses. Codegen is not able to coalesce the subreg case correctly and so this leads to higher register pressure and spilling (see PR5997). This speeds up 256.bzip2 from 8.60 -> 8.04s on my machine, ~7%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93200 91177308-0d34-0410-b5e6-96231b3b80d8 commit 20c0ca95d363b027d9bedc913ec7d81ff5fa5c6f Author: Victor Hernandez <vhernandez@apple.com> Date: Mon Jan 11 22:31:58 2010 +0000 Consolidate ConvertGlobalValIDToValue, ConvertGlobalOrMetadataValIDToValue, and ConvertValIDToValue into a more powerful ConvertValIDToValue() that does all three's work git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93197 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8941ccfa492c94bf8062817a47a415619b8a497 Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Mon Jan 11 22:22:46 2010 +0000 Remove trailing white spaces in post dominators header file git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93195 91177308-0d34-0410-b5e6-96231b3b80d8 commit e9098bd84df3595bfd9632d9c9e55949e9de34b5 Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Mon Jan 11 22:22:32 2010 +0000 Add getNode() to post dominators. Implement the same interface as already available for dominators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93194 91177308-0d34-0410-b5e6-96231b3b80d8 commit 49e359621c5491296d272ec35279fa7ef4e5a20a Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Jan 11 22:03:29 2010 +0000 Extend r93152 to work on OR r, r. If the source set bits are known not to overlap, then select as an ADD instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93191 91177308-0d34-0410-b5e6-96231b3b80d8 commit 068a9320de8dd78f523946fa8d4119942e224ef5 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 11 21:58:19 2010 +0000 reduce this to a sensible testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93189 91177308-0d34-0410-b5e6-96231b3b80d8 commit f0c408a4063856e29326c2c6bc099ff439b560e4 Author: David Greene <greened@obbligato.org> Date: Mon Jan 11 21:50:35 2010 +0000 Shorten up this testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93187 91177308-0d34-0410-b5e6-96231b3b80d8 commit aa59ffe04ff0e87196a592b9b241b994e5460de7 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Jan 11 21:13:41 2010 +0000 Revert 93158. It's breaking quite a few x86_64 tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93185 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4a7e7902eae583ed525562bc68dd6ae0fde4d3ac Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Mon Jan 11 21:02:33 2010 +0000 Avoid adding PHI arguments for a predecessor that has gone away when a BRCOND was constant folded. This fixes PR5980. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93184 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1d6e1b5be983dd6f7fc72e2556189cabb0a6de67 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Mon Jan 11 20:33:12 2010 +0000 Remove unused string functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93183 91177308-0d34-0410-b5e6-96231b3b80d8 commit e7aaefe2f92f0cec4ea74fd407e0a43428d2abc2 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Jan 11 20:18:04 2010 +0000 Do not turn 8-bit OR to ADD since ADD8ri is not 3-addressfiable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93182 91177308-0d34-0410-b5e6-96231b3b80d8 commit 351d0bd7097d298a5fb32601cb4fd7e6dd57f7f5 Author: Mon P Wang <wangmp@apple.com> Date: Mon Jan 11 20:12:49 2010 +0000 Disable transformation of select of two loads to a select of address and then a load if the loads are not in the default address space because the transformation discards src value info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93180 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0f786eaf08109f7350f52d027c60572ffa5308e9 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Mon Jan 11 19:45:18 2010 +0000 Add StrInStrNoCase, a StringRef version of CStrInCStrNoCase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93174 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9a1969a435ea1079bb763f40c2f7e7eba343774c Author: Devang Patel <dpatel@apple.com> Date: Mon Jan 11 19:35:55 2010 +0000 Add top level section for named metadata. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93172 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6ce22094023895d13ca93858e56e45011876ab99 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Mon Jan 11 19:19:26 2010 +0000 Improve unclear bits and inaccuracies in structure and insertvalue documentation. Patch by Dustin Laurence! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93170 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5f02c5eaf2e18b7ac09cd8b27c0b0e3b7083612f Author: Jeffrey Yasskin <jyasskin@google.com> Date: Mon Jan 11 18:53:47 2010 +0000 Update the -tailcallopt description to match djg's improvements to the calling convention. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93167 91177308-0d34-0410-b5e6-96231b3b80d8 commit 78104868cacedaabbdd6fd942414bf7b77a6011e Author: Devang Patel <dpatel@apple.com> Date: Mon Jan 11 18:52:33 2010 +0000 s/NextValueNo/NextMDValueNo while processing metadata. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93165 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca226531ab9fc85000221a7b160b55b10dcdce1b Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Mon Jan 11 18:44:35 2010 +0000 Turns out llvm-gcc still uses SplitString with a vector. Add it back until I have a fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93163 91177308-0d34-0410-b5e6-96231b3b80d8 commit 086ac78ea4d4ea944a75869c5fd357edba4eaedb Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Mon Jan 11 18:03:24 2010 +0000 Reimplement getToken and SplitString as "StringRef helper functions" - getToken is modeled after StringRef::split but it can split on multiple separator chars and skips leading seperators. - SplitString is a StringRef::split variant for more than 2 elements with the same behaviour as getToken. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93161 91177308-0d34-0410-b5e6-96231b3b80d8 commit d379d96918d8063d25a36c522868d72e29b5ed86 Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 11 17:58:34 2010 +0000 Use a 32-bit and with implicit zero-extension instead of a 64-bit and if it has an immediate with at least 32 bits of leading zeros, to avoid needing to materialize that immediate in a register first. FileCheckize, tidy, and extend a testcase to cover this case. This fixes rdar://7527390. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93160 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6fb7a5024fb9a98ff181c5d2a9c77c7953e0d084 Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 11 17:37:57 2010 +0000 Re-instate MOV64r0 and MOV16r0, with adjustments to work with the new AsmPrinter. This is perhaps less elegant than describing them in terms of MOV32r0 and subreg operations, but it allows the current register to rematerialize them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93158 91177308-0d34-0410-b5e6-96231b3b80d8 commit d21da3e6e415e725824e03262520efbb8149a58a Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 11 17:24:27 2010 +0000 Generalize this check to avoid depending on a specific register assignment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93157 91177308-0d34-0410-b5e6-96231b3b80d8 commit 543461a93129eb01a82e917940c0d951af32c7b3 Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 11 17:23:56 2010 +0000 Make this test less trivial, to avoid spurious failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93156 91177308-0d34-0410-b5e6-96231b3b80d8 commit e15b21f014ffe1186cd8b9884802b6bea7e2888e Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 11 17:21:05 2010 +0000 Pattern top-level operators don't need to be restricted to a single user. The _su forms are intended for non-top-level nodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93155 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6d79e4f053a8cbebdc1476544d883afaf2a5902e Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 11 17:14:46 2010 +0000 Reword this comment to reference a more fundamental issue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93154 91177308-0d34-0410-b5e6-96231b3b80d8 commit 06603838de13691e164ec2bfa1f56da2e10ecc3f Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Jan 11 17:03:47 2010 +0000 Select an OR with immediate as an ADD if the input bits are known zero. This allow the instruction to be 3address-fied if needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93152 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8b55fc02bb4b4c844cd50f489f700f2e8c8ee2e0 Author: David Greene <greened@obbligato.org> Date: Mon Jan 11 16:29:42 2010 +0000 Implement a feature (-vector-unaligned-mem) to allow targets to ignore alignment requirements for SIMD memory operands. This is useful on architectures like the AMD 10h that do not trap on unaligned references if a status bit is twiddled at startup time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93151 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6425510605b8e664e589fc31eb3d15f042d9e02c Author: Victor Hernandez <vhernandez@apple.com> Date: Mon Jan 11 07:45:19 2010 +0000 Respond to Chris' review: Make InsertDbgValueIntrinsic() and get Offset take and recieve a uint64_t. Get constness correct for getVariable() and getValue(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93149 91177308-0d34-0410-b5e6-96231b3b80d8 commit 390fcc5ffcc455ce1afc7d6ca153b65876b634d0 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 11 06:55:24 2010 +0000 add one more bitfield optimization, allowing clang to generate good code on PR4216: _test_bitfield: ## @test_bitfield orl $32962, %edi movl $4294941946, %eax andq %rdi, %rax ret instead of: _test_bitfield: movl $4294941696, %ecx movl %edi, %eax orl $194, %edi orl $32768, %eax andq $250, %rdi andq %rax, %rcx movq %rdi, %rax orq %rcx, %rax ret Evan is looking into the remaining andq+imm -> andl optimization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93147 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4c6ee8169dfcedb5bcb680ab4d212e204f7073c3 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 11 04:05:13 2010 +0000 Extend CanEvaluateZExtd to handle and/or/xor more aggressively in the BitsToClear case. This allows it to promote expressions which have an and/or/xor after the lshr, promoting cases like test2 (from PR4216) and test3 (random extample extracted from a spec benchmark). clang now compiles the code in PR4216 into: _test_bitfield: ## @test_bitfield movl %edi, %eax orl $194, %eax movl $4294902010, %ecx andq %rax, %rcx orl $32768, %edi andq $39936, %rdi movq %rdi, %rax orq %rcx, %rax ret instead of: _test_bitfield: ## @test_bitfield movl %edi, %eax orl $194, %eax movl $4294902010, %ecx andq %rax, %rcx shrl $8, %edi orl $128, %edi shlq $8, %rdi andq $39936, %rdi movq %rdi, %rax orq %rcx, %rax ret which is still not great, but is progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93145 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5e08c3a19a6e45bd15e41c3df04b8ba3c7d84dcb Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 11 03:32:00 2010 +0000 Remove the dead TD argument to CanEvaluateZExtd, and add a new BitsToClear result which allows us to start promoting expressions that end with a lshr-by-constant. This is conservatively correct and better than what we had before (see testcases) but still needs to be extended further. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93144 91177308-0d34-0410-b5e6-96231b3b80d8 commit 41314c1f6da6dcfa806218e750a7ccd8442269ed Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 11 02:43:35 2010 +0000 improve comments, remove dead TD argument to CanEvaluateSExtd. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93143 91177308-0d34-0410-b5e6-96231b3b80d8 commit aa031d29fcb36598ad0e7524eeba7b968775f15c Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 10 20:30:41 2010 +0000 teach sext optimization to handle truncs from types that are not the dest of the sext. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93128 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6ee51f8654f7a3765441c34af43c81032ecce836 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 10 20:25:54 2010 +0000 teach zext optimization how to deal with truncs that don't come from the zext dest type. This allows us to handle test52/53 in cast.ll, and allows llvm-gcc to generate much better code for PR4216 in -m64 mode: _test_bitfield: ## @test_bitfield orl $32962, %edi movl %edi, %eax andl $-25350, %eax ret This also fixes a bug handling vector extends, ensuring that the mask produced is a vector constant, not an integer constant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93127 91177308-0d34-0410-b5e6-96231b3b80d8 commit f3d8a44a4116b338dc5e1760c4fc8c0b435c9afe Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 10 20:21:42 2010 +0000 fix a buggy assertion, CreateIntegerCast should allow integer vectors as well as just integers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93126 91177308-0d34-0410-b5e6-96231b3b80d8 commit df77d76913bc96239d8c630f52a28fff8cf7b1a7 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Sun Jan 10 18:48:49 2010 +0000 Suppress a warning on gcc 4.4. warning: suggest parentheses around ‘&&’ within ‘||’. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93121 91177308-0d34-0410-b5e6-96231b3b80d8 commit 178ec6095c2522d6da1e7a66a2cc5f3ecab775e0 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 10 07:57:20 2010 +0000 simplify CanEvaluateSExtd to return a bool now that we have a simpler profitability predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93111 91177308-0d34-0410-b5e6-96231b3b80d8 commit d26a9010287c3b76b4328c0a6bb9de4e847d475b Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 10 07:42:21 2010 +0000 the NumCastsRemoved argument to CanEvaluateSExtd is dead, remove it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93110 91177308-0d34-0410-b5e6-96231b3b80d8 commit cef643a7cffcf37249fa8908c048d290b7bce03f Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 10 07:40:50 2010 +0000 now that the cost model has changed, we can always consider elimination of a sign extend to be a win, which simplifies the client of CanEvaluateSExtd, and allows us to eliminate more casts (examples taken from real code). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93109 91177308-0d34-0410-b5e6-96231b3b80d8 commit 86de4ca0f1cc0d95d6c1def0b5f96c4e50ce9ddd Author: Victor Hernandez <vhernandez@apple.com> Date: Sun Jan 10 07:14:18 2010 +0000 Compute isFunctionLocal in MDNode ctor or via argument in new function getWhenValsUnresolved(). Document PFS argument to ParseValID() and ConvertGlobalOrMetadataValIDToValue(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93108 91177308-0d34-0410-b5e6-96231b3b80d8 commit 771e466242edb92436d5ae93b42307dcbaad1044 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 10 07:08:30 2010 +0000 change the preferred canonical form for a sign extension to be lshr+ashr instead of trunc+sext. We want to avoid type conversions whenever possible, it is easier to codegen expressions without truncates and extensions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93107 91177308-0d34-0410-b5e6-96231b3b80d8 commit b814f837bf9ca083a1a702e14010d84326d556b6 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 10 06:59:55 2010 +0000 fix indentation of switch statements, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93106 91177308-0d34-0410-b5e6-96231b3b80d8 commit 79046fd0ead7d80018ab7732414c4a0c21b41b15 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 10 06:50:04 2010 +0000 fix pasto that broke bootstrap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93105 91177308-0d34-0410-b5e6-96231b3b80d8 commit 812e446a719dc38e01d58493701c62a46e537e2b Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 10 02:50:04 2010 +0000 simplify CanEvaluateZExtd now that we don't care about the number of bits known clear in the result and don't care about the # casts eliminated. TD is also dead but keeping it for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93098 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2d9228e406d76b4e18d98d03047a834651c4114f Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 10 02:39:31 2010 +0000 two changes: 1) don't try to optimize a sext or zext that is only used by a trunc, let the trunc get optimized first. This avoids some pointless effort in some common cases since instcombine scans down a block in the first pass. 2) Change the cost model for zext elimination to consider an 'and' cheaper than a zext. This allows us to do it more aggressively, and for the next patch to simplify the code quite a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93097 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0ac8ce223227de5de5ba9e3d7d8b0d676a4a578b Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 10 02:22:12 2010 +0000 enhance CanEvaluateZExtd to handle shift left and sext, allowing more expressions to be promoted and casts eliminated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93096 91177308-0d34-0410-b5e6-96231b3b80d8 commit a3d7c306da4bc3477bb10bfd43f61ba0f235f04e Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 10 01:35:55 2010 +0000 remove an xform subsumed by EvaluateInDifferentType. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93095 91177308-0d34-0410-b5e6-96231b3b80d8 commit a44d31b166a84c4e0ff14905c04db781f381a7e9 Author: Julien Lerouge <jlerouge@apple.com> Date: Sun Jan 10 01:07:22 2010 +0000 Fix nondeterministic behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93093 91177308-0d34-0410-b5e6-96231b3b80d8 commit b66b27420b31735c5cf7e7b035689ed6170f27fc Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 10 01:04:31 2010 +0000 clean up this xform by using m_Trunc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93092 91177308-0d34-0410-b5e6-96231b3b80d8 commit dc13154dc85bd26c17815527804c78aa708a1809 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 10 01:00:46 2010 +0000 inline and remove the rest of commonIntCastTransforms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93091 91177308-0d34-0410-b5e6-96231b3b80d8 commit e20f3dd45a603f728d13dde43873750c96cefdae Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 10 00:58:42 2010 +0000 Inline the expression type promotion/demotion stuff out of commonIntCastTransforms into the callers, eliminating a switch, and allowing the static predicate methods to be moved down to live next to the corresponding function. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93089 91177308-0d34-0410-b5e6-96231b3b80d8 commit 440048c27b6462450387d9dc744064cd3e90d6dc Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 9 23:25:21 2010 +0000 hopefully unbreak the ocaml bindings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93082 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1192d8ccdbf231d0f3eda9f9397bfc3e5f022e25 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 9 22:30:40 2010 +0000 add 3 passes which have been added but aren't used afaik. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93080 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8b943dd8ffc9684e48e30a306565ae6467c57c17 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 9 22:27:07 2010 +0000 "In order to ease automatic bindings generation, it would be helpful if boolean values were distinguishable from integers. The attached patch introduces "typedef int LLVMBool;", and uses LLVMBool instead of int throughout the C API, wherever a boolean value is called for." Patch by James Y Knight! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93079 91177308-0d34-0410-b5e6-96231b3b80d8 commit d009f94244e0583126a9a9ca23bdf231b3090119 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Sat Jan 9 19:44:16 2010 +0000 Clarify the requirements for a "tail call" to actually be optimized into a jump. People clearly weren't finding the extra requirements in CodeGenerator.html. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93070 91177308-0d34-0410-b5e6-96231b3b80d8 commit c70bab79d5cb10d92c18942db5f5424f72797dae Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 9 19:24:49 2010 +0000 fix bogus test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93069 91177308-0d34-0410-b5e6-96231b3b80d8 commit dba1e402d851dcba8d48285c9306febe0d2bd59d Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 9 19:24:18 2010 +0000 fix bogus test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93068 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7fbedd2bbeb4a01472d40d9766c16bc01d357c86 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 9 19:20:07 2010 +0000 fix PR5983, reject function bodies with no blocks per the grammar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93067 91177308-0d34-0410-b5e6-96231b3b80d8 commit 12b4c9732917701a648e626fcbd39c86156c15dc Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 9 19:15:14 2010 +0000 improve documentation for linkonce to be less confusing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93066 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7375479e2bd1a4037b5848e6ee117f417d0002b3 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Sat Jan 9 18:56:43 2010 +0000 Fix http://llvm.org/PR5729: x86-64 tail calls were putting their targets into R11, and then asserting that the target was in R9. Since R9 isn't reserved for the target anymore, and is used as an argument, this patch changes the assertion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93065 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8175c3426e34da1fbe54723f5b2bd4ef370ca951 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 9 18:40:31 2010 +0000 2010 is upon us. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93062 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2f2b306981280b43b98cdff2e00baebadbb8a36c Author: Dan Gohman <gohman@apple.com> Date: Sat Jan 9 18:17:45 2010 +0000 Use WriteAsOperand instead of getName() to print loop header names, so that unnamed blocks are handled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93059 91177308-0d34-0410-b5e6-96231b3b80d8 commit 305ce175ae439b529189564849a59d6789cd5ac2 Author: Dan Gohman <gohman@apple.com> Date: Sat Jan 9 17:22:48 2010 +0000 Tighten up the vim LLVM IR syntax highlighting regex for labels, and add a highlighting rule for identifiers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93056 91177308-0d34-0410-b5e6-96231b3b80d8 commit f235cf58d7574682e14df6827d92ddf2506e1d82 Author: Dan Gohman <gohman@apple.com> Date: Sat Jan 9 17:15:21 2010 +0000 Set the vim auto-indent setting for open braces after case statements to follow LLVM source convention. Before: case X: { stuff; } After: case X: { stuff; } git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93055 91177308-0d34-0410-b5e6-96231b3b80d8 commit d5f58e5c06081e60b4a8ba938799d9e1dc97da95 Author: David Chisnall <csdavec@swan.ac.uk> Date: Sat Jan 9 16:27:31 2010 +0000 Fixed linking of modules containing aliases to constant bitcasts. Existing behaviour first tried to replace the aliases with the global that they aliased (rather than the bitcast), causing a crash on an assert because the types didn't match. When this was fixed, it then did the same thing creating the new alias (creating an alias with a different type to its aliasee). Linking modules containing aliases to GEPs is still not quite right. GEPs that are equivalent to bitcasts will be replaced by bitcasts, GEPs that are not will just break. Aliases to GEPs that are not equivalent to bitcasts are horribly broken anyway (it might be worth adding an assert when creating the alias to prevent these being created; they just cause problems later). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93052 91177308-0d34-0410-b5e6-96231b3b80d8 commit b2f154bef2486073b253f93bfb96ec95c408af49 Author: Duncan Sands <baldrick@free.fr> Date: Sat Jan 9 08:30:33 2010 +0000 Suppress use of uninitialized variable warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93046 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9c42e1823c0491834a21f08f60b31b21e781594f Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 9 06:01:36 2010 +0000 only factor from expressions whose uses are empty and whose base is the right expression type. This fixes PR5981. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93045 91177308-0d34-0410-b5e6-96231b3b80d8 commit c807a81409786d58f6a73a018da26fd66aec0790 Author: Dan Gohman <gohman@apple.com> Date: Sat Jan 9 02:13:55 2010 +0000 Revert an earlier change to SIGN_EXTEND_INREG for vectors. The VTSDNode really does need to be a vector type, because TargetLowering::getOperationAction for SIGN_EXTEND_INREG uses that type, and it needs to be able to distinguish between vectors and scalars. Also, fix some more issues with legalization of vector casts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93043 91177308-0d34-0410-b5e6-96231b3b80d8 commit 43bc13b68b86c2136326ff0a245fa065dac9ee7c Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 9 02:02:37 2010 +0000 clean up this code, add a fixme. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93042 91177308-0d34-0410-b5e6-96231b3b80d8 commit 041890c13119d3b398ff4df9644e95bf517a94d3 Author: Devang Patel <dpatel@apple.com> Date: Sat Jan 9 01:44:59 2010 +0000 Delete NamedMDSymTable while destrucing Module. Disable copy ctor and operator= for NamedMDSymTable. Hide typedef that should be public. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93041 91177308-0d34-0410-b5e6-96231b3b80d8 commit 976e43dbca87ed25b2e078948978ea737db514b7 Author: Dale Johannesen <dalej@apple.com> Date: Sat Jan 9 01:24:25 2010 +0000 Add DEBUG_DECLARE. Not used yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93040 91177308-0d34-0410-b5e6-96231b3b80d8 commit 459c5a1e2e8f64e3519858e3d5309c9fb3073ec1 Author: Devang Patel <dpatel@apple.com> Date: Sat Jan 9 01:24:03 2010 +0000 NamedMDNode is never used so there is no need to enumerate it here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93039 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0a18fe82407938da5ec62ce497217fb044b55918 Author: Julien Lerouge <jlerouge@apple.com> Date: Sat Jan 9 01:06:49 2010 +0000 Fix nondeterministic behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93038 91177308-0d34-0410-b5e6-96231b3b80d8 commit f36c6867337e26f5f6168442255605b12cafbd35 Author: Devang Patel <dpatel@apple.com> Date: Sat Jan 9 01:02:22 2010 +0000 NamedMDNode element is either null or MDNode. Otherwise this is a malformed NamedMDNode record. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93037 91177308-0d34-0410-b5e6-96231b3b80d8 commit 580749d7f096d447d30de5706d7b38d0d587f131 Author: Devang Patel <dpatel@apple.com> Date: Sat Jan 9 00:30:14 2010 +0000 Derive NamedMDNode from Value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93032 91177308-0d34-0410-b5e6-96231b3b80d8 commit 53d17bd41e372d6302b8a283f646be7fa17420dc Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Jan 9 00:21:08 2010 +0000 Dan pointed out checking whether a node is dead by comparing its opcode to ISD::DELETED_NODE is not safe. Use a DAGUpdateListener to remove dead nodes from work list instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93031 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0b8c4f4b010dc5abc8748141f5de17cb0bc74d6b Author: Dale Johannesen <dalej@apple.com> Date: Fri Jan 8 23:51:25 2010 +0000 Add DEBUG_VALUE. Not used yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93030 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2c8f4c8af62d1e45c1a24e7d217e796edfe5e9fe Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Jan 8 23:41:50 2010 +0000 Fix a critical bug in 64-bit atomic operation lowering for 32-bit. The results of the cmpxchg8b instructions are being thrown away when it branches back to the top of the checking loop. This means the loop always compares against the old value and this can result in a dead lock. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93028 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2ee164a6e66a3c0f9495567836990aa210876a0f Author: Eric Christopher <echristo@apple.com> Date: Fri Jan 8 21:42:39 2010 +0000 Grammar thinko. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93027 91177308-0d34-0410-b5e6-96231b3b80d8 commit e169d8bfd07d97c608156c4696e9a418f738fb6c Author: Eric Christopher <echristo@apple.com> Date: Fri Jan 8 21:37:11 2010 +0000 Remove unnecessary dyn_cast and add a comment. Part of a WIP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93026 91177308-0d34-0410-b5e6-96231b3b80d8 commit 632002f4605f3f0e39f15710cf441f556c2b9b03 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 8 19:28:47 2010 +0000 mplement a theoretical fixme. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93024 91177308-0d34-0410-b5e6-96231b3b80d8 commit 91cf1207b83e466dfb7381aa324e5c01189e0ed8 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 8 19:19:23 2010 +0000 rename CanEvaluateInDifferentType -> CanEvaluateTruncated and simplify it now that it is only used for truncates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93021 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3ec49f0e24bbdf5053c68b534df66206b866871f Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Jan 8 19:14:57 2010 +0000 Fix comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93020 91177308-0d34-0410-b5e6-96231b3b80d8 commit e19af54f0e8886ceb55f47b97acc4eefe682a5ea Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 8 19:04:21 2010 +0000 teach instcombine to delete sign extending shift pairs (sra(shl X, C), C) when the input is already sign extended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93019 91177308-0d34-0410-b5e6-96231b3b80d8 commit b57b7a0c6f3feb355f11f581b34d49250397a6a4 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 8 19:02:23 2010 +0000 fix PR5978 by peeling the loop so that we avoid shifting the result int by 8 for the first byte. While normally harmless, if the result is smaller than a byte, this shift is invalid. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93018 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c1e23389ba5f7a3ca69a1720ea2db76f3e37984 Author: Duncan Sands <baldrick@free.fr> Date: Fri Jan 8 17:51:48 2010 +0000 Suppress an unused variable warning when assertions are off; remove some trailing whitespace while there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93008 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8e9676ce83ade2878871f01328687e024ced157c Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 8 17:48:19 2010 +0000 tidy up some stuff duncan pointed out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93007 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8c04e69b9f0bfba83df8f3fe13af454e10bc2bf3 Author: Johnny Chen <johnny.chen@apple.com> Date: Fri Jan 8 17:41:33 2010 +0000 Minor change, change the order of two "let Inst{...}" stmts within multiclass T2I_bin_ii12rs definition. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93006 91177308-0d34-0410-b5e6-96231b3b80d8 commit 312d366163543c423e407d7bd5051a89d4431ff3 Author: Eric Christopher <echristo@apple.com> Date: Fri Jan 8 08:24:49 2010 +0000 After further thought revert the patch to make fast-isel avoid putting relocations into the constant pool - this isn't needed for correctness and in the rare occasion it happens would pull us out of fast isel for the block. If fast-isel application startup time ever becomes an issue we can add better support for these addresses instead of bailing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92995 91177308-0d34-0410-b5e6-96231b3b80d8 commit 23432d0d8762223b47e8f109ba2bdf8b75e77160 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Jan 8 02:36:12 2010 +0000 ReplaceAllUsesOfValueWith may delete other nodes that the one being replaced. Do not delete dead nodes again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92988 91177308-0d34-0410-b5e6-96231b3b80d8 commit a3d6fff46b5a1832301135850c601a13a0b5c6ac Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Jan 8 01:29:19 2010 +0000 Fix what looks to me obvious instruction definition bugs. 1. CMPXCHG8B and CMPXCHG16B did not specify implicit physical register defs and uses. 2. LCMPXCHG8B is loading 64 bit memory, not 32 bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92985 91177308-0d34-0410-b5e6-96231b3b80d8 commit 134dcfa3d569587348308e8cd8d995e1597752d1 Author: Eric Christopher <echristo@apple.com> Date: Fri Jan 8 00:05:33 2010 +0000 Remove extraneous include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92972 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0c4eb989ed9e2cf7e6724b63bcd1cc6f2ef944a0 Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Thu Jan 7 23:50:41 2010 +0000 Add assert to check dominance dfs numbers. Compare the dominance information calculated using a dominance tree walk to the information calculated based on DFS numbers, if XDEBUG is enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92969 91177308-0d34-0410-b5e6-96231b3b80d8 commit 689b8144d6689b1c08c163d883185f3bdbb1c0bf Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Thu Jan 7 23:50:25 2010 +0000 Remove workaround in PostDominators Remove a FIXME and unify code that was necessary to work around broken updateDFSNumbers(). Before updateDFSNumbers() did not work correctly for post dominators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92968 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1bdcc0cf6f202d4c83a7bd3233a46c5d84e9752f Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Thu Jan 7 23:50:06 2010 +0000 Fix DFS number calculation for postdominators The DFS number calculation for postdominators was broken. In the case of multiple exits that form the post dominator root nodes, do not iterate over all exits, but start from the virtual root node. Otherwise bbs, that are not post dominated by any exit but by the virtual root node, will never be assigned a DFS number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92967 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3d9ecce309b7d133b6fe6a841dd52980ffb5c273 Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 7 23:44:37 2010 +0000 teach ComputeNumSignBits to look through PHI nodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92964 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6adf1ba76c4533dbe08142585838b5d72506f0be Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 7 23:42:23 2010 +0000 filecheckize git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92963 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce802c07d5d10744bff2b16fd88c46e25a5cf948 Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 7 23:41:00 2010 +0000 Enhance instcombine to reason more strongly about promoting computation that feeds into a zext, similar to the patch I did yesterday for sext. There is a lot of room for extension beyond this patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92962 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c106b561b6d796f1f0e4ef28deb5c677f367857 Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 7 21:59:23 2010 +0000 Fix rdar://7517201, a regression introduced by r92849. When folding a and(any_ext(load)) both the any_ext and the load have to have only a single use. This removes the anyext-uses.ll testcase which started failing because it is unreduced and unclear what it is testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92950 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2b32b5663d77046c560d61f05468b0dc87b4bb8c Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 7 21:53:27 2010 +0000 factor this code better and reduce nesting at the same time, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92948 91177308-0d34-0410-b5e6-96231b3b80d8 commit b8c38fb2275c52c1a7b206e34a5f6d1b8b096d9e Author: David Greene <greened@obbligato.org> Date: Thu Jan 7 21:43:58 2010 +0000 Revert r92939. These intrinsics get matched to LLVM instructions, so removing at Chris' request. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92947 91177308-0d34-0410-b5e6-96231b3b80d8 commit 656988c1575af7f102ecda3b5c5c8322c405a596 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Jan 7 20:58:44 2010 +0000 APInt'fy TargetLowering::SimplifySetCC to fix PR5963. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92943 91177308-0d34-0410-b5e6-96231b3b80d8 commit 41caa6c9b6fb1312853324bc3bfc34559ad2c63c Author: David Greene <greened@obbligato.org> Date: Thu Jan 7 19:47:43 2010 +0000 Add some "missing" instrinsics to make the SSE intrinsic set a bit more orthogonal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92939 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8352338331930938b73930737b4fd543e42b35a8 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Jan 7 19:46:15 2010 +0000 Simplify code. No intended functionality/performance change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92938 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5382bfd8db0236ef99b2b960216afb73befa2db1 Author: Eric Christopher <echristo@apple.com> Date: Thu Jan 7 19:45:14 2010 +0000 If the data requires a relocation then don't attempt to add it to the constant pool for fast-isel. We already don't add it for the normal case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92934 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd05649bf260ba98f9c3e3ae7bc0c8ad0e5af0af Author: Eric Christopher <echristo@apple.com> Date: Thu Jan 7 19:44:05 2010 +0000 We need to put any kind of data with a relocation into a not-readonly segment on darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92933 91177308-0d34-0410-b5e6-96231b3b80d8 commit cb5497752b116baa3397e336a16ab2e9111ba941 Author: Devang Patel <dpatel@apple.com> Date: Thu Jan 7 19:39:36 2010 +0000 Use separate namespace for named metadata. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92931 91177308-0d34-0410-b5e6-96231b3b80d8 commit f106d055dbf1a26a4067c6110a3b8e41534f2bbc Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com> Date: Thu Jan 7 18:46:52 2010 +0000 Fix occurrence typo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92926 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5b725deb1d7ed94eb583d92e6acf5d92e641dedf Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 7 17:53:10 2010 +0000 constant materialization could be improved. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92921 91177308-0d34-0410-b5e6-96231b3b80d8 commit a4eae42f0c15257ff2cbed2c57b062b6d715c2c7 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Jan 7 17:50:57 2010 +0000 Kill dead store. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92920 91177308-0d34-0410-b5e6-96231b3b80d8 commit 405091faf70c7f5cecdf4b76e28cc877adacac53 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Jan 7 17:29:08 2010 +0000 Remove dead variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92919 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8426b4a20e9aea0aae90eaa3ef55564e12d57257 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Jan 7 17:27:56 2010 +0000 Use pop_back_val instead of back()+pop_back. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92918 91177308-0d34-0410-b5e6-96231b3b80d8 commit a3b7277cf7bfcda19691eebb85c8d20f9e1ccaa9 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Jan 7 13:50:07 2010 +0000 Use a do-while loop instead of while + boolean. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92912 91177308-0d34-0410-b5e6-96231b3b80d8 commit 378d545652e3c580e7743c3dc8fa468441150c9d Author: Duncan Sands <baldrick@free.fr> Date: Thu Jan 7 09:05:26 2010 +0000 Correct spelling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92910 91177308-0d34-0410-b5e6-96231b3b80d8 commit ba1c49f15360dd69858b7ea2c6b3c58aace4f0a9 Author: Duncan Sands <baldrick@free.fr> Date: Thu Jan 7 05:48:42 2010 +0000 Be less stingy as to how many selects and phi nodes we are prepared to look through. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92898 91177308-0d34-0410-b5e6-96231b3b80d8 commit 76476aaaaab38d36caccf3bccf553f5ee459f6f9 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Thu Jan 7 02:24:06 2010 +0000 More trivial optimizations to a function well outside the critical path git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92896 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4c106cdb8573b5701646dff97629fb99d59540d7 Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 7 01:20:20 2010 +0000 handle ConstantVector while I'm in here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92892 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f9fe1268eb4f437cf4de50dfc7e06e8cd7a30a0 Author: Chris Lattner <sabre@nondot.org> Date: Thu Jan 7 01:16:21 2010 +0000 fix a globalopt crash on 'bullet' (handling evaluation of a store to an element of a vector in a static ctor) which occurs with an unrelated patch I'm testing. Annoyingly, EvaluateStoreInto basically does exactly the same stuff as InsertElement constant folding, but it now handles vectors, and you can't insertelement into a vector. It would be 'really nice' if GEP into a vector were not legal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92889 91177308-0d34-0410-b5e6-96231b3b80d8 commit f26b80901d602701715d3e3fbe37e0feb797b636 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Jan 7 00:54:06 2010 +0000 Fix a minor regression from my dag combiner changes. One more place which needs to look pass truncates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92885 91177308-0d34-0410-b5e6-96231b3b80d8 commit eacfcd677a4dc1df383eb9ff45fde0c40ab8f98b Author: Douglas Gregor <doug.gregor@gmail.com> Date: Thu Jan 7 00:51:54 2010 +0000 Switch StringRef::edit_distance over to using raw pointers, since both std::vector and llvm::SmallVector have annoying performance tradeoffs. No, I don't expect this to matter, and now it won't. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92884 91177308-0d34-0410-b5e6-96231b3b80d8 commit ccaafd35c2650453cf54d46edc6dedc8d2d70bff Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Thu Jan 7 00:51:04 2010 +0000 Add comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92883 91177308-0d34-0410-b5e6-96231b3b80d8 commit e7cdaa0ff91a8386fbef22a48c85d624391b8cd4 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Jan 6 23:54:42 2010 +0000 80 column violations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92876 91177308-0d34-0410-b5e6-96231b3b80d8 commit e9366a47925207e0030d12df091d6e1cbc5edbf9 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Wed Jan 6 23:52:46 2010 +0000 Allow double defs after tail duplication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92874 91177308-0d34-0410-b5e6-96231b3b80d8 commit aaf7d07332307f7c820f78f2a6ea877b99fa2d98 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Wed Jan 6 23:47:07 2010 +0000 Add Target hook to duplicate machine instructions. Some instructions refer to unique labels, and so cannot be trivially cloned with CloneMachineInstr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92873 91177308-0d34-0410-b5e6-96231b3b80d8 commit fd8159b018f0d5ac327caefee632f2be39b3b8d1 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Jan 6 23:45:18 2010 +0000 Addressing mode 6 (load/store) instructions can't encode an immediate offset for stack references. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92871 91177308-0d34-0410-b5e6-96231b3b80d8 commit f7a3afef91f77182a51be83fa01730000bf358d9 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Jan 6 22:21:25 2010 +0000 Anti-dependency breaking needs to be careful regarding instructions with multiple register definitions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92864 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1f156c4013526c48cb06ed664925b6a7084e9c05 Author: Eric Christopher <echristo@apple.com> Date: Wed Jan 6 20:04:44 2010 +0000 Move the object size intrinsic optimization to inst-combine and make it work for any integer size return type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92853 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0bf0c4cd67b385c7290306ae40562c2f84908e60 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Jan 6 19:43:21 2010 +0000 Comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92850 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8d5cbef24ef9b259a6d57d972bc98b1bda631540 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Jan 6 19:38:29 2010 +0000 Teach dag combine to fold the following transformation more aggressively: (OP (trunc x), (trunc y)) -> (trunc (OP x, y)) Unfortunately this simple change causes dag combine to infinite looping. The problem is the shrink demanded ops optimization tend to canonicalize expressions in the opposite manner. That is badness. This patch disable those optimizations in dag combine but instead it is done as a late pass in sdisel. This also exposes some deficiencies in dag combine and x86 setcc / brcond lowering. Teach them to look pass ISD::TRUNCATE in various places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92849 91177308-0d34-0410-b5e6-96231b3b80d8 commit deeae7a6f0c289aaaac133ccd0d22ca0a4fddbe0 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Wed Jan 6 17:16:00 2010 +0000 Fix struct/class mismatch git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92841 91177308-0d34-0410-b5e6-96231b3b80d8 commit eedb188d34d1a46dd69672f4c6415a373fab9118 Author: Victor Hernandez <vhernandez@apple.com> Date: Wed Jan 6 17:00:21 2010 +0000 When parsing function-local metadata, create a function-local MDNode git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92838 91177308-0d34-0410-b5e6-96231b3b80d8 commit a11e87a37e60a5a4c20b8ffc3de0b4675b2510cd Author: Jim Grosbach <grosbach@apple.com> Date: Wed Jan 6 16:48:02 2010 +0000 80 column and whitespace cleanup git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92837 91177308-0d34-0410-b5e6-96231b3b80d8 commit 39e48e077790523cb83189dcc6880e043968b75c Author: Duncan Sands <baldrick@free.fr> Date: Wed Jan 6 15:37:47 2010 +0000 Fix a README item: have functionattrs look through selects and phi nodes when deciding which pointers point to local memory. I actually checked long ago how useful this is, and it isn't very: it hardly ever fires in the testsuite, but since Chris wants it here it is! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92836 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ba4ba754705f4a8261f5cc206b7550da264b82e Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Wed Jan 6 09:20:39 2010 +0000 Formatting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92831 91177308-0d34-0410-b5e6-96231b3b80d8 commit ad48c6101e1a05463a319d633b5c792cdcefc8dd Author: Lang Hames <lhames@gmail.com> Date: Wed Jan 6 08:53:34 2010 +0000 Fixed malformed -*- lines in PBQP headers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92830 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4a124104bd575702d3cf747362f2f7aed4e24d5c Author: Duncan Sands <baldrick@free.fr> Date: Wed Jan 6 08:45:52 2010 +0000 Partially address a README by having functionattrs consider calls to memcpy, memset and other intrinsics that only access their arguments to be readnone if the intrinsic's arguments all point to local memory. This improves the testcase in the README to readonly, but it could in theory be made readnone, however this would involve more sophisticated analysis that looks through the memcpy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92829 91177308-0d34-0410-b5e6-96231b3b80d8 commit 40520aaab0accf660fb90961ebb571ae4a53bc5b Author: Duncan Sands <baldrick@free.fr> Date: Wed Jan 6 05:49:26 2010 +0000 This is testing a darwin specific feature, so only turn it on for darwin (it fails on linux). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92826 91177308-0d34-0410-b5e6-96231b3b80d8 commit f0e50c434a117c15a8fa1207c0d771a4d7c30149 Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 6 05:32:15 2010 +0000 tweaks suggested by Duncan git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92824 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5ad00c5540f2395f1f1f818fdc8472c94d4ec5b3 Author: Dale Johannesen <dalej@apple.com> Date: Wed Jan 6 02:21:00 2010 +0000 Reenable debug info on PPC. Works well enough to bootstrap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92818 91177308-0d34-0410-b5e6-96231b3b80d8 commit f1650604edab7e4dfa06acf9d3d443d10e55020b Author: Dale Johannesen <dalej@apple.com> Date: Wed Jan 6 02:20:18 2010 +0000 Make sure debug info hook gets called when emitting synonyms for PPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92817 91177308-0d34-0410-b5e6-96231b3b80d8 commit c936035986b63efc9b4939a00f8c7b6c89a4ee7c Author: Chris Lattner <sabre@nondot.org> Date: Wed Jan 6 01:56:21 2010 +0000 Teach instcombine's sext elimination logic to be more aggressive. Previously, instcombine would only promote an expression tree to the larger type if doing so eliminated two casts. This is because a need to manually do the sign extend after the promoted expression tree with two shifts. Now, we keep track of whether the result of the computation is going to be properly sign extended already. If so, we can unconditionally promote the expression, which allows us to zap more sext's. This implements rdar://6598839 (aka gcc pr38751) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92815 91177308-0d34-0410-b5e6-96231b3b80d8 commit e3949409ec0f7daae0bb00b1de69c8e7d4aa6ef8 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Wed Jan 6 00:29:28 2010 +0000 Add <imp-def> and <imp-kill> operands when replacing virtual sub-register defs and kills. An instruction like this: %reg1097:1<def> = VMOVSR %R3<kill>, 14, %reg0 Must be replaced with this when substituting physical registers: %S0<def> = VMOVSR %R3<kill>, 14, %reg0, %D0<imp-def> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92812 91177308-0d34-0410-b5e6-96231b3b80d8 commit a92950a1d89495ff71eeb810afe8a97b91f5d26d Author: Bill Wendling <isanbard@gmail.com> Date: Wed Jan 6 00:23:35 2010 +0000 The previous code could potentially cause a cycle. Allow ordering w.r.t. a 0 order. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92810 91177308-0d34-0410-b5e6-96231b3b80d8 commit 395df6e62a71cfe78544c48bb31428913130eb2a Author: Bill Wendling <isanbard@gmail.com> Date: Wed Jan 6 00:09:23 2010 +0000 Only check the ordering if there is an ordering for each nodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92807 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8a6edbd5f2a4ab57f4a7a1599bcdd6fc0656910a Author: Bill Wendling <isanbard@gmail.com> Date: Tue Jan 5 23:48:12 2010 +0000 Add a semi-primitive form of scheduling via the "SDNode ordering" to the bottom-up scheduler. We prefer the lower order number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92806 91177308-0d34-0410-b5e6-96231b3b80d8 commit e890c0582d64784ef5f46687633b771490d09e17 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 23:00:30 2010 +0000 simplify this code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92800 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2e69f124da5e693c022f26f386cf379aaa8ddbf0 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 22:52:54 2010 +0000 Move this test from test/Transforms/IndVarSimplify to test/CodeGen/X86, as doesn't use -indvars, and it does use llc -march=x86-64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92799 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5c782402abd47ff98c20462f0b4323ee21b3e961 Author: Bill Wendling <isanbard@gmail.com> Date: Tue Jan 5 22:39:10 2010 +0000 Don't assign the shift the same type as the variable being shifted. This could result in illegal types for the SHL operator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92797 91177308-0d34-0410-b5e6-96231b3b80d8 commit 577421fcce5123c07142cf8b566f5018104ed7b8 Author: Johnny Chen <johnny.chen@apple.com> Date: Tue Jan 5 22:37:28 2010 +0000 Undo r92785, it caused test failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92796 91177308-0d34-0410-b5e6-96231b3b80d8 commit c7812806be7e9d35a22891f10db8c0141fc1913b Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 22:30:42 2010 +0000 make this a static function instead of a method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92795 91177308-0d34-0410-b5e6-96231b3b80d8 commit f76867ade835085ac472ee8c2f1bd642f241bc85 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 22:26:32 2010 +0000 Don't use the ISD::NodeType enum for SDNode opcodes, as CodeGen uses several kinds of opcode values which are not declared within that enum. This fixes PR5946. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92794 91177308-0d34-0410-b5e6-96231b3b80d8 commit e1caa0958db19c416203c167b9dc71c9ef518200 Author: Victor Hernandez <vhernandez@apple.com> Date: Tue Jan 5 22:22:14 2010 +0000 Re-add parsing of function-local metadata; this time with testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92793 91177308-0d34-0410-b5e6-96231b3b80d8 commit 45056b1b3b40428cdd2bc868b3e22b08ed7661da Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 22:21:18 2010 +0000 more rearrangement and cleanup, fix my test failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92792 91177308-0d34-0410-b5e6-96231b3b80d8 commit 71713e4d7e08616092cf0c5b5c125cd007137b39 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 22:07:33 2010 +0000 cleanup git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92790 91177308-0d34-0410-b5e6-96231b3b80d8 commit 22c5d59dbbc02e05a9820f8e47677dccae7bc3e9 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 22:01:41 2010 +0000 remove two trunc xforms that are subsumed by EvaluateInDifferentType. The only difference is that EvaluateInDifferentType checks to ensure they are profitable before doing them :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92788 91177308-0d34-0410-b5e6-96231b3b80d8 commit f907f09e3beff5f5cdbf73f03f1176b10a192ade Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 21:54:09 2010 +0000 merge some tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92786 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca9de8db30b09ed84437d208bcce979a4ca54e28 Author: Johnny Chen <johnny.chen@apple.com> Date: Tue Jan 5 21:51:46 2010 +0000 Add Rt2 to the asm format string for 32-bit Thumb load/store register dual instructions. Thumb does not have the restriction that t2 = t+1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92785 91177308-0d34-0410-b5e6-96231b3b80d8 commit 76efae2ec697bdfda9a990d8dcf7f4274618e2be Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 21:48:13 2010 +0000 merge cast2 into cast.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92784 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3e2aa9c6d05ae92967563d4f5ee67b820e49d679 Author: Devang Patel <dpatel@apple.com> Date: Tue Jan 5 21:47:32 2010 +0000 Allow null to be an element of NamedMDNode. e.g. !llvm.stuff = !{!0, !1, null} git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92783 91177308-0d34-0410-b5e6-96231b3b80d8 commit eb6543085aa2fd762d8b4f3d7e1e99b5f6076af9 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 21:46:22 2010 +0000 remove useless test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92782 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2ec43a964e0ede67b993f0d57d5bfb7e074e20c7 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 21:43:08 2010 +0000 another example. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92781 91177308-0d34-0410-b5e6-96231b3b80d8 commit 97b05e1f2cdeb9cefbc7a384f84386929110307d Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Tue Jan 5 21:38:37 2010 +0000 Don't specify CR sub-registers as implicit defs of BL instructions. It is enough to give the super registers CR0, CR1, ..., and specifying the sub-registers as well causes confusion in the liveness computations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92778 91177308-0d34-0410-b5e6-96231b3b80d8 commit a861e464d1b2bc60b4af7e816c39c4caa71a38da Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 21:37:44 2010 +0000 remove a useless negative test, add a rdar # to an xfail that I'm working on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92777 91177308-0d34-0410-b5e6-96231b3b80d8 commit 51d53cad7db9e399c42021ee089a80e0a03ca846 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 21:32:59 2010 +0000 clean up tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92776 91177308-0d34-0410-b5e6-96231b3b80d8 commit cb055724810e5b4d84c0505ba305a5aecfb93513 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 21:16:30 2010 +0000 just remove this xform which is subsumed by others. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92775 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5b1ab26cbc910289f76aa19ec6a510e4e6dab8cd Author: Victor Hernandez <vhernandez@apple.com> Date: Tue Jan 5 21:13:46 2010 +0000 Fix comment for CheckDebugInfoIntrinsics git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92774 91177308-0d34-0410-b5e6-96231b3b80d8 commit 606a958f8d5d8e3417b6b4f8e14c4c55e90d1a42 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 21:11:17 2010 +0000 move a trunc-specific transform out of commonIntCastTransforms into visitTrunc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92773 91177308-0d34-0410-b5e6-96231b3b80d8 commit 93ec5843d1fc59fa69c7e3161a7b06634a6cf78c Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 21:08:02 2010 +0000 Restore dump() methods to Loop and MachineLoop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92772 91177308-0d34-0410-b5e6-96231b3b80d8 commit ad813fb581b9cff83a73b9880dcbd76979caf0d4 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Tue Jan 5 21:05:54 2010 +0000 Move remaining stuff to the isInteger predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92771 91177308-0d34-0410-b5e6-96231b3b80d8 commit 63da1cba0e6d07487bab072e7ee77908f6de5c5b Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 21:04:47 2010 +0000 move a zext specific xform out of commonIntCastTransforms into visitZExt and modernize it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92770 91177308-0d34-0410-b5e6-96231b3b80d8 commit f6a0623e233f3816bb29e604afa10eb584d6cda3 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Tue Jan 5 20:59:36 2010 +0000 Remove livein checks from machine code verifier. A phi operand that is implicitly defined in a predecessor becomes an undefined register after phi elimination. This causes a lot of false positives when the verifier is checking if live-in registers are live-out from all predecessors. Removing the verifier checks seems like a better solution than insisting on IMPLICIT_DEF instructions in predecessor blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92769 91177308-0d34-0410-b5e6-96231b3b80d8 commit b422edb4b823f29dd8858b7f737da4a06fda5696 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 20:57:30 2010 +0000 move a trunc-specific xform out of commonIntCastTransforms into visitTrunc git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92768 91177308-0d34-0410-b5e6-96231b3b80d8 commit 16d493af3fff031e1a79708744aa7379b1373b61 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 20:56:24 2010 +0000 reduce indentation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92766 91177308-0d34-0410-b5e6-96231b3b80d8 commit 479ee3c9e53cb0c4ace0963cf7541c5a85c58f3f Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Tue Jan 5 20:45:43 2010 +0000 Regenerate git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92763 91177308-0d34-0410-b5e6-96231b3b80d8 commit 59dfe2ddb5972ceff4ead29fa4a9e489b3e1f01d Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Tue Jan 5 20:45:13 2010 +0000 Proper deduce z/System LLVM target from target triple when --enable-targets=host is specified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92762 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6aa6bf8f7f435c02ff239cd88e1c2f95b19b9708 Author: Devang Patel <dpatel@apple.com> Date: Tue Jan 5 20:41:31 2010 +0000 NamedMDNode is a collection MDNodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92761 91177308-0d34-0410-b5e6-96231b3b80d8 commit ee780ee28aeb83c8fb2138865ff5f9cf824d43d0 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Tue Jan 5 20:07:06 2010 +0000 Convert a ton of simple integer type equality tests to the new predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92760 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2b915ae131104fa253c8e31aa4bb675f267deed3 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Tue Jan 5 20:04:48 2010 +0000 Add a new predicate for integer type equality tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92759 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c7426eee32d132c4a02177f159ac66ea9a0f331 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 19:11:42 2010 +0000 Add an !eq() operator to TableGen. It operates on strings only. Use !cast<string>() to compare other types of objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92754 91177308-0d34-0410-b5e6-96231b3b80d8 commit 29773ea81f20037e51adf9e56bd24cb274047534 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 18:24:00 2010 +0000 Add an entry on SmallBitVector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92747 91177308-0d34-0410-b5e6-96231b3b80d8 commit eb9dcdd909be81b7e6e7a609e23c9009316a1353 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 18:09:56 2010 +0000 optimize comparisons against cttz/ctlz/ctpop, patch by Alastair Lynn! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92745 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8ddc0968cd2bba6da3ef3138036e036d84217cd Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 17:55:26 2010 +0000 Delete useless trailing semicolons. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92740 91177308-0d34-0410-b5e6-96231b3b80d8 commit 28bdf411d6ec32297ce6739980ef866a52530312 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 17:50:58 2010 +0000 Nick Lewycky pointed out that this code makes changes unconditionally. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92739 91177308-0d34-0410-b5e6-96231b3b80d8 commit b9640cd0439ef4ba5c00ea37abe90703e0acf842 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 17:47:41 2010 +0000 Have TableGen emit code that uses dbgs() rather than errs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92738 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3a3811590dfe3fd6170d52f93058069df8e2caa3 Author: Devang Patel <dpatel@apple.com> Date: Tue Jan 5 16:59:17 2010 +0000 If a scope has only one instruction then first instruction is also the last instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92736 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6fbfa9687086a4012cede8a5a2783359368a3098 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 16:31:45 2010 +0000 Set Changed properly after calling DeleteDeadPHIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92735 91177308-0d34-0410-b5e6-96231b3b80d8 commit f67674f4d2952ba521a50341d53f7c3eadd1e43b Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 16:27:25 2010 +0000 Use do+while instead of while for loops which obviously have a non-zero trip count. Use SmallVector's pop_back_val(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92734 91177308-0d34-0410-b5e6-96231b3b80d8 commit e287750464c4fd8cec6c4f69b1a6e92579e4300b Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 16:20:55 2010 +0000 Fix indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92733 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1457eefb50e703a2714db72d294650b972e5aaae Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 15:45:31 2010 +0000 Make RecursivelyDeleteTriviallyDeadInstructions, RecursivelyDeleteDeadPHINode, and DeleteDeadPHIs return a flag indicating whether they made any changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92732 91177308-0d34-0410-b5e6-96231b3b80d8 commit c5827eb7c9743b407e423ecebe7e0d5600e835d9 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 15:28:21 2010 +0000 Some versions of GCC don't like non-static data members in sizeof in this context. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92731 91177308-0d34-0410-b5e6-96231b3b80d8 commit b564a5e38a3d697a2dcdc0fd3c67b5fee589eee5 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 15:04:49 2010 +0000 Add a SmallBitVector class, which mimics BitVector but uses only a single pointer (PointerIntPair) member. In "small" mode, the pointer field is reinterpreted as a set of bits. In "large" mode, the pointer points to a heap-allocated object. Also, give BitVector empty and swap functions. And, add some simple unittests for BitVector and SmallBitVector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92730 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7dc6d30881a65dc537c0c3a5c1c005e1449c2133 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Tue Jan 5 13:32:48 2010 +0000 Add newline at EOF. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92727 91177308-0d34-0410-b5e6-96231b3b80d8 commit 858baacd9c8cfae680149e4d72dab591a5fd637c Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Tue Jan 5 13:12:22 2010 +0000 Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92726 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7e464881096a6ef718ee688d080abd7e701371b0 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 07:54:43 2010 +0000 prune some #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92712 91177308-0d34-0410-b5e6-96231b3b80d8 commit bb72cf3929ba8042b0b230763cee02cdd0c88288 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 07:50:36 2010 +0000 split and/or/xor out into one overly-large (2000LOC) file. However, I think it does make sense to keep them together, at least for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92711 91177308-0d34-0410-b5e6-96231b3b80d8 commit ae482825f6ac21f924a210234a2e4b6c6a4fa82d Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 07:45:02 2010 +0000 missed file with previous commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92710 91177308-0d34-0410-b5e6-96231b3b80d8 commit d351cbf681772a64c07daeec87855c801bf9d74d Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 07:44:46 2010 +0000 split instcombine of shifts out to its own file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92709 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1af5dfe4f0862350ab2a35a629d5b63fac6576a6 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 07:42:10 2010 +0000 eliminate getBitCastOperand and simplify some over-complex inbounds stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92708 91177308-0d34-0410-b5e6-96231b3b80d8 commit d2297ce9d1815478d31dac279a7ad3a669f5d7ba Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 07:32:13 2010 +0000 split call handling out to InstCombineCalls.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92707 91177308-0d34-0410-b5e6-96231b3b80d8 commit d5d0e61248bfc0b9cfb4983065e565c210b07791 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 07:23:56 2010 +0000 optimize cttz and ctlz when we can prove something about the leading/trailing bits. Patch by Alastair Lynn! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92706 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5d84c24f92b885713398c90b2dcee259f25403f5 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 07:20:54 2010 +0000 this inline function moved to addsub git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92705 91177308-0d34-0410-b5e6-96231b3b80d8 commit d703eac299f29f6268be2618668e57901083542a Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 07:18:46 2010 +0000 split add/sub out to its own file. Eliminate use of dyn_castNotVal in the X+~X transform. dyn_castNotVal is dramatic overkill for what the xform needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92704 91177308-0d34-0410-b5e6-96231b3b80d8 commit 42fae658f2d2901ec44ce0517ce3daf5d71b0895 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 07:04:23 2010 +0000 all the places we use hasOneUse() we know are instructions, so inline and simplify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92700 91177308-0d34-0410-b5e6-96231b3b80d8 commit 814855971448ccc6e772c0303d6f042a0cda674e Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 07:01:16 2010 +0000 eliminate AssociativeOpt and its last uses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92697 91177308-0d34-0410-b5e6-96231b3b80d8 commit b93a1fd7e5455a00306a7a09fc46c669dd7021d9 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 06:59:49 2010 +0000 inline the FoldICmpLogical functor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92695 91177308-0d34-0410-b5e6-96231b3b80d8 commit 026ba2cf2249ae64bebe4eaab7d5aef1403d010a Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Jan 5 06:52:31 2010 +0000 Code refactoring. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92694 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7ba5f27addb99d481ae5f685d05ffb42cb211871 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 06:29:13 2010 +0000 inline the 'AddRHS' transformation, simplifying things significantly. Eliminate the 'AddMaskingAnd' transformation, it is redundant with this more general code right below it: // A+B --> A|B iff A and B have no bits set in common. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92693 91177308-0d34-0410-b5e6-96231b3b80d8 commit 96a816542b98c6dd14b4667aab400745a7b0d5a7 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 06:24:06 2010 +0000 remove massive over-genality manifested as a big template that got instantiated. There is no reason for instcombine to try this hard for simple associative optimizations. Next up, eliminate the template completely. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92692 91177308-0d34-0410-b5e6-96231b3b80d8 commit a2b8ec3e8c5a05a4bd69a22927c489089c21b421 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 06:09:35 2010 +0000 split mul/div/rem instructions out to their own file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92689 91177308-0d34-0410-b5e6-96231b3b80d8 commit eae8d32eaa2fb3119af67221c7bafd3bb8d5857d Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 06:05:07 2010 +0000 clean up header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92688 91177308-0d34-0410-b5e6-96231b3b80d8 commit 79604e01bb64b3bee0d1d0351840057de0617702 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 06:03:12 2010 +0000 split select out to its own file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92687 91177308-0d34-0410-b5e6-96231b3b80d8 commit c025853866d3e56dc2f627a6dda97a9333575256 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 05:57:49 2010 +0000 split out load/store/alloca. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92685 91177308-0d34-0410-b5e6-96231b3b80d8 commit f61c5394db9842cefb9e44f9f9fda7c19e698a2e Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 05:42:08 2010 +0000 reduce indentation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92684 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0dad9c196c6bae7a062746c7868a2b75e297f4d8 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 05:36:20 2010 +0000 split vector stuff out to InstCombineVectorOps.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92683 91177308-0d34-0410-b5e6-96231b3b80d8 commit 05b3d10412bbe139175225e2cf949e34c80fe2a4 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 05:31:55 2010 +0000 split PHI node stuff out to InstCombinePHI.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92682 91177308-0d34-0410-b5e6-96231b3b80d8 commit 766096ee360c85c4fcc6b3b98d2086a661c9c5ea Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 05:21:26 2010 +0000 convert various IntrinsicInst's to use class instead of struct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92681 91177308-0d34-0410-b5e6-96231b3b80d8 commit a0a35fed9af18017f2961af9428a1547298db3c4 Author: Chris Lattner <sabre@nondot.org> Date: Tue Jan 5 04:55:35 2010 +0000 fix an infinite loop in reassociate building emacs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92679 91177308-0d34-0410-b5e6-96231b3b80d8 commit 41698a6dfd9977a8ed968c2bc89d8250ea4d9328 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:55:22 2010 +0000 Change this back to errs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92674 91177308-0d34-0410-b5e6-96231b3b80d8 commit 99c71a3dee39e19a3edbd470803924eeb3f9add4 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:53:59 2010 +0000 These should probably be errs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92673 91177308-0d34-0410-b5e6-96231b3b80d8 commit 43c60b5c700d72299f9d1885fa1a6b1920027ae0 Author: Devang Patel <dpatel@apple.com> Date: Tue Jan 5 01:47:06 2010 +0000 Delete renaming use of dead dbg intrinsics. Intrinsic::dbg_stoppoint Intrinsic::dbg_region_start Intrinsic::dbg_region_end Intrinsic::dbg_func_start git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92672 91177308-0d34-0410-b5e6-96231b3b80d8 commit 531076d281fa2d7f6f21af87a04250d3e8ba913d Author: Devang Patel <dpatel@apple.com> Date: Tue Jan 5 01:46:14 2010 +0000 Use StringRef.startswith(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92671 91177308-0d34-0410-b5e6-96231b3b80d8 commit f851739c54a45d6643904d97c5100325bb85d3d0 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:36:30 2010 +0000 Fix a build error by adding a missing commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92670 91177308-0d34-0410-b5e6-96231b3b80d8 commit 95303c43a6cb6fc0aebea1dbd6e86c0382cb7e92 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:34:26 2010 +0000 Fix a build error and change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92669 91177308-0d34-0410-b5e6-96231b3b80d8 commit ff668bd0afa5c8aaf510fc78048e80d7b378ab26 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 01:31:15 2010 +0000 Remove an unneeded svn:ignore property. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92668 91177308-0d34-0410-b5e6-96231b3b80d8 commit d48b9d36ce2411d9fb784811fa3479b434ec528a Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:30:32 2010 +0000 Enable debug buffering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92667 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6f48e8a93bed1a5d72096a27d7dc1561b47c3205 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:30:21 2010 +0000 Enable debug buffering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92666 91177308-0d34-0410-b5e6-96231b3b80d8 commit 215fdbe5e0022bbfcafad1db0a2e1e5e039279f7 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:30:18 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92665 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6da905440f801558cb0d8c02b8006e09557c3c07 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:30:14 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92664 91177308-0d34-0410-b5e6-96231b3b80d8 commit 382d2a453480a0e7f6538e11b2d50c69e1a6e8f1 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:30:09 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92663 91177308-0d34-0410-b5e6-96231b3b80d8 commit d0529d6db651b0a96d48cca38021e7bfaf5b2a43 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:30:06 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92662 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9b306fece97e14dcdc4de5aea270666b25435532 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:30:04 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92661 91177308-0d34-0410-b5e6-96231b3b80d8 commit 529ac770e9009a1d9de97a61ff8d07822c121587 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:30:02 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92660 91177308-0d34-0410-b5e6-96231b3b80d8 commit d0a29a72319f76ef7ed6a4f14a5bce833f077dc3 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:30:00 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92659 91177308-0d34-0410-b5e6-96231b3b80d8 commit faaddb09209ce9bb8f1a658f9cbb5f0d17e57e43 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:29:58 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92658 91177308-0d34-0410-b5e6-96231b3b80d8 commit f67089ae87e5f4296c88caa9bb019d26190efd2c Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:29:55 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92657 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6cce0b1be6f65dc8f24824de8eb148aa405e76b6 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:29:39 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92656 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4b37d570f100622830b7241a5eb243b9fff46184 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:29:36 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92655 91177308-0d34-0410-b5e6-96231b3b80d8 commit 15337a687640c9c72d8432c2afdb97cc39d26d24 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:29:34 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92654 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7c671aefc167ae8dbe46837005688c6c81327948 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:29:29 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92653 91177308-0d34-0410-b5e6-96231b3b80d8 commit 67301b17b8350759c64aa5547fbe83f1baa60f6e Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:29:26 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92652 91177308-0d34-0410-b5e6-96231b3b80d8 commit 852dc4d82b4582ed260b39d67f6572796c080c0b Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:29:23 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92651 91177308-0d34-0410-b5e6-96231b3b80d8 commit 835365cac97924398689e0d69a671ac7b418c055 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:29:19 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92650 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56882e97c4e97a6e86d7d2a0d80d58777f87ab47 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:29:14 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92649 91177308-0d34-0410-b5e6-96231b3b80d8 commit 73c006972f9bc3832d232f61959b743a189121b4 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:29:13 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92648 91177308-0d34-0410-b5e6-96231b3b80d8 commit f1d5c5991760fc2994c124126fa74ab392c6d97a Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:29:08 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92647 91177308-0d34-0410-b5e6-96231b3b80d8 commit 59b924335b7c0b1c5b17d981b4bf3148be8dd628 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:29:03 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92646 91177308-0d34-0410-b5e6-96231b3b80d8 commit 52363b09d7378733ef5bd5590b756726800dbf4a Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:58 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92645 91177308-0d34-0410-b5e6-96231b3b80d8 commit f5bedcbea0e754ae0ba67a59b53e27b8dbfdd331 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:53 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92644 91177308-0d34-0410-b5e6-96231b3b80d8 commit 59a30016da3daa3f4695b20ab00488e7a9ae072d Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:52 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92643 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3efbfee970d7c1c6d2560c9b4be9c9de67b788a0 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:47 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92642 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6ce5f8e7404a61aad3ac1bc59a56fb2a60ba5cbf Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:43 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92641 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8a83d59f3668d34acac46c08cc033307ab4618c5 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:40 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92640 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7ecd022a2e67c3c1794e8fe4ebc8f25c7d7f8da9 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:37 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92639 91177308-0d34-0410-b5e6-96231b3b80d8 commit bd26a7de77554c3e38d88661013a77efc635ed32 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:32 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92638 91177308-0d34-0410-b5e6-96231b3b80d8 commit 22c7c1119b22f529ef2b985877face5791b88829 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:29 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92637 91177308-0d34-0410-b5e6-96231b3b80d8 commit f7d144c6fab0a60928503264f3baf4d17cfbdaa1 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:29 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92636 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2583a55dd3aebdacbbfd99603c13996b4cd3d8d0 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:22 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92635 91177308-0d34-0410-b5e6-96231b3b80d8 commit 60bd5f7897b0d386d71a73844fd3883839821c5a Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:17 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92634 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4185b0fe17814035e6e28c5c0e93b182d23c9125 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:12 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92633 91177308-0d34-0410-b5e6-96231b3b80d8 commit f9a9a0690f376b5dfaecea0d6349cb59dd29c033 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:10 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92632 91177308-0d34-0410-b5e6-96231b3b80d8 commit adea762453eb41624f37e151d284fc20d3ea721c Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:07 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92631 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0ceab92772248e28c3964b7c9245b679c72b23ae Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:07 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92630 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9c9ab7a78ba28729d7c8098927c0bb7c8cc7fcd0 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:28:05 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92629 91177308-0d34-0410-b5e6-96231b3b80d8 commit 61317a6a3789541b9dcd6341916ff31d51cc738f Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:59 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92628 91177308-0d34-0410-b5e6-96231b3b80d8 commit a088f76653c57e8157e6743ae486485dc63a47a9 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:54 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92627 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4d91eb1ee673dc2eb83a82525475b2083efd81be Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:53 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92626 91177308-0d34-0410-b5e6-96231b3b80d8 commit d1bc08c7f8e3a9959c33ff114ec3ad30af55b0d5 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:51 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92625 91177308-0d34-0410-b5e6-96231b3b80d8 commit 64f3b3b649fefc065b7714c977d4360d459a4766 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:47 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92624 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0afa05d4487081749fd2f4a4ff2e16300a52d535 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:44 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92623 91177308-0d34-0410-b5e6-96231b3b80d8 commit 79aa2ea6f0e98b1d6c832eaf0f44abbb23c116d5 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:39 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92622 91177308-0d34-0410-b5e6-96231b3b80d8 commit ba58be830bb1c1b429cf85d401d8b92e66dc1329 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:39 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92621 91177308-0d34-0410-b5e6-96231b3b80d8 commit f25948108fbaecb985ab3a2fbbf7d9fa1916338e Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:33 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92620 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8892465cc5cfe8e6f279de9d6246430953e5d21a Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:30 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92619 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0011785b1d262783eda1dcdabac5a3581dc7c0f9 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:26 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92618 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9196a5558243d71d7ed72a838774896b43deff08 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:24 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92617 91177308-0d34-0410-b5e6-96231b3b80d8 commit 35d99dcce0486fca2656a5d8eaa1cf5cc923c530 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:23 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92616 91177308-0d34-0410-b5e6-96231b3b80d8 commit fd461df87ab202fcd702744b79511eaeaf66448b Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:21 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92615 91177308-0d34-0410-b5e6-96231b3b80d8 commit fac2751e262b8306477c6917daeb9ac789e49502 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:19 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92614 91177308-0d34-0410-b5e6-96231b3b80d8 commit 79a83e8d8a7d451171e547edf4a0db10bbaf5cf0 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:17 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92613 91177308-0d34-0410-b5e6-96231b3b80d8 commit bc227c754c5faa7c071e58f0d698e73eef797b28 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:15 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92612 91177308-0d34-0410-b5e6-96231b3b80d8 commit d21e9eeed93ebc545767c0376a7f1a175b4f4672 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:11 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92611 91177308-0d34-0410-b5e6-96231b3b80d8 commit d3c9cb59fdf2754f6ff8000d7a5e36c527c504a9 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:09 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92610 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c4e1a2a7ace4fee36c8ba69f4151b95a6548944 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:06 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92609 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd7f741e59d004e03a265b2d7c8f712a62448c37 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:04 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92608 91177308-0d34-0410-b5e6-96231b3b80d8 commit a3c7a47197bede65dccfa27ffa814326aba414d3 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:27:01 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92607 91177308-0d34-0410-b5e6-96231b3b80d8 commit c634876cea513c5a275b638287a51025be46a067 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:26:57 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92606 91177308-0d34-0410-b5e6-96231b3b80d8 commit e76939b714e55cb85990bcbc6b116374f41404fa Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:26:54 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92605 91177308-0d34-0410-b5e6-96231b3b80d8 commit 068c60489d7c516ea14920e63d19668c931868af Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:26:52 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92604 91177308-0d34-0410-b5e6-96231b3b80d8 commit 57ed64508e31f5cbe84a9cf9d647bcf2a1b3c3d7 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:26:49 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92603 91177308-0d34-0410-b5e6-96231b3b80d8 commit a37114727346745e667dc003990e9afbd3747f88 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:26:45 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92602 91177308-0d34-0410-b5e6-96231b3b80d8 commit d91e136d7029b08fda45b8787f5072a8a1299f47 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:26:44 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92601 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7564d1640d9e6392eea3411c4225d223754abe2e Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:26:41 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92600 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0da7f3da989122349e5f88adec40a0f6fa289886 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:26:39 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92599 91177308-0d34-0410-b5e6-96231b3b80d8 commit c2bbf04af3985f22c4c3a125c92944bc16c4f648 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 01:26:36 2010 +0000 Add an svn:ignore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92598 91177308-0d34-0410-b5e6-96231b3b80d8 commit a3dd58c22213899ccb75a7c2ca8aa231862c07f9 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:26:11 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92597 91177308-0d34-0410-b5e6-96231b3b80d8 commit 776d497ebe1a2f564e6347c9868068da15268760 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:26:09 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92596 91177308-0d34-0410-b5e6-96231b3b80d8 commit b47bdc31a4d95334741afd2f641e1689ebbc6b77 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:26:05 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92595 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c5fe44145e826545583d327163bb85117b8fab1 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:26:01 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92594 91177308-0d34-0410-b5e6-96231b3b80d8 commit b4470f146b54d320ec487817e4d5b5db462360ee Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:26:00 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92593 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4629465b6f1e87f2def1f26daafef9920a32c2c2 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:25:58 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92592 91177308-0d34-0410-b5e6-96231b3b80d8 commit 16fbd3d7b8f99053d375b33f3b59f6d0e0a62fef Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:25:55 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92591 91177308-0d34-0410-b5e6-96231b3b80d8 commit 63a27d7d439ca535de3bae6c706bb7504fe98b3b Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:25:52 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92590 91177308-0d34-0410-b5e6-96231b3b80d8 commit e745659a1bda8c67da88fe675dc04a8e27f1925d Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:25:50 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92589 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2d52f4500b8ff94b69c24667aab93162158443de Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:25:47 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92588 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3d85752a7d4c66ac62cf4f2ba094020ee70935bf Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:25:45 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92587 91177308-0d34-0410-b5e6-96231b3b80d8 commit aa4099eb1bf8ab16ba4a8036afd6f161e04ff9d1 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:25:43 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92586 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6b268b9ca85f035ffabe5dc1ccbe38bba1a29148 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:25:41 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92585 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4cddd05371227ebd98311b3f3c0f626023d38aab Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:25:39 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92584 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5a0d2ab26242c7480217a853afed4028373dc137 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:25:20 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92583 91177308-0d34-0410-b5e6-96231b3b80d8 commit cea20bca449b5ea4a839ea4130fd121c300b9c92 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:25:15 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92582 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3f2c44e41b585b295ffdbd6d3a2d9e00b62775fc Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:25:11 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92581 91177308-0d34-0410-b5e6-96231b3b80d8 commit e3a4bf8ebe6d1dd90bb691a8d264bc202d662aa1 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:25:09 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92580 91177308-0d34-0410-b5e6-96231b3b80d8 commit c104cbb8edc6b851833b551ab17602ac71eebe49 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:25:04 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92579 91177308-0d34-0410-b5e6-96231b3b80d8 commit fc886fd09a37b8afd503786f00f935a78f5913c8 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:25:00 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92578 91177308-0d34-0410-b5e6-96231b3b80d8 commit f622a561bec3cb20e445fd37689a92ecc2408e09 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:24:57 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92577 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c5590fb1ca3540b9ed2e5017810ac51a6c893c6 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:24:54 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92576 91177308-0d34-0410-b5e6-96231b3b80d8 commit a2af6867e420ba87dc4dd29b01e69afab59bfd3c Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:24:53 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92575 91177308-0d34-0410-b5e6-96231b3b80d8 commit 943eb7e561156c187c8a8456aa5e0d08e20b8980 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:24:50 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92574 91177308-0d34-0410-b5e6-96231b3b80d8 commit b0d039ffd114fa91fd4df22cd42842370e03cb59 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:24:48 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92573 91177308-0d34-0410-b5e6-96231b3b80d8 commit bd5f499efa60f305850c1bad00b20404ca628aca Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:24:45 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92572 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3cfe335798a9942af1afab2dcda69cbebfde8994 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:24:43 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92571 91177308-0d34-0410-b5e6-96231b3b80d8 commit da0fe032fe1e3834cadb2731abf2c1065dd460d1 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:24:40 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92570 91177308-0d34-0410-b5e6-96231b3b80d8 commit 34f085e22d9996fffa66ee1caed4371e86795d49 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:24:36 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92569 91177308-0d34-0410-b5e6-96231b3b80d8 commit ac5c2b30d15893827c95c56698990b66e888edf6 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:24:34 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92568 91177308-0d34-0410-b5e6-96231b3b80d8 commit dc4e392f43d93118dc0d90b38eb533fced2e714d Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:24:28 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92567 91177308-0d34-0410-b5e6-96231b3b80d8 commit 95ce44444ab8457d0717ecc97cbc0e785f02094e Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:24:24 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92566 91177308-0d34-0410-b5e6-96231b3b80d8 commit a10627702f4fc7e0e503a8fbc23014da18fd91d8 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:24:21 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92565 91177308-0d34-0410-b5e6-96231b3b80d8 commit 39d140d93435c1d47305d0b1c3b8db7b222b6222 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 01:24:18 2010 +0000 Change SelectCode's argument from SDValue to SDNode *, to make it more clear what information these functions are actually using. This is also a micro-optimization, as passing a SDNode * around is simpler than passing a { SDNode *, int } by value or reference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92564 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0596ab962e731ae23fa4c76b8597383ef6c55a01 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:24:08 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92563 91177308-0d34-0410-b5e6-96231b3b80d8 commit cc82e7278d2eff71b8a47a5b7c8db31ee12b02b5 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:23:38 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92562 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6c9fef71bd4164efec7f46046395b3395c8b3575 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:23:36 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92561 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4714553b53a495261b0ba92705b180368e141129 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 01:23:34 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92560 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6aa30a282356389719971dbc7cdef10b8d2896e3 Author: Devang Patel <dpatel@apple.com> Date: Tue Jan 5 01:10:40 2010 +0000 Remove dead debug info intrinsics. Intrinsic::dbg_stoppoint Intrinsic::dbg_region_start Intrinsic::dbg_region_end Intrinsic::dbg_func_start AutoUpgrade simply ignores these intrinsics now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92557 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9ac796828741a1b2c3e88fc075184a9db2bce949 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 00:44:20 2010 +0000 Remove the SDNPAssociative properties for the flags-producing operators. Eli pointed out that it's not obvious what that would mean. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92555 91177308-0d34-0410-b5e6-96231b3b80d8 commit e7f4c5fc8893cd5ec147dcfaecaf617800ee863d Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 00:42:54 2010 +0000 Simplify this code; avoid duplicating the low-level implementation code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92554 91177308-0d34-0410-b5e6-96231b3b80d8 commit f7b35a5f21112194c360dacc622e24916eb38844 Author: Dan Gohman <gohman@apple.com> Date: Tue Jan 5 00:30:22 2010 +0000 Fix a typo in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92552 91177308-0d34-0410-b5e6-96231b3b80d8 commit f28809f180f22eb4192453cc4e0424f8cd41107d Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Jan 5 00:15:58 2010 +0000 Fix some struct/class specifier mismatches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92550 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3af787f06e5e1666cb524108809b64a51519e821 Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 00:10:05 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92548 91177308-0d34-0410-b5e6-96231b3b80d8 commit b46fdc9d84af01acad41e371d1877bf45b1bdcdd Author: David Greene <greened@obbligato.org> Date: Tue Jan 5 00:03:48 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92547 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7740668041ab6fd7315ca049a0d967ee3c264dc8 Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 23:48:20 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92545 91177308-0d34-0410-b5e6-96231b3b80d8 commit bd6aa515da7f9404f1fcc0c07b5c8ebd922639d2 Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 23:39:17 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92544 91177308-0d34-0410-b5e6-96231b3b80d8 commit 64fcd6ae4e3e5838f8954d5853031f96fbeb2565 Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 23:22:07 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92542 91177308-0d34-0410-b5e6-96231b3b80d8 commit 186652ea7b671784c6987b4eb0a2f4e663f40fb9 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Jan 4 23:17:24 2010 +0000 Update CMake LibDeps git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92540 91177308-0d34-0410-b5e6-96231b3b80d8 commit 935e55d50f4cab2e2ca15efc9951a2fb2bb04bc0 Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 23:14:46 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92539 91177308-0d34-0410-b5e6-96231b3b80d8 commit 58efec0df55ebc1ad60eb51aba2b2583cf3e55c8 Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 23:06:47 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92535 91177308-0d34-0410-b5e6-96231b3b80d8 commit 76a36035fa6480cc945fea7b020758102ec05149 Author: Devang Patel <dpatel@apple.com> Date: Mon Jan 4 23:04:36 2010 +0000 Fix debug_inlined section entries for routines whose names are changed through __asm() extension. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92533 91177308-0d34-0410-b5e6-96231b3b80d8 commit 84aab429d79955e5c13dfeaa210c7aaccaba44eb Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 23:02:10 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92532 91177308-0d34-0410-b5e6-96231b3b80d8 commit 652c5971b72c00ec4e753b1bdb56f80a95a8bbf5 Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 22:49:02 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92529 91177308-0d34-0410-b5e6-96231b3b80d8 commit 70a291d70d6285c6f0392e9a94c5c89e3f89db20 Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 22:41:43 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92528 91177308-0d34-0410-b5e6-96231b3b80d8 commit f0bf334e685123790b89f8bd1d4628a98d1a63b7 Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 22:33:16 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92524 91177308-0d34-0410-b5e6-96231b3b80d8 commit 55fa754fbdb50727509d61d3ef0ea39755eb40ca Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Jan 4 22:03:51 2010 +0000 tblgen/OptParser: Use EmitSourceFileHeader. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92521 91177308-0d34-0410-b5e6-96231b3b80d8 commit c3d201c40d3cfd5f7c47db544d0163549b97cd73 Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 22:02:01 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92520 91177308-0d34-0410-b5e6-96231b3b80d8 commit f398207f3eafa89375414ee8494a366040131cf9 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Mon Jan 4 21:58:55 2010 +0000 Fix CMake build for InstCombine changes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92519 91177308-0d34-0410-b5e6-96231b3b80d8 commit 43d49789c42281da24317ac5fe35aa570a787ec0 Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 21:48:34 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92518 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2c9becc2902dbbd23607546ffa8c3cfd10c7182e Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 21:35:15 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92516 91177308-0d34-0410-b5e6-96231b3b80d8 commit c7948031039206fc69c92a63459b2937ec6918b4 Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 21:26:07 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92515 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7908cbcbfbc70072231d2a4d3634455f4c3765a0 Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 4 21:23:34 2010 +0000 Make this test more portable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92514 91177308-0d34-0410-b5e6-96231b3b80d8 commit f94a1da1ad4ccfab06440a63d4af16e2368da537 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Jan 4 21:22:48 2010 +0000 Perform this folding as a target specific dag combine: (or (x << c) | (y >> (64 - c))) ==> (shld64 x, y, c) The isel patterns may not catch all the cases if general dag combine has reduced width of source operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92513 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca20adc5b0ede83ed94670f38cab04ed314266dd Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 4 21:00:54 2010 +0000 Use a pointer type rather than MVT::Other for the ExternalSymbol node used in an inline asm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92512 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2ded4e05a5295cb0f30fc9706bb9ed5c96b60bb8 Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 4 20:55:05 2010 +0000 Remove some README.txt entries which are now implemented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92511 91177308-0d34-0410-b5e6-96231b3b80d8 commit 211f193cef4d20bfdda069634ca015a9c16570a4 Author: Devang Patel <dpatel@apple.com> Date: Mon Jan 4 20:54:06 2010 +0000 Remove oversimplified test case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92510 91177308-0d34-0410-b5e6-96231b3b80d8 commit 78591841b67f381ad822f76c4d5ce99891688d22 Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 4 20:53:54 2010 +0000 Add some tests and update an existing test to reflect recent x86 isel peeps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92509 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7e8173fa6f122ddc2680eb974f6618dfae1f3973 Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 4 20:52:50 2010 +0000 A use by operand 1 or 2 of a SELECT is not a FLAGS use. This lets the test-elimination work in more conditional-move cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92508 91177308-0d34-0410-b5e6-96231b3b80d8 commit cfbbad61bac01130af80d78538d3753207debb29 Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 4 20:51:50 2010 +0000 Flags-producing add, and, or, etc. have the same profibility rules as normal add, and, or, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92507 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2a3828c2f5f39d4cc8b911d98cb246ca2a9afeb2 Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 4 20:51:05 2010 +0000 Add SDNPCommutative and SDNPAssociative to several X86 target nodes. This lets isel fold loads into them in more cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92506 91177308-0d34-0410-b5e6-96231b3b80d8 commit a48781ef9f52fa184b38ff497ae0912d13c24c4d Author: Devang Patel <dpatel@apple.com> Date: Mon Jan 4 20:44:00 2010 +0000 Fix begin and end markers for nested scopes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92505 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2b792c95e6d4e3139a92e1153685946f1b11f845 Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 4 20:36:57 2010 +0000 Replace some special-case code which probably was buggy with an assertion verifying that the special case does not occur. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92504 91177308-0d34-0410-b5e6-96231b3b80d8 commit cce9d29538cca89df73ca76b8bb7bbd065badf15 Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 4 20:31:55 2010 +0000 Remove the CPAttrParentAsRoot code, which is unused, and inconvenient for a refactoring I'm working on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92503 91177308-0d34-0410-b5e6-96231b3b80d8 commit 262378f0fe604903e98b8b9c696f7aa896f054c6 Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 19:57:26 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92502 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c6ce780e77241207156775ca4e85489f5e5ff82 Author: Devang Patel <dpatel@apple.com> Date: Mon Jan 4 19:41:13 2010 +0000 The test, derived from optimzed IR, does not mention "bar" in debug info anywhere so the dwarf writer is not expected to emit any debug info for function "bar". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92499 91177308-0d34-0410-b5e6-96231b3b80d8 commit ae758424789f1d19e87bd3d110177ec79271f960 Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 19:36:42 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92498 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4a28ffb27778158d230faa706ba627b3e41099f5 Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 19:10:20 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92496 91177308-0d34-0410-b5e6-96231b3b80d8 commit c435b9e36e8ba86654d488d7c3de3caaaf6e0753 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 4 18:57:15 2010 +0000 Truncate GEP indexes larger than the pointer size down to pointer size when doing this transform if the GEP is not inbounds. No testcase because it is very difficult to trigger this: instcombine already canonicalizes GEP indices to pointer size, so it relies specific permutations of the instcombine worklist. Thanks to Duncan for pointing this possible problem out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92495 91177308-0d34-0410-b5e6-96231b3b80d8 commit a1bb07aa0d9650f11d99de47f1cf9da531b45cac Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 4 18:48:26 2010 +0000 silence a bogus 'might be used uninit' warning from GCC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92494 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6f3bf4c5544c4857eebf61b1055dd90ef37c58c7 Author: Dan Gohman <gohman@apple.com> Date: Mon Jan 4 18:38:39 2010 +0000 Add a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92492 91177308-0d34-0410-b5e6-96231b3b80d8 commit 24f90acb9d46605228ee5448934c4c00f7f0b721 Author: David Greene <greened@obbligato.org> Date: Mon Jan 4 17:47:05 2010 +0000 Change errs() to dbgs(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92490 91177308-0d34-0410-b5e6-96231b3b80d8 commit ee898135b401794d095886f24f04b4bb42d3f25e Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Mon Jan 4 10:31:54 2010 +0000 Fix invalid chain folding for memory variant of sdiv / udiv git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92472 91177308-0d34-0410-b5e6-96231b3b80d8 commit e800b08fb8273246ede9495efb76f51df5104755 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 4 07:59:07 2010 +0000 move some more cast-related stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92471 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3529dd1d9672a47ba64c17314fcff8373bda8b8b Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Mon Jan 4 07:55:25 2010 +0000 80-col violations, trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92470 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0b2e6feb96d027ae57c4e2c16d44c81794be97fe Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 4 07:54:59 2010 +0000 move the [Can]EvaluateInDifferentType functions out to InstCombineCasts.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92469 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4bbb8a358a666d66fdbf6870abf3cc9b2ead186d Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 4 07:53:58 2010 +0000 split 943 lines of instcombine out to a new InstCombineCasts.cpp file. InstructionCombining.cpp is now down to a svelte 9300 lines :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92468 91177308-0d34-0410-b5e6-96231b3b80d8 commit 004eae9138c629055b1d8f0c6a083cc7f64f7585 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 4 07:37:31 2010 +0000 split instcombine of compares (visit[FI]Cmp) out to a new InstCombineCompares.cpp file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92467 91177308-0d34-0410-b5e6-96231b3b80d8 commit 078c8b595c346a58f13c995c56af11d61fdfd099 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 4 07:19:55 2010 +0000 update cmakefile git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92466 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ef9cadf1ac6f58ce9cfaff94783ecd41a888e79 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 4 07:17:19 2010 +0000 move the 'SimplifyDemandedFoo' methods out to their own file, cutting 1K lines out of instcombine.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92465 91177308-0d34-0410-b5e6-96231b3b80d8 commit f0108c8c925828fa1020f0b87abe9a2de4a0d972 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Mon Jan 4 07:16:12 2010 +0000 Fix the Emacs mode string. Also trailing whitespace & 80-col violations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92464 91177308-0d34-0410-b5e6-96231b3b80d8 commit c737bae32e523f6e848986187bdd2a60a0d99461 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 4 07:12:23 2010 +0000 split the instcombine class definition out to a header shared among the instcombine library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92463 91177308-0d34-0410-b5e6-96231b3b80d8 commit 635eb0cb378a8abe8376fc4f6c75b6f9255d67ee Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 4 07:02:48 2010 +0000 remove a ton of unneeded LLVMContext stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92462 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3de1b03506fa746783da702a4b2791b8aac5e66d Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 4 06:30:00 2010 +0000 move InstCombineWorklist out to its own header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92461 91177308-0d34-0410-b5e6-96231b3b80d8 commit b43a92358666cb00a5dfa7ec95197ba9c13a65c4 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 4 06:28:20 2010 +0000 forgot to svn add these. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92460 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8d4c5c1d1462a330aac5a9067153a20c50c1eb84 Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 4 06:23:24 2010 +0000 move instcombine to its own library, it's past time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92459 91177308-0d34-0410-b5e6-96231b3b80d8 commit d1bad7405d2d9c24a1cfd27b0fa7938cd795b79b Author: Chris Lattner <sabre@nondot.org> Date: Mon Jan 4 06:03:59 2010 +0000 implement an instcombine xform needed by clang's codegen on the example in PR4216. This doesn't trigger in the testsuite, so I'd really appreciate someone scrutinizing the logic for correctness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92458 91177308-0d34-0410-b5e6-96231b3b80d8 commit c3a3e6366fa8ad087d355e4e7508b3cd359dd7cf Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 3 18:33:18 2010 +0000 fix PR5930, allowing the asmprinter to emit difference between two labels as a truncate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92455 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6a0e9c64aa48fb1137b36930e90d20b744c2e3ab Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 3 18:14:24 2010 +0000 it isn't safe to speculative load from a malloc, it might have returned null, and may not have been big enough in any case. Thanks to Jay Foad for pointing this out! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92452 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0a30434516d58591e41031fcbe5122231f2dd74c Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 3 18:10:58 2010 +0000 add PR# git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92451 91177308-0d34-0410-b5e6-96231b3b80d8 commit 32bf9d34a062d5039f8f14498ba0af061461b65b Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 3 18:09:40 2010 +0000 differences between two blockaddress's don't cause a global variable initializer to require relocations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92450 91177308-0d34-0410-b5e6-96231b3b80d8 commit 30000569c3e23cd39bcdb419d8416935ffdf7c08 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 3 06:58:48 2010 +0000 pull my debug hooks out, I'm done with this xform for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92446 91177308-0d34-0410-b5e6-96231b3b80d8 commit bf48d8953d20dd801bd4eea038ea0b60e969e9a1 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Jan 3 04:39:07 2010 +0000 Small cleanups, refactor some duplicated code into a single method. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92445 91177308-0d34-0410-b5e6-96231b3b80d8 commit 74136f9c91a8bc0f19e637e35a18d3f6487e5129 Author: Chris Lattner <sabre@nondot.org> Date: Sun Jan 3 03:03:27 2010 +0000 generalize the previous transformation to handle indexing into arrays of structs and other arrays, so long as all the subsequent indexes are constants. This triggers frequently for stuff like: @divisions = internal constant [29 x [2 x i32]] [[2 x i32] zeroinitializer, [2 x i32] [i32 0, i32 1], [2 x i32] [i32 0, i32 2], [2 x i32] [i32 0, i32 1], [2 x i32] zeroinitializer, [2 x i32] [i32 0, i32 1], [2 x i32] [i32 0, i32 1], [2 x i32] [i32 0, i32 2], [2 x i32] [i32 0, i32 2], [2 x i32] zeroinitializer, [2 x i32] zeroinitializer, [2 x i32] zeroinitializer, [2 x i32] [i32 0, i32 2], [2 x i32] [i32 0, i32 1], [2 x i32] zeroinitializer, [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 0], [2 x i32] [i32 1, i32 1], [2 x i32] [i32 1, i32 2], [2 x i32] [i32 1, i32 2]], align 32 ; <[29 x [2 x i32]]*> [#uses=50] %623 = getelementptr inbounds [29 x [2 x i32]]* @divisions, i64 0, i64 %619, i64 0 ; <i32*> [#uses=1] %684 = icmp eq i32 %683, 999 also for the "my_defs" table in 'gs', etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92444 91177308-0d34-0410-b5e6-96231b3b80d8 commit cb77a9a904dea843a61ed8da02f44f6a91bb81cd Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Jan 3 00:55:31 2010 +0000 Cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92436 91177308-0d34-0410-b5e6-96231b3b80d8 commit cd10dc6d790610482dd8f95c28a19740df436244 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 2 22:08:28 2010 +0000 teach instcombine to optimize idioms like A[i]&42 == 0. This occurs in 403.gcc in mode_mask_array, in safe-ctype.c (which is copied in multiple apps) in _sch_istable, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92427 91177308-0d34-0410-b5e6-96231b3b80d8 commit f0fc16e3f995888e1452b115a14a23cc49025ac4 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 2 21:50:18 2010 +0000 Teach the table lookup optimization to generate range compares when a consequtive sequence of elements all satisfies the predicate. Like the double compare case, this generates better code than the magic constant case and generalizes to more than 32/64 element array lookups. Here are some examples where it triggers. From 403.gcc, most accesses to the rtx_class array are handled, e.g.: @rtx_class = constant [153 x i8] c"xxxxxmmmmmmmmxxxxxxxxxxxxmxxxxxxiiixxxxxxxxxxxxxxxxxxxooxooooooxxoooooox3x2c21c2222ccc122222ccccaaaaaa<<<<<<<<<<<<<<<<<<111111111111bbooxxxxxxxxxxcc2211x", align 32 ; <[153 x i8]*> [#uses=547] %142 = icmp eq i8 %141, 105 @rtx_class = constant [153 x i8] c"xxxxxmmmmmmmmxxxxxxxxxxxxmxxxxxxiiixxxxxxxxxxxxxxxxxxxooxooooooxxoooooox3x2c21c2222ccc122222ccccaaaaaa<<<<<<<<<<<<<<<<<<111111111111bbooxxxxxxxxxxcc2211x", align 32 ; <[153 x i8]*> [#uses=543] %165 = icmp eq i8 %164, 60 Also, most of the 59-element arrays (mode_class/rid_to_yy, etc) optimized before are actually range compares. This lets 32-bit machines optimize them. 400.perlbmk has stuff like this: 400.perlbmk: PL_regkind, even for 32-bit: @PL_regkind = constant [62 x i8] c"\00\00\02\02\02\06\06\06\06\09\09\0B\0B\0D\0E\0E\0E\11\12\12\14\14\16\16\18\18\1A\1A\1C\1C\1E\1F !!!$$&'((((,-.///88886789:;8$", align 32 ; <[62 x i8]*> [#uses=4] %811 = icmp ne i8 %810, 33 @PL_utf8skip = constant [256 x i8] c"\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\01\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\02\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\03\04\04\04\04\04\04\04\04\05\05\05\05\06\06\07\0D", align 32 ; <[256 x i8]*> [#uses=94] %12 = icmp ult i8 %10, 2 etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92426 91177308-0d34-0410-b5e6-96231b3b80d8 commit 19e717578551af76c788b29bde533f88a918180e Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 2 21:46:33 2010 +0000 theoretically the negate we find could be in a different function, check for this case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92425 91177308-0d34-0410-b5e6-96231b3b80d8 commit f9a7a500993dfd7e3be5c44c7aef39b26ea338cc Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 2 20:20:33 2010 +0000 use enums for the over/underdefined markers for clarity. Switch to using -2/-3 instead of -1/-2 for a future xform. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92423 91177308-0d34-0410-b5e6-96231b3b80d8 commit a357b8d54b0c57f6988e66b8fd3a813881f2095b Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 2 20:07:03 2010 +0000 remove the random sampling framework, which is not maintained anymore. If there is interest, it can be resurrected from SVN. PR4912. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92422 91177308-0d34-0410-b5e6-96231b3b80d8 commit c325c5e72e737d4f1b5ab4595c378bf10358b8a7 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Jan 2 16:14:56 2010 +0000 Fix logic error in previous commit. The != case needs to become an or, not an and. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92419 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9fd66d7d2bbf26689ad9dd66c6bea5e9f4ed7f1c Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Jan 2 15:25:44 2010 +0000 Optimize pointer comparison into the typesafe form, now that the backends will handle them efficiently. This is the opposite direction of the transformation we used to have here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92418 91177308-0d34-0410-b5e6-96231b3b80d8 commit ea367cca5ae583d07c6df818167c6419fbabbc22 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 2 09:35:17 2010 +0000 Generalize the previous xform to handle cases where exactly two elements match or don't match with two comparisons. For example, the testcase compiles into: define i1 @test5(i32 %X) { %1 = icmp eq i32 %X, 2 ; <i1> [#uses=1] %2 = icmp eq i32 %X, 7 ; <i1> [#uses=1] %R = or i1 %1, %2 ; <i1> [#uses=1] ret i1 %R } This generalizes the previous xforms when the array is larger than 64 elements (and this case matches) and generates better code for cases where it overlaps with the magic bitshift case. This generalizes more cases than you might expect. For example, 400.perlbmk has: @PL_utf8skip = constant [256 x i8] c"\01\01\01\... %15 = icmp ult i8 %7, 7 403.gcc has: @rid_to_yy = internal constant [114 x i16] [i16 259, i16 260, ... %18 = icmp eq i16 %16, 295 and xalancbmk has a bunch of examples, such as _ZN11xercesc_2_5L15gCombiningCharsE and _ZN11xercesc_2_5L10gBaseCharsE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92417 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9780c03743bc6320d89d12b31cb1c84fd146da4f Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 2 09:22:13 2010 +0000 fix a miscompilation I introduced of cdecl with a late change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92416 91177308-0d34-0410-b5e6-96231b3b80d8 commit 03b9facf565592cf62612707e7e3f2c74471527a Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 2 08:56:52 2010 +0000 enhance the compare/load/index optimization to work on *any* load from a global with 32/64 elements or less (depending on whether i64 is native on the target), generating a bitshift idiom to determine the result. For example, on test4 we produce: define i1 @test4(i32 %X) { %1 = lshr i32 933, %X ; <i32> [#uses=1] %2 = and i32 %1, 1 ; <i32> [#uses=1] %R = icmp ne i32 %2, 0 ; <i1> [#uses=1] ret i1 %R } This triggers in a number of interesting cases, for example, here's an fp case: @A.3255 = internal constant [4 x double] [double 4.100000e+00, double -3.900000e+00, double -1.000000e+00, double 1.000000e+00], align 32 ; <[4 x double]*> [#uses=7] ... %7 = fcmp olt double %3, 0.000000e+00 In this case we make the slen2_tab global dead, which is nice: @slen2_tab = internal constant [16 x i32] [i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3, i32 1, i32 2, i32 3, i32 1, i32 2, i32 3, i32 2, i32 3], align 32 ; <[16 x i32]*> [#uses=1] ... %204 = icmp eq i32 %46, 0 Perl has a bunch of these, also on the 'Perl_regkind' array: @Perl_yygindex = internal constant [51 x i16] [i16 0, i16 0, i16 0, i16 0, i16 374, i16 351, i16 0, i16 -12, i16 0, i16 946, i16 413, i16 -83, i16 0, i16 0, i16 0, i16 -311, i16 -13, i16 4007, i16 2893, i16 0, i16 0, i16 0, i16 0, i16 0, i16 372, i16 -8, i16 0, i16 0, i16 246, i16 -131, i16 43, i16 86, i16 208, i16 -45, i16 -169, i16 987, i16 0, i16 0, i16 0, i16 0, i16 308, i16 0, i16 -271, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0, i16 0], align 32 ; <[51 x i16]*> [#uses=1] ... %1364 = icmp eq i16 %1361, 0 186.crafty really likes this on 64-bit machines, because it triggers on a bunch of globals like this: @white_outpost = internal constant [64 x i8] c"\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\02\00\00\00\00\00\04\05\05\04\00\00\00\00\03\06\06\03\00\00\00\00\00\01\01\00\00\00\00\00\00\00\00\00\00\00", align 32 ; <[64 x i8]*> [#uses=2] However the big winner is 403.gcc, which triggers hundreds of times, eliminating all the accesses to the 57-element arrays 'mode_class', mode_unit_size, mode_bitsize, regclass_map, etc. go 64-bit machines :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92415 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6ebc5d61a24dc66f46dba1db0a6919fd6b21e581 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Sat Jan 2 08:27:23 2010 +0000 Forward -O0 to llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92414 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3f441ad8ebfa73fa4994319f5b6f7e367b865a7d Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Sat Jan 2 08:27:10 2010 +0000 Apparently, it is OK for -MT to be specified several times. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92413 91177308-0d34-0410-b5e6-96231b3b80d8 commit 94955a8b4771ae14ff26b9afbb45cb7b3d011141 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 2 08:20:51 2010 +0000 enhance the previous optimization to work with fcmp in addition to icmp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92412 91177308-0d34-0410-b5e6-96231b3b80d8 commit b84aa98afd5a02d8a26e6f38a842dc0cc6507c9c Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 2 08:12:04 2010 +0000 Teach instcombine to fold compares of loads from constant arrays with variable indices into a comparison of the index with a constant. The most common occurrence of this that I see by far is stuff like: if ("foobar"[i] == '\0') ... which we compile into: if (i == 6), saving a load and materialization of the global address. This also exposes loop trip count information to later passes in many cases. This triggers hundreds of times in xalancbmk, which is where I first noticed it, but it also triggers in many other apps. Here are a few interesting ones from various apps: @must_be_connected_without = internal constant [8 x i8*] [i8* getelementptr inbounds ([3 x i8]* @.str64320, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8]* @.str27283, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8]* @.str71327, i64 0, i64 0), i8* getelementptr inbounds ([4 x i8]* @.str72328, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8]* @.str18274, i64 0, i64 0), i8* getelementptr inbounds ([6 x i8]* @.str11267, i64 0, i64 0), i8* getelementptr inbounds ([3 x i8]* @.str32288, i64 0, i64 0), i8* null], align 32 ; <[8 x i8*]*> [#uses=2] %scevgep.i = getelementptr [8 x i8*]* @must_be_connected_without, i64 0, i64 %indvar.i ; <i8**> [#uses=1] %17 = load ... %18 = icmp eq i8* %17, null ; <i1> [#uses=1] -> icmp eq i64 %indvar.i, 7 @yytable1095 = internal constant [84 x i8] c"\12\01(\05\06\07\08\09\0A\0B\0C\0D\0E1\0F\10\11266\1D: \10\11,-,0\03'\10\11B6\04\17&\18\1945\05\06\07\08\09\0A\0B\0C\0D\0E\1E\0F\10\11*\1A\1B\1C$3+>#%;<IJ=ADFEGH9KL\00\00\00C", align 32 ; <[84 x i8]*> [#uses=2] %57 = getelementptr inbounds [84 x i8]* @yytable1095, i64 0, i64 %56 ; <i8*> [#uses=1] %mode.0.in = getelementptr inbounds [9 x i32]* @mb_mode_table, i64 0, i64 %.pn ; <i32*> [#uses=1] load ... %64 = icmp eq i8 %58, 4 ; <i1> [#uses=1] -> icmp eq i64 %.pn, 35 ; <i1> [#uses=0] @gsm_DLB = internal constant [4 x i16] [i16 6554, i16 16384, i16 26214, i16 32767] %scevgep.i = getelementptr [4 x i16]* @gsm_DLB, i64 0, i64 %indvar.i ; <i16*> [#uses=1] %425 = load %scevgep.i %426 = icmp eq i16 %425, -32768 ; <i1> [#uses=0] -> false git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92411 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4b7ce57f87d16a0acd0efbbbbd614985f65bc791 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 2 01:22:23 2010 +0000 constant fold nasty constant expressions formed by llvm-gcc, wrapping up PR3351. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92410 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4091917ae511e97c66b4d94602b1aa3457205ab2 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 2 00:31:05 2010 +0000 remove the instcombine transformations that are inserting nasty pointer to int casts that confuse later optimizations. See PR3351 for details. This improves but doesn't complete fix 483.xalancbmk because llvm-gcc does this xform in GCC's "fold" routine as well. Clang++ will do better I guess. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92408 91177308-0d34-0410-b5e6-96231b3b80d8 commit 910a778224f2b18bfadd8512345b17706d890f30 Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 2 00:22:15 2010 +0000 allow this to work on linux hosts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92407 91177308-0d34-0410-b5e6-96231b3b80d8 commit a746511144561cb5a56ae14096499a8dcdf5d10e Author: Chris Lattner <sabre@nondot.org> Date: Sat Jan 2 00:00:03 2010 +0000 Teach codegen to handle: (X != null) | (Y != null) --> (X|Y) != 0 (X == null) & (Y == null) --> (X|Y) == 0 so that instcombine can stop doing this for pointers. This is part of PR3351, which is a case where instcombine doing this for pointers (inserting ptrtoint) is pessimizing code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92406 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3b9d28303feab3a9b0b446b189a3f23e8fff72a2 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 1 23:55:04 2010 +0000 rename file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92405 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0903092e4877dcf99741ed478addd9d0afc57ec5 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 1 23:37:34 2010 +0000 whitespace cleanup git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92404 91177308-0d34-0410-b5e6-96231b3b80d8 commit f54ff334cb53099a89446a32d22e37019825056a Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 1 23:09:08 2010 +0000 add a simple instcombine xform, simplify another one to use hasAllZeroIndices() instead of hand rolling a loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92403 91177308-0d34-0410-b5e6-96231b3b80d8 commit fc872393bf81fa6b0a601c6d7b76d1f1fb3b9699 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 1 22:42:29 2010 +0000 generalize the pointer difference optimization to handle a constantexpr gep on the 'base' side of the expression. This completes comment #4 in PR3351, which comes from 483.xalancbmk. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92402 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1f541cf11a4e334ce302282521bbab6605b2076d Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 1 22:29:12 2010 +0000 teach instcombine to optimize pointer difference idioms involving constant expressions. This is a step towards comment #4 in PR3351. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92401 91177308-0d34-0410-b5e6-96231b3b80d8 commit b6292bc182efcd6d4e11c2b52671f66f8935e712 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 1 22:12:03 2010 +0000 use 'match' to simplify some code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92400 91177308-0d34-0410-b5e6-96231b3b80d8 commit 34eb10d272168ccc1c93029279578cc5f02c3fa3 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 1 18:34:40 2010 +0000 implement the transform requested in PR5284 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92398 91177308-0d34-0410-b5e6-96231b3b80d8 commit 46e577bf2a6280f34443ebe54086acc3dd98a20d Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Fri Jan 1 04:41:36 2010 +0000 Fix a warning on gcc 4.4. SelectionDAGBuilder.cpp:4294: warning: suggest explicit braces to avoid ambiguous ‘else’ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92395 91177308-0d34-0410-b5e6-96231b3b80d8 commit 480b7f806a23fc202d62c88d0841ebeed547f4e2 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Fri Jan 1 04:41:22 2010 +0000 Trailing whitespace, 80-col violations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92394 91177308-0d34-0410-b5e6-96231b3b80d8 commit 305344c00aad44f387608b0e55786a151f42840d Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Fri Jan 1 04:41:10 2010 +0000 Minor simplifactions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92393 91177308-0d34-0410-b5e6-96231b3b80d8 commit de321fd87cc67481b8605dafc7edf8b59e95bd3c Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Fri Jan 1 04:40:54 2010 +0000 Typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92392 91177308-0d34-0410-b5e6-96231b3b80d8 commit 90837d9a6ecd25840dc9450638db4953b5a98e72 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Fri Jan 1 03:51:02 2010 +0000 Make CheckForSuperfluousOptions handle list form of 'switch_on' correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92391 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ab87cfc39d712753f6d1f9c64d0a67e82744c7d Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Fri Jan 1 03:50:51 2010 +0000 Minor simplifications. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92390 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9718696a5cd121422f7bb2aef2d704d005ad8205 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Fri Jan 1 03:50:34 2010 +0000 Better error message. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92389 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6391637268da054569126bf1c0eee3a90e87a35a Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 1 03:32:16 2010 +0000 Teach codegen to lower llvm.powi to an efficient (but not optimal) multiply sequence when the power is a constant integer. Before, our codegen for std::pow(.., int) always turned into a libcall, which was really inefficient. This should also make many gfortran programs happier I'd imagine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92388 91177308-0d34-0410-b5e6-96231b3b80d8 commit bc7a9122a4566bf8ad1eb66dc22064fabda19f91 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 1 03:26:51 2010 +0000 Make this more likely to generate a libcall. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92387 91177308-0d34-0410-b5e6-96231b3b80d8 commit c42f65a4032db2a448aaa7b85dff872c8955f1ea Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 1 01:54:08 2010 +0000 add missing line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92384 91177308-0d34-0410-b5e6-96231b3b80d8 commit 30095b482545296c2e4d1e25ca7f728104612e28 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 1 01:52:15 2010 +0000 add a few trivial instcombines for llvm.powi. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92383 91177308-0d34-0410-b5e6-96231b3b80d8 commit f2b7b735f3f8abaa67b644eb410c182c6c257304 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 1 01:29:26 2010 +0000 update this. To take the next step, llvm.powi should be generalized to work on integers as well and codegen should lower them to branch trees. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92382 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9174de49a24169a0d3d58b6378ec05dbb549060b Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 1 01:13:15 2010 +0000 When factoring multiply expressions across adds, factor both positive and negative forms of constants together. This allows us to compile: int foo(int x, int y) { return (x-y) + (x-y) + (x-y); } into: _foo: ## @foo subl %esi, %edi leal (%rdi,%rdi,2), %eax ret instead of (where the 3 and -3 were not factored): _foo: imull $-3, 8(%esp), %ecx imull $3, 4(%esp), %eax addl %ecx, %eax ret this started out as: movl 12(%ebp), %ecx imull $3, 8(%ebp), %eax subl %ecx, %eax subl %ecx, %eax subl %ecx, %eax ret This comes from PR5359. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92381 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4aed2811219557774a7df9a86529c6d72280be50 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 1 00:50:00 2010 +0000 test case we alredy get right. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92380 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0fc5712a47212e229d5421c21100a3e5e3cc347f Author: Ted Kremenek <kremenek@apple.com> Date: Fri Jan 1 00:04:49 2010 +0000 Remove old header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92378 91177308-0d34-0410-b5e6-96231b3b80d8 commit 680cc0add1cf3946bd625782d25e5116ae9b6749 Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 1 00:04:26 2010 +0000 clean up some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92377 91177308-0d34-0410-b5e6-96231b3b80d8 commit e7d8b124af9cecb15576e155686447438f07122d Author: Chris Lattner <sabre@nondot.org> Date: Fri Jan 1 00:01:34 2010 +0000 switch from std::map to DenseMap for rank data structures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92375 91177308-0d34-0410-b5e6-96231b3b80d8 commit 49b38e9dc18b42fcb62e9e47729f8a2c349ba464 Author: Ted Kremenek <kremenek@apple.com> Date: Thu Dec 31 23:40:17 2009 +0000 Remove derelict serialization code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92374 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd7266b6fa5dafad5e578ce761995dda8263ba78 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 20:34:32 2009 +0000 reuse negates where possible instead of always creating them from scratch. This allows us to optimize test12 into: define i32 @test12(i32 %X) { %factor = mul i32 %X, -3 ; <i32> [#uses=1] %Z = add i32 %factor, 6 ; <i32> [#uses=1] ret i32 %Z } instead of: define i32 @test12(i32 %X) { %Y = sub i32 6, %X ; <i32> [#uses=1] %C = sub i32 %Y, %X ; <i32> [#uses=1] %Z = sub i32 %C, %X ; <i32> [#uses=1] ret i32 %Z } git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92373 91177308-0d34-0410-b5e6-96231b3b80d8 commit dabb5f7a839c6ffa02eba804d2ee257a849816ee Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 19:49:01 2009 +0000 we don't need a smallptrset to detect duplicates, the values are sorted, so we can just do a linear scan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92372 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7a14c94ff032c286735e3d51ad3716292eb02d9c Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 19:34:45 2009 +0000 make reassociate more careful about not leaving around dead mul's git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92370 91177308-0d34-0410-b5e6-96231b3b80d8 commit b350027509cee7866483cd4c772c0ba585b81201 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 19:25:19 2009 +0000 remove debug git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92369 91177308-0d34-0410-b5e6-96231b3b80d8 commit eef3d7ee13996d710f5af71a4a1791a7bfa64057 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 19:24:52 2009 +0000 teach reassociate to factor x+x+x -> x*3. While I'm at it, fix RemoveDeadBinaryOp to actually do something. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92368 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4ecba488405762d5bdcb4cfceb50a14728bc9a5d Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 18:40:32 2009 +0000 change reassociate to use SmallVector for its key datastructures instead of std::vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92366 91177308-0d34-0410-b5e6-96231b3b80d8 commit a49b7bd78269db61b5905196c3a42687aa9ea684 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 18:18:46 2009 +0000 change an if to an assert, fix comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92364 91177308-0d34-0410-b5e6-96231b3b80d8 commit 87a70035c511a65fdf87d3c114669553ef70442d Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 18:17:13 2009 +0000 move the rest of the add optimization code out to OptimizeAdd, improve some comments, simplify a bit of code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92363 91177308-0d34-0410-b5e6-96231b3b80d8 commit 35f374a80c2c56df08b8a86049b70c39cfa9aa6a Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 17:51:05 2009 +0000 factor statistic updating better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92362 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3866fd8b0928b0e2a81b931077fb42cc919206ec Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Dec 31 16:27:13 2009 +0000 Silence compiler warning. warning: comparison between signed and unsigned integer expressions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92359 91177308-0d34-0410-b5e6-96231b3b80d8 commit f26331c710d7cb3dc5e2df5f599e0b439b2e0d2e Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 08:33:49 2009 +0000 simple fix for an incorrect factoring which causes a miscompilation, PR5458. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92354 91177308-0d34-0410-b5e6-96231b3b80d8 commit 432f8a4ede7b5b32887a2ae4c7f8cd822feb9de4 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 08:32:22 2009 +0000 merge some more tests in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92353 91177308-0d34-0410-b5e6-96231b3b80d8 commit e1d8cae5d7441a85b5138590f2a19e774efc5a14 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 08:29:56 2009 +0000 filecheckize git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92352 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6a8f839a3540ae2c6933fa8f850a51b95104e61d Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 08:23:09 2009 +0000 fix refactoro git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92349 91177308-0d34-0410-b5e6-96231b3b80d8 commit 67ee6d8a18ce97db9a33a19ffe62c53b3bac264a Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 07:59:34 2009 +0000 factor code out into helper functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92347 91177308-0d34-0410-b5e6-96231b3b80d8 commit f854201455275fe4ec9b15b8bef96d515990b99f Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 07:48:51 2009 +0000 switch some std::vector's to smallvector. Reduce nesting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92346 91177308-0d34-0410-b5e6-96231b3b80d8 commit c4671c2dcae45396caa118cee1be30d21caac5f6 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 07:33:14 2009 +0000 use more modern datastructures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92344 91177308-0d34-0410-b5e6-96231b3b80d8 commit eca6bc45daaff60fd301ddcb3c94f0810738f2ed Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 07:17:37 2009 +0000 clean up -debug output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92343 91177308-0d34-0410-b5e6-96231b3b80d8 commit a5f5a55bd2010c450ba3a648ad5e716c840ac606 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Thu Dec 31 04:24:34 2009 +0000 Document the edit-distance algorithm used in StringRef, switch it over to SmallVector, and add a unit test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92340 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6a1c423fb9667a46973660d699e342f781ff0e1b Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 03:02:42 2009 +0000 this #include is ok. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92338 91177308-0d34-0410-b5e6-96231b3b80d8 commit 05a0becaf20bf261a03929e63cb10c25a9172406 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 03:02:08 2009 +0000 fix Analysis/DebugInfo.h to not include Metadata.h. Do this by moving one method out of line and eliminating redundant checks from other methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92337 91177308-0d34-0410-b5e6-96231b3b80d8 commit 42dfc1d91651da34013c8ae49382ca10961224ae Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 03:00:49 2009 +0000 add some basic named MD tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92336 91177308-0d34-0410-b5e6-96231b3b80d8 commit cf722229b32c21d5253ce611583938c1272f54de Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 02:33:14 2009 +0000 use early exits to reduce indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92335 91177308-0d34-0410-b5e6-96231b3b80d8 commit c216378f3e025eed5df082c89eb82b28be8e1f34 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 02:31:59 2009 +0000 eliminate another copy of the mdnode printing logic, simplify the one that remains. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92334 91177308-0d34-0410-b5e6-96231b3b80d8 commit d256081f4440011f5cb24d08d5112ecf710869c9 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 02:27:30 2009 +0000 random tidying for MDNode printing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92333 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7d7fac9a02beee58e15c60298a26f5f9670d15c8 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 02:23:35 2009 +0000 eliminate a bunch of useless forwarding functions with one caller. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92332 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f23f2e3d4679ea7a9b3f6a79ffbe6015ff95742 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 02:20:11 2009 +0000 make mdnMap type safe, rename accessors for consistency with the rest of llvm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92331 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6a1e1086cfb3e9daffc318b392bf82e2cc59f041 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 02:15:45 2009 +0000 metadata can't be a global var initializer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92330 91177308-0d34-0410-b5e6-96231b3b80d8 commit d1af981f1285805303100ba20190a3f9e9c4f4a2 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 02:13:35 2009 +0000 simplify mdnode printing logic. Now N->dump() only dumps one node instead of all of them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92329 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4e50db19cd616dc6705d14b1f85dba6494ce0260 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 02:12:13 2009 +0000 don't unittest mdnode printing, we have disassembler tests for this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92328 91177308-0d34-0410-b5e6-96231b3b80d8 commit d401bb57e7bc85c1c1e2170b3f66989b438246c1 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 01:54:05 2009 +0000 unify two copies of the NamedMDNode printing code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92327 91177308-0d34-0410-b5e6-96231b3b80d8 commit c4dd513c791f8a7dbd1ed28a455740f144d1f2a2 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 01:44:44 2009 +0000 fix printing of function-local metadata to print all the operands of the mdnode, not just operand 0 over and over. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92326 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5828cf6c126f0f0c7fbc09fa1db040025598cc5e Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 01:41:14 2009 +0000 simplify printing of mdstring and Argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92325 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7811ce3c042b1e10bf9a92978a360ba64916dfc5 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 01:36:50 2009 +0000 simplify asmprinting of NamedMDNode git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92324 91177308-0d34-0410-b5e6-96231b3b80d8 commit a643a318f7a73ba97a66bd9bf68de4f7f19c1c7b Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 01:32:41 2009 +0000 Remove #include of metadata.h from intrinsicinst.h. The only method that needs it (DbgValueInst::getValue) has been moved out of line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92323 91177308-0d34-0410-b5e6-96231b3b80d8 commit 782edc0ad4962d0f22679c264b9ad9aeb43495e5 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 01:22:29 2009 +0000 rename "elements" of metadata to "operands". "Elements" are things that occur in types. "operands" are things that occur in values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92322 91177308-0d34-0410-b5e6-96231b3b80d8 commit c79176153244447832fda44fc92602cb19c9da20 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 01:05:46 2009 +0000 Optimize MDNode to coallocate the operand list immediately after the MDNode in memory. This eliminates the operands pointer and saves a new[] per node. Note that the code in DIDerivedType::replaceAllUsesWith is wrong and quite scary. A MDNode should not be RAUW'd with something else: this changes all uses of the mdnode, which may not be debug info related! Debug info should use something non-mdnode for declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92321 91177308-0d34-0410-b5e6-96231b3b80d8 commit 67735d43b803531f50ba62a14a19750f3509d640 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 31 00:51:46 2009 +0000 tidy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92320 91177308-0d34-0410-b5e6-96231b3b80d8 commit f0deeb1db6042913943e6b7d60cdd118ef2a9376 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 21:42:11 2009 +0000 do not bother reuniquing mdnodes whose operands drop to null. Doing so can be a huge performance issue when tearing down modules and mdnodes are not guaranteed to be unique anyway. This speeds up: $ time ~/llvm/Release/bin/clang gcc.c -w -S -g from 72 to 35s, where gcc.c is from: http://people.csail.mit.edu/smcc/projects/single-file-programs/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92315 91177308-0d34-0410-b5e6-96231b3b80d8 commit c6729718c58b0778c48378d4a2f9e18778d396aa Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 20:25:09 2009 +0000 remove some misleading comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92311 91177308-0d34-0410-b5e6-96231b3b80d8 commit e63a69745242ce18f887b374f0db666f0f778e4c Author: Douglas Gregor <doug.gregor@gmail.com> Date: Wed Dec 30 17:23:44 2009 +0000 Implement edit distance for StringRef git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92309 91177308-0d34-0410-b5e6-96231b3b80d8 commit 205f53281b573f15e78ce49fdb0f700092ee977b Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 06:00:36 2009 +0000 remove some fixme's git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92304 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9d0d3555fc441023a92a5a248e6f3d9a5b44a950 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 05:54:51 2009 +0000 fix two bogus tests that the asmparser now rejects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92303 91177308-0d34-0410-b5e6-96231b3b80d8 commit 252f0e4c82322f10f0cf3e99b2faa00d9ed03f08 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 05:48:36 2009 +0000 now that instruction metadata is only parsed in one place, eliminate the parser-global MDsOnInst vector and make ParseInstructionMetadata return its result by-ref through an argument like the entire rest of the parser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92302 91177308-0d34-0410-b5e6-96231b3b80d8 commit c095b028825a29bad04e198523c3488e779d8c7c Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 05:44:30 2009 +0000 reimplement ParseOptionalInfo as ParseOptionalCommaAlign, correctly handle the comma case for metadata. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92301 91177308-0d34-0410-b5e6-96231b3b80d8 commit 50bbd7c6b40c7c8a2f0f1f46302b805ff986a146 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 05:31:19 2009 +0000 rename ParseOptionalCustomMetadata -> ParseInstructionMetadata, and make it non-optional. This fixes the bug where we'd accept and ignore a spurious comma after some instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92300 91177308-0d34-0410-b5e6-96231b3b80d8 commit a834b598af65a2b754df36042a8e7f1886263836 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 05:27:33 2009 +0000 convert 4 more instructions over. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92299 91177308-0d34-0410-b5e6-96231b3b80d8 commit b0f5db5cb5246de5a9d8f25d81788e837b35398a Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 05:23:43 2009 +0000 add facilities to start factoring instruction metadata parsing out of each opcode's handler. Change ret over so far. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92298 91177308-0d34-0410-b5e6-96231b3b80d8 commit a36628319feacb86df07dfc1ca6c5e05b764ba74 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 05:14:00 2009 +0000 reimplement insertvalue/extractvalue metadata handling to not blindly accept invalid input. Actually add a testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92297 91177308-0d34-0410-b5e6-96231b3b80d8 commit ad53f269b62cd83bfa6caf79632016715c44536f Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 05:04:46 2009 +0000 remove two bogus calls that accepted metadata in the middle of insert/extract value *constant exprs*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92296 91177308-0d34-0410-b5e6-96231b3b80d8 commit 106ec003fa597a1634e0a8f20e7c466497ef04ac Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 05:02:06 2009 +0000 rename NamedOrCustomMD -> MetadataVar to follow conventions of all the rest of the code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92295 91177308-0d34-0410-b5e6-96231b3b80d8 commit f7da8c1f859cb6e837e3a44ed6147a1bc4733857 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 04:56:59 2009 +0000 rename lltok::Metadata -> lltok::exclaim. We name tokens after their syntactic form, not their semantic form. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92294 91177308-0d34-0410-b5e6-96231b3b80d8 commit 321130761ffd8fb17d1e90824ed5f0711f15e8af Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 04:51:58 2009 +0000 rename MetadataCache -> NumberedMetadata to follow the convention used by other things. Convert it to a vector since it is a dense numbering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92293 91177308-0d34-0410-b5e6-96231b3b80d8 commit 42913ca9f6a8786f8f0c6835e670402f7db5d165 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 04:42:57 2009 +0000 rewrite ParseMDNodeVector to follow the normal patter used in the .ll parser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92292 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8859ed33bc71bf98ea6f8e162ee4359fa1744d94 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 04:15:23 2009 +0000 rename ParseMDNode -> ParseMDNodeID, since it parses !42, not !{... } as you'd expect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92291 91177308-0d34-0410-b5e6-96231b3b80d8 commit e78c594690534be3d922f4c2f59ece9a7da1d186 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 04:13:37 2009 +0000 fix parsing of mdstring values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92290 91177308-0d34-0410-b5e6-96231b3b80d8 commit b5e601df8a3ed005307e6e1194a39446a98d1b83 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 02:20:07 2009 +0000 remove the code added in r90497. It has several major issues and no tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92288 91177308-0d34-0410-b5e6-96231b3b80d8 commit c5a4e14fc3a40fe3a2843a2c0ae2587927677842 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 30 02:11:14 2009 +0000 split t_Metadata into t_MDNode and t_MDString, eliminating some unsafe casting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92287 91177308-0d34-0410-b5e6-96231b3b80d8 commit da5298327ce62bd6d8327e24d5789b52902c4f60 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 22:40:21 2009 +0000 factor code even more. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92280 91177308-0d34-0410-b5e6-96231b3b80d8 commit b5a95af25e0603970ceac878057d48682d7cdfed Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 22:35:39 2009 +0000 simplify some code and unbreak the build by not consuming an extra token. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92279 91177308-0d34-0410-b5e6-96231b3b80d8 commit 68c027ce120b4bb4fd519f9f710fe819b728698a Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Tue Dec 29 22:17:06 2009 +0000 remove a really wrong parenthesis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92277 91177308-0d34-0410-b5e6-96231b3b80d8 commit e599a697b4098ccd98f8edc80b4c1503194a5c7e Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 22:01:50 2009 +0000 clean up some really strange code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92275 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3d53e97911a01aa7278e301aa3ad41ec5de588df Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 21:53:55 2009 +0000 change ParseMDString and ParseMDNode to take arguments of the right type. This exposed a raft of other problems, which I'll deal with in subsequent patches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92273 91177308-0d34-0410-b5e6-96231b3b80d8 commit 349e4075fbe75fccaa4e94296af269bcd9a866dd Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 21:43:58 2009 +0000 switch to TrackingVH instead of WeakVH, since these can never be RAUW'd and go to null. This also gets us some sorely lacking type safety. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92272 91177308-0d34-0410-b5e6-96231b3b80d8 commit af9ba478bc13ec6132d707b84d218daa8f26fc36 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 21:25:40 2009 +0000 Each instruction is allowed to have *multiple* different metadata objects on them. Though the entire compiler supports this, the asmparser didn't. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92270 91177308-0d34-0410-b5e6-96231b3b80d8 commit 24392c25bc8f9283a50d326eb2b5e9bc24416cb5 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 21:17:33 2009 +0000 Do not crash when .ll printing metadata that smells like debug info, but isn't. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92268 91177308-0d34-0410-b5e6-96231b3b80d8 commit f272fd760f2a623eea02766fb1143f94746f3ca3 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 21:09:57 2009 +0000 fix indentation, fit in 80 cols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92267 91177308-0d34-0410-b5e6-96231b3b80d8 commit 527d14b89e5dde3ec59e4431be4c102383d55edf Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Tue Dec 29 16:57:26 2009 +0000 Replace a few more SmallVectors with arrays. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92265 91177308-0d34-0410-b5e6-96231b3b80d8 commit a7b0ebd1d27261cff8d0c0a0e20ab84d2da81ae8 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Tue Dec 29 11:04:52 2009 +0000 Use an array instead of a SmallVector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92264 91177308-0d34-0410-b5e6-96231b3b80d8 commit 457576ff0a03b6a73006b4202ae17304125e38c0 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 09:32:19 2009 +0000 remove a bunch of unneeded functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92263 91177308-0d34-0410-b5e6-96231b3b80d8 commit 49c94d990cc63b75b1a9a010d818c27ca2a779bb Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 09:22:47 2009 +0000 major cleanups, much of this file was incorrectly indented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92262 91177308-0d34-0410-b5e6-96231b3b80d8 commit d0aad044ccc2d58a1e5a3a704de3f2e85b46706a Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 09:15:46 2009 +0000 one pass of cleanup over DebugInfo.h. Much more is still needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92261 91177308-0d34-0410-b5e6-96231b3b80d8 commit c4d8577e32301f706cf33e6f9401b062870476ab Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 09:12:29 2009 +0000 prune #includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92260 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6bba08039ac1edd35d89b5a7da3c06317b0a5a73 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 09:01:33 2009 +0000 Final step in the metadata API restructuring: move the getMDKindID/getMDKindNames methods to LLVMContext (and add convenience methods to Module), eliminating MetadataContext. Move the state that it maintains out to LLVMContext. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92259 91177308-0d34-0410-b5e6-96231b3b80d8 commit 58d94d4250c8a42d3392e01c3dd9e108e1bc5791 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 08:06:56 2009 +0000 just cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92258 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7a21401bf89ad297f30839e65e5c09ad63073f85 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 08:03:58 2009 +0000 remove useless argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92256 91177308-0d34-0410-b5e6-96231b3b80d8 commit c5c30fec467ddaa595605058a29eae086ba5130c Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 07:56:15 2009 +0000 privatize another interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92255 91177308-0d34-0410-b5e6-96231b3b80d8 commit a361a085cb03ab1e951ed341cb3271a8f54f587e Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 07:50:09 2009 +0000 the only call to this function (from clang) has been removed, zap it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92254 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9924ee255336099ea7fc66ff6c98e8ce367db9f4 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 07:44:16 2009 +0000 remove some unneeded Metadata interfaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92252 91177308-0d34-0410-b5e6-96231b3b80d8 commit 81ffc04666323d8fc0b1a831d63486436dec815f Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 07:28:33 2009 +0000 fix .cpp file to not wrap the entire file in namespace blocks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92250 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6ae0692560544ab40362e7902db0d4933395c1b1 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 07:25:48 2009 +0000 tidy up debug info comments, use ->isVoidTy() where reasonable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92249 91177308-0d34-0410-b5e6-96231b3b80d8 commit f4a877b44e61d0e4f3a03219ab430f4c4fbaed94 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 07:12:03 2009 +0000 sink twine.h down out of Value.h. It is annoying that you need to #include Twine.h just to give a twine a default value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92247 91177308-0d34-0410-b5e6-96231b3b80d8 commit 260cabecaaba7c0ce020aab05f08062154205014 Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Tue Dec 29 03:24:34 2009 +0000 Extern declaration for unordered.f32 libcall was not being emitted. Fixed that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92242 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2394453af76b7e98b2574613a9af4523ae124805 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 02:53:52 2009 +0000 When doing v1->RAUW(v2), don't do anything to metadata. We don't know why one was replaced with the other. Even in the specific case of debug information, it doesn't make sense to transfer the location over, this will just result in jumbled loc info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92241 91177308-0d34-0410-b5e6-96231b3b80d8 commit 809758b23bf141f89fc0e4bb46b16705babcb217 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 02:46:09 2009 +0000 sink the Instruction::HasMetadata bit into SubclassData. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92240 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed71f551254a290c97860a7d8106a26905705dc4 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 29 02:14:09 2009 +0000 add a layer of accessors around the Value::SubClassData member, and use a convention (shadowing the setter with private forwarding function) to prevent subclasses from accidentally using it. This exposed some bogosity in ConstantExprs, which was propaging the opcode of the constant expr into the NUW/NSW/Exact field in the getWithOperands/getWithOperandReplaced methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92239 91177308-0d34-0410-b5e6-96231b3b80d8 commit d11da6df1ecf393f637674081b24a631417321ed Author: Chris Lattner <sabre@nondot.org> Date: Mon Dec 28 23:41:32 2009 +0000 This is a major cleanup of the instruction metadata interfaces that I asked Devang to do back on Sep 27. Instead of going through the MetadataContext class with methods like getMD() and getMDs(), just ask the instruction directly for its metadata with getMetadata() and getAllMetadata(). This includes a variety of other fixes and improvements: previously all Value*'s were bloated because the HasMetadata bit was thrown into value, adding a 9th bit to a byte. Now this is properly sunk down to the Instruction class (the only place where it makes sense) and it will be folded away somewhere soon. This also fixes some confusion in getMDs and its clients about whether the returned list is indexed by the MDID or densely packed. This is now returned sorted and densely packed and the comments make this clear. This introduces a number of fixme's which I'll follow up on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92235 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7006b38f3ae7c3b5a565ff924b729111807327eb Author: Chris Lattner <sabre@nondot.org> Date: Mon Dec 28 21:56:07 2009 +0000 rearrange some code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92234 91177308-0d34-0410-b5e6-96231b3b80d8 commit 343d8d6a1128b42a9bb2ee6ad4c726cea1f3ae2e Author: Chris Lattner <sabre@nondot.org> Date: Mon Dec 28 21:52:41 2009 +0000 add IRBuilder.cpp to cmake git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92233 91177308-0d34-0410-b5e6-96231b3b80d8 commit e9f460d2376ae08b4897c2a16ce16523f3e079c6 Author: Chris Lattner <sabre@nondot.org> Date: Mon Dec 28 21:52:06 2009 +0000 remove #include that comes in from ConstantFolder.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92232 91177308-0d34-0410-b5e6-96231b3b80d8 commit 46c22854156dc4b4ec23dff224d977e2df55dda1 Author: Chris Lattner <sabre@nondot.org> Date: Mon Dec 28 21:50:56 2009 +0000 remove #include of Function.h from IRBuilder git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92231 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4b342015570ced985595ad672e1b2a63910caf76 Author: Chris Lattner <sabre@nondot.org> Date: Mon Dec 28 21:45:40 2009 +0000 move debug info stuff out of line, allowing two #includes to go away from IRBuilder.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92230 91177308-0d34-0410-b5e6-96231b3b80d8 commit 24115ad0a861ee64d3e5ed72a54b3932174b2d39 Author: Chris Lattner <sabre@nondot.org> Date: Mon Dec 28 21:28:46 2009 +0000 split code that doesn't need to be templated out of IRBuilder into a new non-templated IRBuilderBase class. Move that large CreateGlobalString out of line, eliminating the need to #include GlobalVariable.h in IRBuilder.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92227 91177308-0d34-0410-b5e6-96231b3b80d8 commit 88b45f9bec26faf55292c7cb2b2dd13dbf2723ec Author: Chris Lattner <sabre@nondot.org> Date: Mon Dec 28 21:12:29 2009 +0000 rename ivar to be more descriptive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92226 91177308-0d34-0410-b5e6-96231b3b80d8 commit 68d0d0c2d9a9ceaf5d23d83d224235acba505245 Author: Chris Lattner <sabre@nondot.org> Date: Mon Dec 28 20:45:51 2009 +0000 rename getMDKind -> getMDKindID, make it autoinsert if an MD Kind doesn't exist already, eliminate registerMDKind. Tidy up a bunch of random stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92225 91177308-0d34-0410-b5e6-96231b3b80d8 commit 093b1167ac64f42f6ac318d821f85c41bc8b2339 Author: Chris Lattner <sabre@nondot.org> Date: Mon Dec 28 20:10:43 2009 +0000 rename getHandlerNames to getMDKindNames, simplify its interface and simplify all the clients that use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92224 91177308-0d34-0410-b5e6-96231b3b80d8 commit bf70eda2e1f91cc4a58435342d5d27db1405445f Author: Chris Lattner <sabre@nondot.org> Date: Mon Dec 28 19:49:00 2009 +0000 tidy up and delete a dead smallvector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92223 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
|
|
d58f4f0a0f |
Update to LLVM upstream SVN r91214.
Squashed commit of the following: commit 2fdb8cfc44fb50a50bda26ac7774692a15c00412 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sat Dec 12 09:25:50 2009 +0000 Fix some CHECK lines which were ignored by accident. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91214 91177308-0d34-0410-b5e6-96231b3b80d8 commit cbfd1ed3c3d611d3d36d6853b99f6d615eaf96f1 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Sat Dec 12 06:18:46 2009 +0000 Revert r91208. Something on Linux prevents the JIT from looking up a symbol defined in the test, and I don't have time tonight to figure it out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91209 91177308-0d34-0410-b5e6-96231b3b80d8 commit fcfc5e88a362367990b85c708d9656c9e9150f5e Author: Jeffrey Yasskin <jyasskin@google.com> Date: Sat Dec 12 05:58:14 2009 +0000 Fix available_externally linkage for globals. It's probably still not supported by emitGlobals, but I don't have a test case for that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91208 91177308-0d34-0410-b5e6-96231b3b80d8 commit 37fa76624c9c11ec6745b5b609a8b537f0cd8425 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Sat Dec 12 04:08:32 2009 +0000 Make it easier to use the llvm_unreachable and DEBUG macros without "using namespace llvm" by qualifying their implementations with ::llvm::. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91206 91177308-0d34-0410-b5e6-96231b3b80d8 commit 241896971376c9bf4b5856c44c65084c8bf6e3cb Author: Jim Grosbach <grosbach@apple.com> Date: Sat Dec 12 01:40:06 2009 +0000 Framework for atomic binary operations. The emitter for the pseudo instructions just issues an error for the moment. The front end won't yet generate these intrinsics for ARM, so this is behind the scenes until complete. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91200 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4407a9dd3a5829f2385c49b2cdbe96c33076c384 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Dec 11 23:47:40 2009 +0000 Revise scalar replacement to be more flexible about handle bitcasts and GEPs. While scanning through the uses of an alloca, keep track of the current offset relative to the start of the alloca, and check memory references to see if the offset & size correspond to a component within the alloca. This has the nice benefit of unifying much of the code from isSafeUseOfAllocation, isSafeElementUse, and isSafeUseOfBitCastedAllocation. The code to rewrite the uses of a promoted alloca, after it is determined to be safe, is reorganized in the same way. Also, when rewriting GEP instructions, mark them as "in-bounds" since all the indices are known to be safe. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91184 91177308-0d34-0410-b5e6-96231b3b80d8 commit 552423de4ce3985cee3e44d2b34afc81aef5b5b4 Author: Dan Gohman <gohman@apple.com> Date: Fri Dec 11 23:26:08 2009 +0000 Delete an unnecessary line. The VTSDNode on a SIGN_EXTEND_REG is never a vector type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91181 91177308-0d34-0410-b5e6-96231b3b80d8 commit f40cec0ee6d37ccce844d771f177f33c929a4b86 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Fri Dec 11 23:01:29 2009 +0000 Lower setcc branchless, if this is profitable. Based on the patch by Brian Lucas! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91175 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3dd8cadf857bd134ef24aebb48aa22278cedaff1 Author: Bill Wendling <isanbard@gmail.com> Date: Fri Dec 11 21:47:36 2009 +0000 Don't try to move a MBB into the fall-through position if it's a landing pad or branches only to a landing pad. Without this check, the compiler would go into an infinite loop because the branch to a landing pad is an "abnormal" edge which wasn't being taken into account. This is the meat of that fix: if (!PrevBB.canFallThrough() && !MBB->BranchesToLandingPad(MBB)) { The other stuff is simplification of the "branches to a landing pad" code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91161 91177308-0d34-0410-b5e6-96231b3b80d8 commit b9f2c6bf74e416fb21026ef9c779c6c4cdbce9d4 Author: Devang Patel <dpatel@apple.com> Date: Fri Dec 11 21:37:07 2009 +0000 Construct CompileUnits lazily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91159 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9d501bd6024424a0d85836f2e61a5fcd3f717d23 Author: Dan Gohman <gohman@apple.com> Date: Fri Dec 11 21:31:27 2009 +0000 Implement vector widening, splitting, and scalarizing for SIGN_EXTEND_INREG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91158 91177308-0d34-0410-b5e6-96231b3b80d8 commit c6095894e7cd3c7144575ba6e2596bb5a3d3adc0 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Dec 11 20:29:53 2009 +0000 memory barrier instructions by definition have side effects. This prevents the post-RA scheduler from moving them around. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91150 91177308-0d34-0410-b5e6-96231b3b80d8 commit 432c8afd5e7ab193fbf348436da8c4d88a780f93 Author: Dan Gohman <gohman@apple.com> Date: Fri Dec 11 20:09:21 2009 +0000 Change this to the correct PR number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91148 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10ef46f126972755ae7dac376fc98f26ddd31dfc Author: Dan Gohman <gohman@apple.com> Date: Fri Dec 11 20:05:23 2009 +0000 Make getUniqueExitBlocks's precondition assert more precise, to avoid spurious failures. This fixes PR5758. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91147 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2c4c4dc0dc9c48f7ec593798916cab05c68ec44b Author: Dan Gohman <gohman@apple.com> Date: Fri Dec 11 19:50:50 2009 +0000 Fix the result type of SELECT nodes lowered from Select instructions with aggregate return values. This fixes PR5754. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91145 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7767af5f34dccb5d093cd46004f2f2687095019c Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Fri Dec 11 19:39:55 2009 +0000 Honour setHasCalls() set from isel. This is used in some weird cases like general dynamic TLS model. This fixes PR5723 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91144 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7e6324988a184400c4a79d684746f91c3c5bfad3 Author: Johnny Chen <johnny.chen@apple.com> Date: Fri Dec 11 19:37:26 2009 +0000 Store Register Exclusive should leave the source register Inst{3-0} unspecified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91143 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7853967b2bec37e6093fa595cc42aabbad964059 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Dec 11 18:52:41 2009 +0000 Update properties. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91140 91177308-0d34-0410-b5e6-96231b3b80d8 commit efa9046e1673863e2b091556e5c92b834cc4bdf5 Author: Gabor Greif <ggreif@gmail.com> Date: Fri Dec 11 15:30:07 2009 +0000 Simplify this class by removing the result cache. This change removes the DefaultConstructible and CopyAssignable constraints on the template parameter T (the first one). The second template parameter (R) is defaulted to be identical to the first and controls the result type. By specifying it to be (const T&) additionally the CopyConstructible constraint on T can be removed. This allows to use StringSwitch e.g. for llvm::Constant instances. Regarding the other review feedback regarding performance because of taking pointers, this class should be completely optimizable like before, since all methods are inline and the pointer dereferencing and result value caching should be possible behind the scenes by the "as-if" rule. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91123 91177308-0d34-0410-b5e6-96231b3b80d8 commit 624ebdda54ecb7db70ffb105148e68dd34940f8e Author: Bill Wendling <isanbard@gmail.com> Date: Fri Dec 11 10:43:41 2009 +0000 Revert part of r91101 which was causing an infinite loop in the self-hosting build bots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91113 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9039ae61fdf29b92f04b84e85c13d0119fa39268 Author: Duncan Sands <baldrick@free.fr> Date: Fri Dec 11 08:36:17 2009 +0000 Add utility method for determining whether a function argument has the 'nest' attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91109 91177308-0d34-0410-b5e6-96231b3b80d8 commit b880e97295cce0cffac154c7643945435cede34d Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Dec 11 06:02:21 2009 +0000 Tests for 91103 and 91104. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91105 91177308-0d34-0410-b5e6-96231b3b80d8 commit f031da831176f05449c6c0dd32f45f2fca403f2d Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Dec 11 06:01:48 2009 +0000 Add support to 3-addressify 16-bit instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91104 91177308-0d34-0410-b5e6-96231b3b80d8 commit f486334d5c3e5d686f35f5fb9594842a76596496 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Dec 11 06:01:00 2009 +0000 Coalesce insert_subreg undef, x first to avoid phase ordering issue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91103 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4d2fd87d90f53f74faab9b231809bad929ffdf28 Author: Bill Wendling <isanbard@gmail.com> Date: Fri Dec 11 03:14:18 2009 +0000 Address comments on last patch: - Loosen the restrictions when checking of it branches to a landing pad. - Make the loop more efficient by checking the '.insert' return value. - Do cheaper checks first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91101 91177308-0d34-0410-b5e6-96231b3b80d8 commit 573d1d59306f14c74a519b77e1d677e9a6df3a65 Author: Bill Wendling <isanbard@gmail.com> Date: Fri Dec 11 01:49:14 2009 +0000 A machine basic block may end in an unconditional branch, however it may have more than one successor. Normally, these extra successors are dead. However, some of them may branch to exception handling landing pads. If we remove those successors, then the landing pads could go away if all predecessors to it are removed. Before, it was checking if the direct successor was the landing pad. But it could be the result of jumping through multiple basic blocks to get to it. If we were to only check for the existence of an EH_LABEL in the basic block and not remove successors if it's in there, then it could stop actually dead basic blocks from being removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91092 91177308-0d34-0410-b5e6-96231b3b80d8 commit 437d699dc2b7e690254435cb93d7bbd21bb88217 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Dec 11 01:42:04 2009 +0000 Rough first pass at compare_and_swap atomic builtins for ARM mode. Work in progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91090 91177308-0d34-0410-b5e6-96231b3b80d8 commit 307e718947561a527c51e03e38cd77ca1efc6998 Author: Anders Carlsson <andersca@mac.com> Date: Fri Dec 11 01:04:42 2009 +0000 Add qualifiers for calls to member functions in dependent bases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91087 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6d47963bc2b99fc828e706072d94b4faab5c6703 Author: Devang Patel <dpatel@apple.com> Date: Thu Dec 10 23:25:41 2009 +0000 If VariableDIe is not created (may be because global was optimzed away) then do not try to use the variable die. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91077 91177308-0d34-0410-b5e6-96231b3b80d8 commit fcd3705bd25d9e1406adc67a11b200f8454d840e Author: Eric Christopher <echristo@apple.com> Date: Thu Dec 10 21:11:40 2009 +0000 Add a test for the fix in revision 91009. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91062 91177308-0d34-0410-b5e6-96231b3b80d8 commit fda100228c44e2ce87a2059d879c3da7f6cf043d Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Dec 10 20:59:45 2009 +0000 It's not safe to coalesce a move where src and dst registers have different subregister indices. e.g.: %reg16404:1<def> = MOV8rr %reg16412:2<kill> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91061 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8d73e4308d9773535794f2f00ea213981310a6ba Author: Douglas Gregor <doug.gregor@gmail.com> Date: Thu Dec 10 19:52:22 2009 +0000 Remove a broken, unused header git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91058 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1a8f9a8322f0de194328f3ab2cbf941504015f5f Author: Devang Patel <dpatel@apple.com> Date: Thu Dec 10 19:14:49 2009 +0000 Refactor code that finds context for a given die. Create global variable DIEs after creating subprogram DIEs. This allows function level static variable's to find their context at the time of DIE creation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91055 91177308-0d34-0410-b5e6-96231b3b80d8 commit 37582c3385a5259c279f4da155b7659f4272ff71 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Dec 10 18:35:32 2009 +0000 Add instruction encoding for DMB/DSB git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91053 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7f139c19245027f4f367bf09db322e16ceca76f5 Author: Devang Patel <dpatel@apple.com> Date: Thu Dec 10 18:05:33 2009 +0000 Refactor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91051 91177308-0d34-0410-b5e6-96231b3b80d8 commit a0f793a956a6aeff1386647a714c627102bfdc88 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Thu Dec 10 17:48:32 2009 +0000 Also attempt trivial coalescing for live intervals that end in a copy. The coalescer is supposed to clean these up, but when setting up parameters for a function call, there may be copies to physregs. If the defining instruction has been LICM'ed far away, the coalescer won't touch it. The register allocation hint does not always work - when the register allocator is backtracking, it clears the hints. This patch is more conservative than r90502, and does not break 483.xalancbmk/i686. It still breaks the PowerPC bootstrap, so it is disabled by default, and can be enabled with the -trivial-coalesce-ends option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91049 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6d9ba4b1d7364823556c97a78142ecd28048e3a3 Author: Edwin Török <edwintorok@gmail.com> Date: Thu Dec 10 10:01:47 2009 +0000 Comparing std::string with NULL is a bad idea, so just check whether its empty. This code was crashing always with oprofile enabled, since it tried to create a StringRef out of NULL, which run strlen on NULL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91046 91177308-0d34-0410-b5e6-96231b3b80d8 commit a4ea68be726443c35446332dbdeff00f42f7e48b Author: Eric Christopher <echristo@apple.com> Date: Thu Dec 10 00:25:41 2009 +0000 Make sure the immediate dominator isn't NULL through iterations of the loop. We could get to this condition via indirect branches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91009 91177308-0d34-0410-b5e6-96231b3b80d8 commit c97c9a0f7c7aa3572a819aef0315a6ddb7a2dfe8 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 10 00:11:45 2009 +0000 Fix PR5744, a case where we were getting the pointer size instead of the value size. This only manifested when memdep inprecisely returns clobber, which is do to a caching issue in the PR5744 testcase. We can 'efficiently emulate' this by using '-no-aa' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91004 91177308-0d34-0410-b5e6-96231b3b80d8 commit ba744f662e83517b2b940145a24d6cbb453f52f9 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Dec 10 00:11:09 2009 +0000 Add memory barrier intrinsic support for ARM. Moving towards adding the atomic operations intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91003 91177308-0d34-0410-b5e6-96231b3b80d8 commit e559e790ba60791726da785535d194ca71f47dee Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 10 00:04:46 2009 +0000 allow this to build when the #if 0's are enabled. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90999 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6ab68f2d2516ed58e49016dfca15e2ad4bc865e6 Author: Dan Gohman <gohman@apple.com> Date: Wed Dec 9 22:55:01 2009 +0000 Dereference loopHeader after checking for null rather than before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90990 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5252e89c88fc55ce4b4842b600031f6ca536dc5d Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Dec 9 22:24:42 2009 +0000 Fix test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90988 91177308-0d34-0410-b5e6-96231b3b80d8 commit e31a26af8b770854d3a630081e74ee52899482b4 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Dec 9 21:00:30 2009 +0000 Optimize splat of a scalar load into a shuffle of a vector load when it's legal. e.g. vector_shuffle (scalar_to_vector (i32 load (ptr + 4))), undef, <0, 0, 0, 0> => vector_shuffle (v4i32 load ptr), undef, <1, 1, 1, 1> iff ptr is 16-byte aligned (or can be made into 16-byte aligned). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90984 91177308-0d34-0410-b5e6-96231b3b80d8 commit eef9c8f43d719d072f7f027510125f45a0e02956 Author: Dan Gohman <gohman@apple.com> Date: Wed Dec 9 18:48:53 2009 +0000 Reuse the Threshold value to size these containers because it's currently somewhat convenient for them to have the same value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90980 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe0be137457e5a2fe51000ed2844f888e9e19b64 Author: Devang Patel <dpatel@apple.com> Date: Wed Dec 9 18:24:21 2009 +0000 Reapply r90858, a cleanup patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90979 91177308-0d34-0410-b5e6-96231b3b80d8 commit 091a1d20fcf979b5f266fa2b085215bc3bfe2d46 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 18:21:46 2009 +0000 fix hte last remaining known (by me) phi translation bug. When we reanalyze clobbers to forward pieces of large stores to small loads, we need to consider the properly phi translated pointer in the store block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90978 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2737cb4b2a2a648f07f3272d932ba564a03a368a Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 18:13:28 2009 +0000 change GetStoreValueForLoad to use IRBuilder, which is cleaner and implicitly constant folds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90977 91177308-0d34-0410-b5e6-96231b3b80d8 commit 39d7706d74c6237258b9a78a4aaf841f28c58a1d Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Dec 9 18:05:27 2009 +0000 Fix a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90975 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6e4661381e82fb4d6ba33d57155dcda400280d3a Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 17:27:45 2009 +0000 Add a minor optimization: if we haven't changed the operands of an add, there is no need to scan the world to find the same add again. This invalidates the previous testcase, which wasn't wonderful anyway, because it needed a run of instcombine to permute the use-lists in just the right way to before GVN was run (so it was really fragile). Not a big loss. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90973 91177308-0d34-0410-b5e6-96231b3b80d8 commit de76e8dccddd7578a9d52dd04bcf9ca36da417d8 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Dec 9 17:26:02 2009 +0000 Add note about loadable modules on windows. Patch by Gregory Petrosyan! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90972 91177308-0d34-0410-b5e6-96231b3b80d8 commit 13c6e945a6f59aca2d21b46c036521c59d1f61bc Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 17:18:49 2009 +0000 fix PR5733, a case where we'd replace an add with a lexically identical binary operator that wasn't an add. In this case, a xor. Whoops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90971 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9b4ae24a6d11afa1453e2cfce2c702316ad7e093 Author: David Goodwin <david_goodwin@apple.com> Date: Wed Dec 9 17:18:22 2009 +0000 <rdar://problem/7453528>. Track only physical registers that are valid for the target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90970 91177308-0d34-0410-b5e6-96231b3b80d8 commit e1ab6f944f31f5db68788036bb48cc6fef160be6 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 17:17:26 2009 +0000 merge crash-2.ll into crash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90969 91177308-0d34-0410-b5e6-96231b3b80d8 commit 179201113b146232ba8ed6cc32c3b7c1b0cdd481 Author: Eric Christopher <echristo@apple.com> Date: Wed Dec 9 08:29:32 2009 +0000 Silence conversion warning from 64 to 32-bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90962 91177308-0d34-0410-b5e6-96231b3b80d8 commit fd9feaabf12a8dd559794b5a779d12c9a5e9dfa3 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 07:37:07 2009 +0000 change AnalyzeLoadFromClobberingMemInst/AnalyzeLoadFromClobberingStore to require the load ty/ptr to be passed in, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90960 91177308-0d34-0410-b5e6-96231b3b80d8 commit 598abfd68824c718b392e6da1ff78a278b390bdf Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 07:34:10 2009 +0000 change AnalyzeLoadFromClobberingWrite and clients to pass in type and pointer instead of the load. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90959 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca02fc16abf5caf64bf21a3efdad9b52368591c5 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 07:31:04 2009 +0000 enhance NonLocalDepEntry to keep the per-block phi translated address of the query. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90958 91177308-0d34-0410-b5e6-96231b3b80d8 commit c831c64f16749af9b1a782ace983aee600d59c43 Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Dec 9 07:19:48 2009 +0000 DeltaAlgorithm: Add a virtual destructor and home. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90957 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1a957967ec0e908f69717c8887d427eeaee8e5fc Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 07:08:01 2009 +0000 change NonLocalDepEntry from being a typedef for an std::pair to be its own small class. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90956 91177308-0d34-0410-b5e6-96231b3b80d8 commit 75730ab628f309e281beab31cb081b7487579f6e Author: Lang Hames <lhames@gmail.com> Date: Wed Dec 9 05:39:12 2009 +0000 Added a new "splitting" spiller. When a call is placed to spill an interval this spiller will first try to break the interval up into its component values. Single value intervals and intervals which have already been split (or are the result of previous splits) are spilled by the default spiller. Splitting intervals as described above may improve the performance of generated code in some circumstances. This work is experimental however, and it still miscompiles many benchmarks. It's not recommended for general use yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90951 91177308-0d34-0410-b5e6-96231b3b80d8 commit 22a458ae9214261c3e420910fb22ee81c358395d Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Dec 9 03:26:33 2009 +0000 Remove spurious extern. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90937 91177308-0d34-0410-b5e6-96231b3b80d8 commit fd96f3416558738874517ad53b30b0fa13fac75f Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Dec 9 02:58:09 2009 +0000 Remove unneeded ';' and a class/struct mismatch (noticed by clang). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90934 91177308-0d34-0410-b5e6-96231b3b80d8 commit 521f16433f6a3ae9e35a47efc577dcb9162a01ef Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 02:43:05 2009 +0000 the code in GVN that tries to forward large loads to small stores is not phi translating, thus it miscompiles really crazy testcases. This is from inspection, I haven't seen this in the wild. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90930 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4c61909de5f6f6a721080017aa11ab846b24bdfb Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 02:41:54 2009 +0000 add some aborts to #if 0's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90929 91177308-0d34-0410-b5e6-96231b3b80d8 commit efff322bd17b640f544a1d28c580b59499a28ff8 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 01:59:31 2009 +0000 Switch GVN and memdep to use PHITransAddr, which correctly handles phi translation of complex expressions like &A[i+1]. This has the following benefits: 1. The phi translation logic is all contained in its own class with a strong interface and verification that it is self consistent. 2. The logic is more correct than before. Previously, if intermediate expressions got PHI translated, we'd miss the update and scan for the wrong pointers in predecessor blocks. @phi_trans2 is a testcase for this. 3. We have a lot less code in memdep. We can handle phi translation across blocks of things like @phi_trans3, which is pretty insane :). This patch should fix the miscompiles of 255.vortex, and I tested it with a bootstrap of llvm-gcc, llvm-test and dejagnu of course. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90926 91177308-0d34-0410-b5e6-96231b3b80d8 commit 76ebe86e74ce108a129259fb52663edb0483da9d Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Dec 9 01:53:58 2009 +0000 Teach InferPtrAlignment to infer GV+cst alignment and use it to simplify x86 isl lowering code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90925 91177308-0d34-0410-b5e6-96231b3b80d8 commit ada03e86adc6f39bc024e7e147f4e8a84929c6b2 Author: Devang Patel <dpatel@apple.com> Date: Wed Dec 9 01:46:00 2009 +0000 Remove tests that are not suitable anymore. Plus they are not testing the original bugfixes anymore. These tests were inserted to check bug fixes in code that handled debug info intrinsics. These intrinsics are no longer used and now llvm parser simply ignores old .dbg intrinsics from these dead tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90923 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1a029cbee8f0bb7d1798aa474bdc46f017ba1871 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Dec 9 01:36:00 2009 +0000 Move isConsecutiveLoad to SelectionDAG. It's not target dependent and it's primary used by selectdag passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90922 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3b1d6462fe599fc9e17811b2d6bc8fad77183647 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 01:19:16 2009 +0000 fix a nasty variable that was shadowing the real CurBB but with the wrong value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90920 91177308-0d34-0410-b5e6-96231b3b80d8 commit a711e2664a880bc4b941d2690371cf811167bf95 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Dec 9 01:17:24 2009 +0000 Infer alignment for non-fixed stack object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90919 91177308-0d34-0410-b5e6-96231b3b80d8 commit d3caa135e4a12b56cf586dc4d2a3d89d821b2f46 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Dec 9 01:10:37 2009 +0000 Add const qualifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90918 91177308-0d34-0410-b5e6-96231b3b80d8 commit 684647dabc65cd039ddd73daf25112d1b6a98072 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Dec 9 01:04:59 2009 +0000 Refactor InferAlignment out of DAGCombine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90917 91177308-0d34-0410-b5e6-96231b3b80d8 commit a3d7e0b6f0723224cf9db5b12d41d0bc82948782 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 00:56:14 2009 +0000 fix many input tracking bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90915 91177308-0d34-0410-b5e6-96231b3b80d8 commit cb8c775db77dfe0194a6169f437342eacaa46792 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 00:41:28 2009 +0000 when opt crashes, print its command line arguments as a pretty stack trace. Somehow opt was missed when this was added. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90912 91177308-0d34-0410-b5e6-96231b3b80d8 commit aa30b76c39c82f6e0973d597511c9a6980a914d4 Author: Dan Gohman <gohman@apple.com> Date: Wed Dec 9 00:28:42 2009 +0000 Fix a typo in a comment, and adjust SmallSet and SmallVector sizes, that Chris noticed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90910 91177308-0d34-0410-b5e6-96231b3b80d8 commit 604d78539ab4276a96f99287599fe6b341707dc0 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 00:18:13 2009 +0000 fix PHI translation to take the PHI out of the instinputs set and add the translated value back to it if an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90909 91177308-0d34-0410-b5e6-96231b3b80d8 commit 67f80492b9822f893a83641bb204d81e916f8d3e Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 00:10:55 2009 +0000 instructions defined in CurBB may be intermediate nodes of the computation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90908 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7bc7cb6375e49b89417a44bddad4300ec5b2c5ea Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 9 00:01:00 2009 +0000 add dumping and sanity checking support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90906 91177308-0d34-0410-b5e6-96231b3b80d8 commit 096cad10650493a4addf69d3bdf81f2e2c38d943 Author: Dan Gohman <gohman@apple.com> Date: Tue Dec 8 23:59:12 2009 +0000 Put a threshold on the number of users PointerMayBeCaptured examines; fall back to a conservative answer if there are more. This works around some several compile time problems resulting from BasicAliasAnalysis calling PointerMayBeCaptured. The value has been chosen arbitrarily. This fixes rdar://7438917 and may partially address PR5708. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90905 91177308-0d34-0410-b5e6-96231b3b80d8 commit c88612dd681daa28178107881b0526b5ad4b0d1c Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 8 23:42:51 2009 +0000 make sure that PHITransAddr keeps its 'InstInputs' list up to date when instsimplify kicks in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90901 91177308-0d34-0410-b5e6-96231b3b80d8 commit de2d3688d9711628c15ee2b8410fa3e936ca698c Author: Devang Patel <dpatel@apple.com> Date: Tue Dec 8 23:21:45 2009 +0000 Revert 90858 90875 and 90805 for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90898 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9e5c8a8cdfc3a0267b026851bf08a9507474578e Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Dec 8 23:06:22 2009 +0000 - Support inline asm 'w' constraint for 128-bit vector types. - Also support the 'q' NEON registers asm code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90894 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1d9aeda1a20c306e7639e6df6613d570e793ab00 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Dec 8 19:49:30 2009 +0000 lit: Prevent crash-on-invalid (when run on directory which has no test suite). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90871 91177308-0d34-0410-b5e6-96231b3b80d8 commit bb331cbe3eb64ba46f885189aa8797c3027a69ea Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Dec 8 19:48:01 2009 +0000 Set svn:ignore on tools/clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90870 91177308-0d34-0410-b5e6-96231b3b80d8 commit 58c778873ae2dac1a1c615bf4cab3cd788ec4db9 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Dec 8 19:47:36 2009 +0000 CMake/lit: Add llvm_{unit_,}site_config parameters, and always pass them when running tests from the project files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90869 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6e56790b2a9d8fbdbbcba5750f646488f1073d9f Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Dec 8 19:34:53 2009 +0000 Revert 90789 for now. It caused massive compile time regression. Post-ra scheduler slowed down dramatically with this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90868 91177308-0d34-0410-b5e6-96231b3b80d8 commit d11c2b3c143afb32f32fcc203190454a63fdd0c1 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Dec 8 18:27:03 2009 +0000 Some superficial cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90866 91177308-0d34-0410-b5e6-96231b3b80d8 commit bb4b0d5499b3b7095b560734f1b47d26187ce644 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Dec 8 18:22:03 2009 +0000 Clean up dead operands left around after SROA replaces a mem intrinsic. I'm not aware that this does anything significant on its own, but it's needed for another patch that I'm working on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90864 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7b294d7538f15995e446a6a2dd17965813133cc0 Author: Devang Patel <dpatel@apple.com> Date: Tue Dec 8 15:31:31 2009 +0000 Cleanup. There is no need to supply ModuleCU to addType() as a parameter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90858 91177308-0d34-0410-b5e6-96231b3b80d8 commit 23a55d34fc5a37cc60122ac3db057177f91e2528 Author: Devang Patel <dpatel@apple.com> Date: Tue Dec 8 15:01:35 2009 +0000 Do not try to push dead variable's debug info into namespace info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90857 91177308-0d34-0410-b5e6-96231b3b80d8 commit f8bbaf864380c3d5ea1c21d4fade7cb22fcced25 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Tue Dec 8 13:07:38 2009 +0000 Remove useless calls to c_str(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90855 91177308-0d34-0410-b5e6-96231b3b80d8 commit 35138e397b334bffa8f1c9121fa97f9129880d09 Author: Duncan Sands <baldrick@free.fr> Date: Tue Dec 8 10:10:20 2009 +0000 Teach GlobalOpt to delete aliases with internal linkage (after forwarding any uses). GlobalDCE can also do this, but is only run at -O3. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90850 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3147011bdf615c47e44b7ffbc5e94263d42aa6ed Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 8 06:06:26 2009 +0000 fix a typo (and -> add) and fix GetAvailablePHITranslatedSubExpr to not side-effect the current object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90837 91177308-0d34-0410-b5e6-96231b3b80d8 commit 54518e654b0b98ffeefec0b0958500883ba2832a Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Dec 8 05:45:41 2009 +0000 Remove unnecessary #include "llvm/LLVMContext.h". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90836 91177308-0d34-0410-b5e6-96231b3b80d8 commit 48df1cc8234d91de705451688bb54bbbe161d51a Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 8 05:31:46 2009 +0000 whitespace cleanup git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90834 91177308-0d34-0410-b5e6-96231b3b80d8 commit 62d57ae9ef18b9cfaa8c3a977db1ed31694a03d5 Author: Oscar Fuentes <ofv@wanadoo.es> Date: Tue Dec 8 02:49:54 2009 +0000 Removed VC++ compatibility code from DataTypes.h.in. This header file is not used on VC++ builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90829 91177308-0d34-0410-b5e6-96231b3b80d8 commit da3ef8a038a93fa4b4879fd203abd2f9377ab977 Author: Oscar Fuentes <ofv@wanadoo.es> Date: Tue Dec 8 02:40:09 2009 +0000 For VC++, define the ?INT*_C macros only it they are not yet defined. Some compatibility updates like the Boost TR1 compatibility headers define them. Patch contributed by OvermindDL1! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90828 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3caef71dd23157310e52ed947a2fb44579f79db3 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Tue Dec 8 01:03:04 2009 +0000 Reduce (cmp 0, and_su (foo, bar)) into (bit foo, bar). This saves extra instruction. Patch inspired by Brian Lucas! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90819 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9688c52873170b7096ec6f7e13ddea8cb13ca6d8 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Dec 7 23:11:03 2009 +0000 Watch out for duplicated PHI instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90816 91177308-0d34-0410-b5e6-96231b3b80d8 commit cb900da68f1eef3242a89e4f3f2078bbccb093b3 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Dec 7 23:10:34 2009 +0000 Follow up to 90488. Turn a check into an assertion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90815 91177308-0d34-0410-b5e6-96231b3b80d8 commit d5d28ebb4b6d5cf3f6b15f0a1be3e3e82816b03b Author: Jeffrey Yasskin <jyasskin@google.com> Date: Mon Dec 7 22:32:38 2009 +0000 Fix the OProfileJITEventListener for StringRef being returned from debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90813 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9a8b457e8247f989a5d6d19468fc23e7e48a7118 Author: Victor Hernandez <vhernandez@apple.com> Date: Mon Dec 7 21:54:43 2009 +0000 Rename DIFactory::InsertValue() as DIFactory::InsertDbgValueIntrinsic() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90807 91177308-0d34-0410-b5e6-96231b3b80d8 commit 641f820036ddf1823bf6b175f4bab0034749b537 Author: Devang Patel <dpatel@apple.com> Date: Mon Dec 7 21:41:32 2009 +0000 Add support to emit debug info for c++ style namespaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90805 91177308-0d34-0410-b5e6-96231b3b80d8 commit 03cbedef57d2f8bba7823df2f17ffc29e089ba43 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Dec 7 21:19:33 2009 +0000 Delete code accidentally left behind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90804 91177308-0d34-0410-b5e6-96231b3b80d8 commit b0f617ce7b174a87c19e6f21bcadecc68654ff38 Author: Chris Lattner <sabre@nondot.org> Date: Mon Dec 7 19:52:57 2009 +0000 fix typo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90793 91177308-0d34-0410-b5e6-96231b3b80d8 commit 78a0c48a34b4ae0f766bc94e841018cd9d3557ae Author: Chris Lattner <sabre@nondot.org> Date: Mon Dec 7 19:45:30 2009 +0000 add accessor, improve comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90792 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0ef78de4b1c6169cbee2671bbe2a4291d21231cf Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Dec 7 19:42:22 2009 +0000 Test case for 90787. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90791 91177308-0d34-0410-b5e6-96231b3b80d8 commit ef778032ceda17e7b5209045d28761c5190b5730 Author: David Greene <greened@obbligato.org> Date: Mon Dec 7 19:40:26 2009 +0000 Use FileCheck and set nounwind on calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90790 91177308-0d34-0410-b5e6-96231b3b80d8 commit 654f5abad31952e2e447a598635ba9ce3a582a45 Author: Dan Gohman <gohman@apple.com> Date: Mon Dec 7 19:38:26 2009 +0000 Apply Pekka Jääskeläinen's patch to raise the first virtual register number in order to accomodate targets with more than 1024 registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90789 91177308-0d34-0410-b5e6-96231b3b80d8 commit f2379900d4ebb0568cc18e7102f1d3567f2fabea Author: Victor Hernandez <vhernandez@apple.com> Date: Mon Dec 7 19:36:34 2009 +0000 Introduce the "@llvm.dbg.value" debug intrinsic. The semantics of llvm.dbg.value are that starting from where it is executed, an offset into the specified user source variable is specified to get a new value. An example: call void @llvm.dbg.value(metadata !{ i32 7 }, i64 0, metadata !2) Here the user source variable associated with metadata #2 gets the value "i32 7" at offset 0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90788 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6fc593ad30a6640abdcd0e27aefcfae35eb874f5 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Mon Dec 7 19:16:13 2009 +0000 Simplify a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90785 91177308-0d34-0410-b5e6-96231b3b80d8 commit 43f5c616b9938842aebaa8de4451aca52c408f04 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Mon Dec 7 19:15:57 2009 +0000 Throw 'const char*' instead of 'std::string'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90784 91177308-0d34-0410-b5e6-96231b3b80d8 commit 726e81006a54d5ee21372b593b6d0aebed32eade Author: Chris Lattner <sabre@nondot.org> Date: Mon Dec 7 19:04:49 2009 +0000 add support for phi translation and incorpation of new expression. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90782 91177308-0d34-0410-b5e6-96231b3b80d8 commit ad1cc9c85c6ebd136855b133cfa0397741c2dcbf Author: Dan Gohman <gohman@apple.com> Date: Mon Dec 7 19:04:31 2009 +0000 Don't enable the post-RA scheduler on x86 except at -O3. In its current form, it is too expensive in compile time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90781 91177308-0d34-0410-b5e6-96231b3b80d8 commit a3fce13cb0bd4c4afcf1c28f788a398df6a560dc Author: Chris Lattner <sabre@nondot.org> Date: Mon Dec 7 18:36:53 2009 +0000 checkpoint of the new PHITransAddr code, still not done and not used by anything. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90779 91177308-0d34-0410-b5e6-96231b3b80d8 commit e420496fa6dc7f2aa0cbec0a37f61197e5b402bc Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Mon Dec 7 18:26:24 2009 +0000 Regenerate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90776 91177308-0d34-0410-b5e6-96231b3b80d8 commit b045d745c550cdd03ae35f9ea4a9e325cbd50bbb Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Mon Dec 7 18:26:11 2009 +0000 Documentation update. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90775 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6b292727d8198ca5f85d501a741cb9e69f611038 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Mon Dec 7 18:25:54 2009 +0000 Deprecate 'unpack_values'. Use 'forward_values' + 'comma_separated' instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90774 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4b6e9d258dcb26f889bfd4c5c0139bfea7421b19 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Mon Dec 7 17:03:21 2009 +0000 Pass '-msse' and friends to llc as '-mattr=+/-'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90771 91177308-0d34-0410-b5e6-96231b3b80d8 commit f77867899cf80b436831429e58bac1f6a1ae66a1 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Mon Dec 7 17:03:05 2009 +0000 Implement 'forward_value' and 'forward_transformed_value'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90770 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1d52e693236fe83a47e438438a186d337f149ab0 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Mon Dec 7 10:51:55 2009 +0000 Refactoring, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90764 91177308-0d34-0410-b5e6-96231b3b80d8 commit c02f3dca734ac6709bf51d5768ed7b3f97b4a9e7 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Dec 7 10:15:19 2009 +0000 Pre-regalloc tale duplication. Work in progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90759 91177308-0d34-0410-b5e6-96231b3b80d8 commit 768358c2b996a799013fb0caa691ffe3b4f6e950 Author: John Mosby <ojomojo@gmail.com> Date: Mon Dec 7 09:06:37 2009 +0000 fixed some typos in method comments, reworded some comments for clarity git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90754 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4aafc85f5a94802c121050ec113973249e295577 Author: Oscar Fuentes <ofv@wanadoo.es> Date: Mon Dec 7 05:29:59 2009 +0000 Fixes the Atomic implementation if compiled by MSVC compiler. sys::cas_flag should be long on this platform, InterlockedAdd() is defined only for the Itanium architecture (according to MSDN). Patch by Michael Beck! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90748 91177308-0d34-0410-b5e6-96231b3b80d8 commit 18552eb96f80811caa9f48141219ebeb2eadc5b3 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Dec 7 03:07:01 2009 +0000 If BB is empty, insert PHI before end() instead of front(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90744 91177308-0d34-0410-b5e6-96231b3b80d8 commit e7fb83a04b4c05856465db53ad0981a8db72265c Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Mon Dec 7 02:28:41 2009 +0000 Some pretty-printing git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90742 91177308-0d34-0410-b5e6-96231b3b80d8 commit c15c59e7601f48d83728faa47d5bf676ad084383 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Mon Dec 7 02:28:26 2009 +0000 Truncate the arguments of llvm.frameaddress / llvm.returnaddress intrinsics from i32 to platform's largest native type git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90741 91177308-0d34-0410-b5e6-96231b3b80d8 commit 71169a722a14e9f381d61253aa8ebafd28f3e5d9 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Mon Dec 7 02:28:10 2009 +0000 Add lowering of returnaddr and frameaddr intrinsics. Shamelessly stolen from x86 :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90740 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5a39d69350dc6cdf4088ee6b1864070e619ef6d3 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Mon Dec 7 02:27:53 2009 +0000 Initial codegen support for MSP430 ISRs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90739 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56998002fed819fcf5d9dc28c49287454425506f Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Mon Dec 7 02:27:35 2009 +0000 Add MSP430 interrupt calling conv. No functionality change yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90738 91177308-0d34-0410-b5e6-96231b3b80d8 commit 57f67276b60064d0bf4c97ad459241377dff7e08 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Mon Dec 7 02:27:08 2009 +0000 Add ability to select hw multiplier mode and select appropriate libcalls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90737 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7363a6e009625b257d01c6c1a64653e17e2676cc Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Mon Dec 7 00:27:35 2009 +0000 Fix typos. Thanks to John Tytgat for noticing it! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90728 91177308-0d34-0410-b5e6-96231b3b80d8 commit f7374f702cd95402ff597457c8b3772cf3770ecf Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Dec 6 22:39:50 2009 +0000 Dynamic stack realignment use of sp register as source/dest register in "bic sp, sp, #15" leads to unpredicatble behaviour in Thumb2 mode. Emit the following code instead: mov r4, sp bic r4, r4, #15 mov sp, r4 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90724 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0cbb985ccdaaf5bc818e25d941a6e31d611deca4 Author: Chris Lattner <sabre@nondot.org> Date: Sun Dec 6 17:17:23 2009 +0000 fix PR5698 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90708 91177308-0d34-0410-b5e6-96231b3b80d8 commit ae4038f66b81c6a6017cac78817aa1c8dadd37d8 Author: Chris Lattner <sabre@nondot.org> Date: Sun Dec 6 16:58:41 2009 +0000 remove extraneous comma clang warns about git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90707 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4bb632ff31a7a273cd8c7411319b27dd5b532f9f Author: Chris Lattner <sabre@nondot.org> Date: Sun Dec 6 05:29:56 2009 +0000 constant fold loads from memcpy's from global constants. This is important because clang lowers nontrivial automatic struct/array inits to memcpy from a global array. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90698 91177308-0d34-0410-b5e6-96231b3b80d8 commit a96e53ae92d46707d04f238679ecb012ff07df99 Author: Chris Lattner <sabre@nondot.org> Date: Sun Dec 6 04:54:31 2009 +0000 add support for forwarding mem intrinsic values to non-local loads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90697 91177308-0d34-0410-b5e6-96231b3b80d8 commit d59cb5d5442025e89d4b6c16bf685a6f770d7add Author: Chris Lattner <sabre@nondot.org> Date: Sun Dec 6 04:16:05 2009 +0000 gvn is optimizing this better now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90696 91177308-0d34-0410-b5e6-96231b3b80d8 commit cb00f73e99d788c3cb30168d32e46f6970c93d48 Author: Chris Lattner <sabre@nondot.org> Date: Sun Dec 6 01:57:02 2009 +0000 Handle forwarding local memsets to loads. For example, we optimize this: short x(short *A) { memset(A, 1, sizeof(*A)*100); return A[42]; } to 'return 257' instead of doing the load. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90695 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8e77e9b0238cff581abc86626cd153f726478804 Author: Chris Lattner <sabre@nondot.org> Date: Sun Dec 6 01:56:22 2009 +0000 Add helper methods for forming shift operations with a constant shift amount. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90694 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8e1e701a5bb2515de949ee95e457d208cbd36d19 Author: Chris Lattner <sabre@nondot.org> Date: Sun Dec 6 01:47:24 2009 +0000 merge two tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90691 91177308-0d34-0410-b5e6-96231b3b80d8 commit 46999ba6514604c021f8ec30df15e47568840c85 Author: Oscar Fuentes <ofv@wanadoo.es> Date: Sun Dec 6 00:06:33 2009 +0000 CheckAtomic.cmake: Put all C++ code inside CHECK_CXX_SOURCE_COMPILES. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90685 91177308-0d34-0410-b5e6-96231b3b80d8 commit ac88a7eecd22b24ede69845dd74cae286ff14816 Author: Oscar Fuentes <ofv@wanadoo.es> Date: Sat Dec 5 23:19:33 2009 +0000 Fix for atomic intrinsics detection when using MSVC. Patch by Michael Beck! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90683 91177308-0d34-0410-b5e6-96231b3b80d8 commit a182b3f8ba53a7b042461fd206a0807697ae6e85 Author: Dan Gohman <gohman@apple.com> Date: Sat Dec 5 17:56:26 2009 +0000 Remove old DBG_LABEL code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90669 91177308-0d34-0410-b5e6-96231b3b80d8 commit 955748e8b311172018ee5ab478e84b1f663d6547 Author: Dan Gohman <gohman@apple.com> Date: Sat Dec 5 17:51:33 2009 +0000 Remove the unused DisableLegalizeTypes option and related code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90668 91177308-0d34-0410-b5e6-96231b3b80d8 commit d5b718ce82f52d669b9657ec5534f5b37a152637 Author: Bill Wendling <isanbard@gmail.com> Date: Sat Dec 5 07:59:04 2009 +0000 Calling InvalidateEntry during the refinement was breaking the bootstrap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90656 91177308-0d34-0410-b5e6-96231b3b80d8 commit b347993aa457ca3c18247735eb301388d1fe2e71 Author: Bill Wendling <isanbard@gmail.com> Date: Sat Dec 5 07:46:49 2009 +0000 Final cleanups: - Privatize a typedef. - Call the InvalidateEntry when refining a type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90655 91177308-0d34-0410-b5e6-96231b3b80d8 commit 27cae32667e68db30ebfdee6fa4727696895967f Author: Bill Wendling <isanbard@gmail.com> Date: Sat Dec 5 07:30:23 2009 +0000 Temporarily revert r90502. It was causing the llvm-gcc bootstrap on PPC to fail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90653 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9c9f6a6c8f5226419d4b0bac7c0cd5cf3f8d644d Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Dec 5 06:37:52 2009 +0000 Document that memory use intrinsics may also return Def results. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90651 91177308-0d34-0410-b5e6-96231b3b80d8 commit ea2236d55ea9e19aaedb6e4402a3be714aed7efd Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Dec 5 06:37:24 2009 +0000 Fix indentation in switch statement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90650 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2b7bc81e5026c1c950667f0d96f499edc671e49c Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Dec 5 05:00:00 2009 +0000 Generalize this optimization to work on equality comparisons between any two integers that are constant except for a single bit (the same n-th bit in each). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90646 91177308-0d34-0410-b5e6-96231b3b80d8 commit a1151bf0deb01cc4fd87b8a394196f1123c78566 Author: Eric Christopher <echristo@apple.com> Date: Sat Dec 5 02:46:03 2009 +0000 More updates to objectsize intrinsic docs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90644 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1792bc68d2991042dceaa55f508a1c6c6a43b58a Author: Dan Gohman <gohman@apple.com> Date: Sat Dec 5 02:00:34 2009 +0000 Don't print a space before the : between the file name and line number. And separate the directory and file name with a '/'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90641 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7ea7e173d2eb27dc6a36b0c93c3e48ebea5da821 Author: Bill Wendling <isanbard@gmail.com> Date: Sat Dec 5 01:46:01 2009 +0000 Inline methods which are called only once. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90640 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ce8b25281afb6b4b39f9e8442275007de6ef920 Author: Bill Wendling <isanbard@gmail.com> Date: Sat Dec 5 01:43:33 2009 +0000 Refactor some code. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90639 91177308-0d34-0410-b5e6-96231b3b80d8 commit cfca6e367887ec0820cf5c664eec4c0714166980 Author: Dan Gohman <gohman@apple.com> Date: Sat Dec 5 01:42:34 2009 +0000 Print newlines after printing labels for debug info, so that the output isn't cluttered with things like "Llabel47:Llabel48: movq (%rsi), %xmm3" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90638 91177308-0d34-0410-b5e6-96231b3b80d8 commit c5b50fbff2c7d0f0e5f225da1c2f3f58299b35da Author: Dan Gohman <gohman@apple.com> Date: Sat Dec 5 01:29:04 2009 +0000 Don't blindly set the debug location for PHI node copies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90637 91177308-0d34-0410-b5e6-96231b3b80d8 commit 581cdf90ade3d318dedde0c645d478ffede09e0d Author: Dan Gohman <gohman@apple.com> Date: Sat Dec 5 01:27:58 2009 +0000 Make TargetSelectInstruction protected and called from FastISel.cpp instead of SelectionDAGISel.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90636 91177308-0d34-0410-b5e6-96231b3b80d8 commit 01696988ff3c98744cce105372803d4ed903f988 Author: Dan Gohman <gohman@apple.com> Date: Sat Dec 5 00:44:40 2009 +0000 Remove the target hook TargetInstrInfo::BlockHasNoFallThrough in favor of MachineBasicBlock::canFallThrough(), which is target-independent and more thorough. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90634 91177308-0d34-0410-b5e6-96231b3b80d8 commit bc18967dc5cbda59461d704cc1543b4fbd57f592 Author: Dan Gohman <gohman@apple.com> Date: Sat Dec 5 00:32:59 2009 +0000 Simplify this code: don't call AnalyzeBranch before doing simpler checks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90633 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ca1ac3967582cd4c02a12054b927adc1e111e52 Author: Dan Gohman <gohman@apple.com> Date: Sat Dec 5 00:27:08 2009 +0000 The debug information for an LLVM Instruction applies to that Instruction and that Instruction only. Implement this by setting the "current debug position" back to Unknown after processing each instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90632 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4698bab134cd68e41ae098168d9fd78e64b69904 Author: Dan Gohman <gohman@apple.com> Date: Sat Dec 5 00:23:29 2009 +0000 Fix this code to use DIScope instead of DICompileUnit, as in r90181. Don't print "SrcLine"; just print the filename and line number, which is obvious enough and more informative. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90631 91177308-0d34-0410-b5e6-96231b3b80d8 commit ef92a646d90a7dc618598e7b836638f96238f245 Author: Dan Gohman <gohman@apple.com> Date: Sat Dec 5 00:20:51 2009 +0000 Don't print the debug directory; it's often long and uninteresting. Omit the column number if it is not known. Handle the case of a missing filename better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90630 91177308-0d34-0410-b5e6-96231b3b80d8 commit a45e4926a3f8191749e5796b1829387c729a8a41 Author: Dan Gohman <gohman@apple.com> Date: Sat Dec 5 00:05:43 2009 +0000 Minor code simplification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90628 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1db628b4bc909ddc0d17ac0b2930cbf00a61191a Author: David Greene <greened@obbligato.org> Date: Sat Dec 5 00:03:24 2009 +0000 Remove an unneeded include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90627 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2b62af25fd3f6b7b9efd33f31c2db6c806b5cb6c Author: Dan Gohman <gohman@apple.com> Date: Sat Dec 5 00:02:37 2009 +0000 Remove now-redundant llvm-as invocations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90626 91177308-0d34-0410-b5e6-96231b3b80d8 commit a2b73bd6b0f0b3271a9d63a9933bafbcba2555fe Author: David Greene <greened@obbligato.org> Date: Fri Dec 4 23:55:07 2009 +0000 Remove an unneeded include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90625 91177308-0d34-0410-b5e6-96231b3b80d8 commit 546f68a11248be2f32331f07c5baccf8d9ebb00d Author: Bill Wendling <isanbard@gmail.com> Date: Fri Dec 4 23:29:57 2009 +0000 Add testcase for PR4262. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90623 91177308-0d34-0410-b5e6-96231b3b80d8 commit e26680ba1f829b15338f0f128855432c5bfd7210 Author: Dan Gohman <gohman@apple.com> Date: Fri Dec 4 23:19:55 2009 +0000 Print a space between the comment character and the text. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90621 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6329f4f55dcdfb70f68498843c88b5a73dcd4c03 Author: Bill Wendling <isanbard@gmail.com> Date: Fri Dec 4 23:16:56 2009 +0000 Temporarily revert r72620 because r72619 was reverted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90619 91177308-0d34-0410-b5e6-96231b3b80d8 commit d3df6974d831cc29b86026ce3ee3467eb489ea7f Author: Devang Patel <dpatel@apple.com> Date: Fri Dec 4 23:10:24 2009 +0000 In TAG_subrange_type, uppder bound is zero indexed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90617 91177308-0d34-0410-b5e6-96231b3b80d8 commit ef682b7fdd6c1fc93490a01b7ba4093e4c935771 Author: David Greene <greened@obbligato.org> Date: Fri Dec 4 23:08:02 2009 +0000 Fix a bad merge. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90616 91177308-0d34-0410-b5e6-96231b3b80d8 commit 989d418a4e80243a7c1ef377b24129218ba99cd5 Author: David Greene <greened@obbligato.org> Date: Fri Dec 4 23:00:50 2009 +0000 Update the TargetInstrInfo interfaces so hasLoad/StoreFrom/ToStackSlot can return a MachineMemOperand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90615 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0ef2d0921f1b88f1be8eb8c3380b4e17aee82bae Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Dec 4 22:46:47 2009 +0000 Fix indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90613 91177308-0d34-0410-b5e6-96231b3b80d8 commit 11a046f10f723cac2c598dd0a626383c43aecba2 Author: David Greene <greened@obbligato.org> Date: Fri Dec 4 22:46:04 2009 +0000 Use new interfaces to print spill size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90611 91177308-0d34-0410-b5e6-96231b3b80d8 commit 647636ff709918827317acb14e19f1f78731d140 Author: David Greene <greened@obbligato.org> Date: Fri Dec 4 22:38:46 2009 +0000 Have hasLoad/StoreFrom/ToStackSlot return the relevant MachineMemOperand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90608 91177308-0d34-0410-b5e6-96231b3b80d8 commit 17bd7fec405d4836c56e7f36d46c89d7a19dc25f Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Dec 4 21:57:37 2009 +0000 Fix up some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90603 91177308-0d34-0410-b5e6-96231b3b80d8 commit fcb8eeed72b0f2838ccf134e814aad2feb254192 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Dec 4 21:51:35 2009 +0000 Fix 80-column violations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90601 91177308-0d34-0410-b5e6-96231b3b80d8 commit cfd40e5a54cf4299c3ec340152e1ae0350530b37 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Dec 4 21:41:24 2009 +0000 OptParser: Emit HelpText field for option groups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90599 91177308-0d34-0410-b5e6-96231b3b80d8 commit c461971d6dea16b5a464a801979b133746016d2f Author: Bill Wendling <isanbard@gmail.com> Date: Fri Dec 4 21:03:02 2009 +0000 Some code cleanup. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90588 91177308-0d34-0410-b5e6-96231b3b80d8 commit deb54c890a835d61f87054cd0f0fd89929fd7207 Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Dec 4 20:07:10 2009 +0000 Avoid creating a metadata slot for all metadata that contains an instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90581 91177308-0d34-0410-b5e6-96231b3b80d8 commit 99298f61d3a280ade30c73faee24fd72e0cdc228 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Dec 4 19:09:10 2009 +0000 Handle recursive PHI's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90575 91177308-0d34-0410-b5e6-96231b3b80d8 commit abf657c53cc476649c440c08edc622f71cbc61ba Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Dec 4 18:29:23 2009 +0000 Fix crasher when N->getElement(n) is NULL git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90572 91177308-0d34-0410-b5e6-96231b3b80d8 commit 371fcef75743c634263720bcd3a61a1615b90163 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Dec 4 09:42:45 2009 +0000 Add a pre-regalloc tail duplication pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90567 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6941493d76d1aaaffb2d5d505eef249f9145d07b Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Dec 4 09:23:37 2009 +0000 Don't try to be cute with undef optimization here. Let ProcessImplicitDefs handle it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90566 91177308-0d34-0410-b5e6-96231b3b80d8 commit c4c88cfd8ee8bff54a68d0642d671ea778782e6d Author: Duncan Sands <baldrick@free.fr> Date: Fri Dec 4 08:42:17 2009 +0000 Add note about a subtle bug in this code. Does not effect the main architectures that LLVM targets, because they don't use this code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90564 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6f27b6231b04b85963be239e4b4e38a4ca4ad282 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Dec 4 08:17:07 2009 +0000 Fix typo and add missing include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90557 91177308-0d34-0410-b5e6-96231b3b80d8 commit 078fc85321a73e8e62dac97c35361306ffd0205c Author: Andreas Neustifter <astifter@gmx.at> Date: Fri Dec 4 06:58:24 2009 +0000 Added debug output for inherited passes that are invalidated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90553 91177308-0d34-0410-b5e6-96231b3b80d8 commit 14d122d1e12cccd89611132195c0c884ff20f08c Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Fri Dec 4 06:38:45 2009 +0000 Forward -m32/-m64 to the linker. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90548 91177308-0d34-0410-b5e6-96231b3b80d8 commit b6244a12df638a1e891969f5d98c39061a4afedb Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Fri Dec 4 06:38:28 2009 +0000 Support -march/-mtune/-mcpu. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90547 91177308-0d34-0410-b5e6-96231b3b80d8 commit a9c1d1c0c9628ce3b99e16e610ec41affcbaf614 Author: Chris Lattner <sabre@nondot.org> Date: Fri Dec 4 06:29:29 2009 +0000 Fix PR5551 by not ignoring the top level constantexpr when folding a load from constant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90545 91177308-0d34-0410-b5e6-96231b3b80d8 commit 264a3832a12498c4cf895d43ca3642faea987617 Author: Chris Lattner <sabre@nondot.org> Date: Fri Dec 4 04:15:36 2009 +0000 add to cmake git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90539 91177308-0d34-0410-b5e6-96231b3b80d8 commit f3271997b64f2881fbfb1152031ed2e14337ecba Author: Chris Lattner <sabre@nondot.org> Date: Fri Dec 4 02:12:12 2009 +0000 Small and carefully crafted testcase showing a miscompilation by GVN that I'm working on. This is manifesting as a miscompile of 255.vortex on some targets. No check lines yet because it fails. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90520 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9003793e8d154cb9b14cc2391c46c68f97e2182c Author: Chris Lattner <sabre@nondot.org> Date: Fri Dec 4 02:10:16 2009 +0000 add the start of a class used to handle phi translation in memdep and gvn (this is just a skeleton so far). This will ultimately be used to fix a nasty miscompilation with GVN. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90518 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1358217bcbc89fe174040d453fbb63f4a2ca79d5 Author: Mike Stump <mrs@apple.com> Date: Fri Dec 4 01:53:15 2009 +0000 Create yet another helper for Invoke. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90514 91177308-0d34-0410-b5e6-96231b3b80d8 commit 634753dbd76b1db3ed7a48af1d1fbc94da3daa93 Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Dec 4 01:35:02 2009 +0000 Teach AsmWriter to write inline (not via a global metadata slot) metadata that contains an instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90512 91177308-0d34-0410-b5e6-96231b3b80d8 commit a0c7dd2577afbb02d62879c8b6ac4ecd6d372d62 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Dec 4 01:33:04 2009 +0000 Fix a comment typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90511 91177308-0d34-0410-b5e6-96231b3b80d8 commit cdbf27b90f3018b6bb3b66b3f58db960d445ef59 Author: Mike Stump <mrs@apple.com> Date: Fri Dec 4 01:26:26 2009 +0000 Add some helpers for Invoke to mirror CreateCall helpers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90508 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6bf11742990180e29ca58bbe8f1149773ec6090a Author: Chris Lattner <sabre@nondot.org> Date: Fri Dec 4 01:03:32 2009 +0000 add an assert to make it really clear what this is doing. Return singularval as a compile time perf optimization to avoid a load. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90507 91177308-0d34-0410-b5e6-96231b3b80d8 commit 88d11c3a214da464deb05eb17922d633e5af77a1 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Fri Dec 4 00:16:04 2009 +0000 Also attempt trivial coalescing for live intervals that end in a copy. The coalescer is supposed to clean these up, but when setting up parameters for a function call, there may be copies to physregs. If the defining instruction has been LICM'ed far away, the coalescer won't touch it. The register allocation hint does not always work - when the register allocator is backtracking, it clears the hints. This patch takes care of a few more cases that r90163 missed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90502 91177308-0d34-0410-b5e6-96231b3b80d8 commit 723be602ecdfde30a50c3afe1780575fdf8f0f56 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Dec 4 00:09:05 2009 +0000 - If the reaching definition is an undef and the use is a PHI, add the implicit_def to the end of the source block. - When reaching value is replaced with another, update the cache as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90501 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4285ddbfd5fd218038058a6fdb2366ae3247a99d Author: Devang Patel <dpatel@apple.com> Date: Thu Dec 3 23:46:57 2009 +0000 Insert composite type DIE into the map before processing type fields. This allows fields to find their context DIE from the map. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90498 91177308-0d34-0410-b5e6-96231b3b80d8 commit 223c7146f919727a834a1fa5471f25ce169ab2a6 Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Dec 3 23:40:58 2009 +0000 Add ParseInlineMetadata() which can parses metadata that refers to an instruction. Extend ParseParameterList() to use this new function so that calls to llvm.dbg.declare can pass inline metadata git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90497 91177308-0d34-0410-b5e6-96231b3b80d8 commit d003075f1b3921f20ac9da8e0310afa4cd9b2f04 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Dec 3 21:55:01 2009 +0000 remove out of date FIXME. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90490 91177308-0d34-0410-b5e6-96231b3b80d8 commit 21d9a013924f79957deaa9dac748d722cc40b40a Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Dec 3 21:51:55 2009 +0000 Handle undef values properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90489 91177308-0d34-0410-b5e6-96231b3b80d8 commit 886ea36230307f67689a2f318adf47ec80dd8be4 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Dec 3 21:50:58 2009 +0000 Watch out for PHI instruction with no source operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90488 91177308-0d34-0410-b5e6-96231b3b80d8 commit 505f207509d2814d54c957bd9324c59b332f35ba Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Dec 3 21:47:07 2009 +0000 Fix a comment typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90487 91177308-0d34-0410-b5e6-96231b3b80d8 commit b956e74994c0d0e41f2862e79d96ec699de782de Author: Duncan Sands <baldrick@free.fr> Date: Thu Dec 3 21:37:32 2009 +0000 Fix ExpandShiftWithUnknownAmountBit, which was completely bogus. Pointed out by Javier Martinez (who also provided a patch). Since this logic is not used on (for example) x86, I guess nobody noticed. Tested by generating SHL, SRL, SRA on various choices of i64 for all possible shift amounts, and comparing with gcc. Since I did this on x86-32, I had to force the use of ExpandShiftWithUnknownAmountBit. What I'm saying here is that I don't have a testcase I can add to the repository. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90482 91177308-0d34-0410-b5e6-96231b3b80d8 commit d0afa909ad8d1b108b4ad6925ca6b3a5de2817e2 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Thu Dec 3 20:49:10 2009 +0000 Clean up some loop logic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90481 91177308-0d34-0410-b5e6-96231b3b80d8 commit 188c85dc4247e23ddaa63e055972253de3901fdb Author: Devang Patel <dpatel@apple.com> Date: Thu Dec 3 19:11:07 2009 +0000 Add support to emit debug info for virtual functions and virtual base classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90474 91177308-0d34-0410-b5e6-96231b3b80d8 commit 96d7b188600be74e1936f6ed871b1d83d017bbf8 Author: Dan Gohman <gohman@apple.com> Date: Thu Dec 3 19:03:18 2009 +0000 Print a newline after the Args: line so that unrelated errs() output doesn't end up on the same line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90473 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5e1265d554b730da926b3fee830c38e5dd9eefae Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Dec 3 13:23:03 2009 +0000 Fix MSVC build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90454 91177308-0d34-0410-b5e6-96231b3b80d8 commit e047045d670b654099260d18939e7c997ef382b6 Author: Andreas Neustifter <astifter@gmx.at> Date: Thu Dec 3 12:55:57 2009 +0000 Convert ProfileVerifier to template so it can be used for different types of ProfileInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90451 91177308-0d34-0410-b5e6-96231b3b80d8 commit f2aee46c884e3f2ef217f9c923eeb1f9b303f784 Author: Andreas Neustifter <astifter@gmx.at> Date: Thu Dec 3 12:41:14 2009 +0000 Do not create negative edge weights in ProfileEstimator. Use integer values for weights to prevent rounding errors. Make ProfileEstimator more robust in general CFGs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90449 91177308-0d34-0410-b5e6-96231b3b80d8 commit eee658317491fb9c16588d9490a953cbe099099c Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Dec 3 11:12:42 2009 +0000 Add an implementation of the delta debugging algorithm. - This is a pretty slow / memory intensive implementation, and I will likely change it to an iterative model, but it works. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90447 91177308-0d34-0410-b5e6-96231b3b80d8 commit 86f33f89980cab23051ee961585883bb3627d7a8 Author: Andreas Neustifter <astifter@gmx.at> Date: Thu Dec 3 11:00:37 2009 +0000 Use ProfileInfo-API in ProfileInfo Loader and do more assertions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90446 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5c3770a68b8978d3b7ab6abe6176590b8bbbe59e Author: Andreas Neustifter <astifter@gmx.at> Date: Thu Dec 3 09:30:12 2009 +0000 Converted ProfileInfo to template, added more API for ProfileInfo-preserving. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90445 91177308-0d34-0410-b5e6-96231b3b80d8 commit e83c9b214205978873745b7368df84cf9f117996 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Dec 3 08:43:53 2009 +0000 Teach tail duplication to update SSA form. Work in progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90432 91177308-0d34-0410-b5e6-96231b3b80d8 commit 112929ef9a90dece270087545a7b173e64dc6245 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 3 07:43:46 2009 +0000 expand note. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90429 91177308-0d34-0410-b5e6-96231b3b80d8 commit dddb3a3b9e782e72a9568a31639ede110cf05131 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 3 07:41:54 2009 +0000 add a note git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90428 91177308-0d34-0410-b5e6-96231b3b80d8 commit ea5d5940df6894c2efc4c6ac76700922df97d8b2 Author: Nate Begeman <natebegeman@mac.com> Date: Thu Dec 3 07:11:29 2009 +0000 Don't pull vector sext through both hands of a logical operation, since doing so prevents the fusion of vector sext and setcc into vsetcc. Add a testcase for the above transformation. Fix a bogus use of APInt noticed while tracking this down. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90423 91177308-0d34-0410-b5e6-96231b3b80d8 commit 12fac174a70da350938ffa425d60e5f314ca5a8d Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 3 06:58:32 2009 +0000 fix a build problem with VC++, PR5664, patch by Alp Toker! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90419 91177308-0d34-0410-b5e6-96231b3b80d8 commit 171422980d99d7689b2cac01504b981e87b61905 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Dec 3 06:40:55 2009 +0000 Recognize canonical forms of vector shuffles where the same vector is used for both source operands. In the canonical form, the 2nd operand is changed to an undef and the shuffle mask is adjusted to only reference elements from the 1st operand. Radar 7434842. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90417 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ac6732b47ec36df1b6d990a62d21da02fddee2b Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Thu Dec 3 05:15:35 2009 +0000 Don't call getValueType() on a null SDValue git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90415 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2c405b9b2073b226155ef3e928ffa4f07e69607d Author: Owen Anderson <resistor@mac.com> Date: Thu Dec 3 03:43:29 2009 +0000 Fix this crasher, and add a FIXME for a missed optimization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90408 91177308-0d34-0410-b5e6-96231b3b80d8 commit 615cc8769c570cab6cb910255c0fab10256cf272 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Dec 3 02:31:43 2009 +0000 Fill out codegen SSA updater. It's not yet tested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90395 91177308-0d34-0410-b5e6-96231b3b80d8 commit ff1f7f7ab396cf2f68d64a7bc54d04f7dde178ae Author: Bill Wendling <isanbard@gmail.com> Date: Thu Dec 3 01:54:07 2009 +0000 Revert r90371. It was causing build failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90383 91177308-0d34-0410-b5e6-96231b3b80d8 commit 26f2fb73faa4634ef52b931f6581f127c79bc2f2 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Thu Dec 3 01:49:56 2009 +0000 Don't hang on to pointers or references after vector::push_back. The MO reference to a MachineOperand can be invalidated by MachineInstr::addOperand. Don't even use it for debugging. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90381 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5c17063f8a9795289eee9454110f066e225a72bd Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 3 01:46:18 2009 +0000 add a failing testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90380 91177308-0d34-0410-b5e6-96231b3b80d8 commit c1df879dbd07bb4d63e7cc6358ed73263c631c12 Author: Devang Patel <dpatel@apple.com> Date: Thu Dec 3 01:25:38 2009 +0000 Emit method definition DIE at module level (even for methods with inlined functino body at soure level) so that the debugger can invoke it. This fixes many test failures in gdb test suite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90375 91177308-0d34-0410-b5e6-96231b3b80d8 commit 07af48541ca53034b99a5290bca9b8d45849860c Author: Bill Wendling <isanbard@gmail.com> Date: Thu Dec 3 01:15:46 2009 +0000 Further improvements: refactoring code that does the same thing into one function, converting "dyn_cast" to "cast", asserting the correct things, and other general cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90371 91177308-0d34-0410-b5e6-96231b3b80d8 commit 610e0bd83840b8254dbc2ad0a4ba352eca16a720 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 3 01:10:05 2009 +0000 yay for case insensitive file systems (?) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90370 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56de6c29b3028dc1d6e5dc203292de7bb44275d5 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 3 01:05:45 2009 +0000 fix PR5673 by being more careful about pointers to functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90369 91177308-0d34-0410-b5e6-96231b3b80d8 commit a262eaa4f9eb214d28918a397c07a80b6158bf0b Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 3 00:55:04 2009 +0000 remove some dead std::ostream using code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90366 91177308-0d34-0410-b5e6-96231b3b80d8 commit b44b429549bc4c4f950d56d4f6fa0ba486856cc6 Author: Chris Lattner <sabre@nondot.org> Date: Thu Dec 3 00:50:42 2009 +0000 improve portability to avoid conflicting with std::next in c++'0x. Patch by Howard Hinnant! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90365 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56eb10842f19c43f3970f6f6ba2d8b7dbf4807e9 Author: Bill Wendling <isanbard@gmail.com> Date: Thu Dec 3 00:17:12 2009 +0000 This initial code is meant to convert TargetData to use an AbstractTypesUser so that it doesn't have dangling pointers when abstract types are resolved. This modifies it somewhat to address comments: making the "StructLayoutMap" an anonymous structure, calling "removeAbstractTypeUser" when appropriate, and adding asserts where helpful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90362 91177308-0d34-0410-b5e6-96231b3b80d8 commit 33221d9fcccbb6f41d5664fd0b89c9e6f71a0875 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Wed Dec 2 22:19:31 2009 +0000 Fix CMake makefiles git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90354 91177308-0d34-0410-b5e6-96231b3b80d8 commit 023a88ee8ad038b8e7686187cee877299cdefbca Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Dec 2 22:02:52 2009 +0000 Skeleton for MachineInstr level SSA updater. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90353 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd6fa9f3032a0781be6c8b4acd8aba62d5b96285 Author: Bill Wendling <isanbard@gmail.com> Date: Wed Dec 2 22:02:20 2009 +0000 Remove unnecessary check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90352 91177308-0d34-0410-b5e6-96231b3b80d8 commit dee452ff502feea9a09247af651d25107748bc0e Author: Jim Grosbach <grosbach@apple.com> Date: Wed Dec 2 19:31:07 2009 +0000 Add MaxStackAlignment.cpp to CMake git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90337 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4d20ee6d9a35d9498ad170c55ba714b346237a55 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Dec 2 19:30:24 2009 +0000 Factor the stack alignment calculations out into a target independent pass. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90336 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5eb5f091ab381b612c271a1683e6e0870394d0c4 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Dec 2 17:15:24 2009 +0000 Don't count PHI instructions toward the limit for tail duplicating a block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90326 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3168d8c736130382a1c7b92a452f3707cc69783a Author: Jim Grosbach <grosbach@apple.com> Date: Wed Dec 2 17:06:45 2009 +0000 Move EliminateDuplicatePHINodes() from SimplifyCFG.cpp to Local.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90324 91177308-0d34-0410-b5e6-96231b3b80d8 commit 00e637ba6ff6e9749f67cbed852462839d14241b Author: Andreas Neustifter <astifter@gmx.at> Date: Wed Dec 2 15:57:15 2009 +0000 Cheap, mostly strict, stable sorting. This is necessary for tests so the results are comparable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90320 91177308-0d34-0410-b5e6-96231b3b80d8 commit aca44457101e481c0efc60e9e3f8a0c5a53e45aa Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Wed Dec 2 15:33:44 2009 +0000 Silence compiler warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90319 91177308-0d34-0410-b5e6-96231b3b80d8 commit df0f215750690b1c58f76b72f751d5a5c4da46d8 Author: Devang Patel <dpatel@apple.com> Date: Wed Dec 2 15:25:16 2009 +0000 Clarify that DIEString does not keep a copy of the string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90318 91177308-0d34-0410-b5e6-96231b3b80d8 commit f187daf03250b0e1763bf07437d5048f6320789c Author: Owen Anderson <resistor@mac.com> Date: Wed Dec 2 07:35:19 2009 +0000 Cleanup/remove some parts of the lifetime region handling code in memdep and GVN, per Chris' comments. Adjust testcases to match. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90304 91177308-0d34-0410-b5e6-96231b3b80d8 commit bc6fccc2682a75a1dcbf8904334bc3b137fdc213 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 2 06:44:58 2009 +0000 factor some code better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90299 91177308-0d34-0410-b5e6-96231b3b80d8 commit 648dc5a2106ef92818f54ef831ac051f7d238264 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 2 06:35:55 2009 +0000 formatting cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90298 91177308-0d34-0410-b5e6-96231b3b80d8 commit 262590904ae923498bc704da374110de14289a2a Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 2 06:05:42 2009 +0000 tidy up, remove dependence on order of evaluation of function args from EmitMemCpy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90297 91177308-0d34-0410-b5e6-96231b3b80d8 commit 53f9966b7a5454affde814ceb105c7f26f330617 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 2 05:34:35 2009 +0000 merge sext-2 into sext.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90293 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f7fc4e0d23f3c2feb72d872843465c572774479 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 2 05:32:33 2009 +0000 rename test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90292 91177308-0d34-0410-b5e6-96231b3b80d8 commit 79e59484e54d1fb722525de5f7e23101e128e1b8 Author: Chris Lattner <sabre@nondot.org> Date: Wed Dec 2 05:32:16 2009 +0000 filecheckize git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90291 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3adb22982168a536036386dc27dd0522f0839658 Author: Mon P Wang <wangmp@apple.com> Date: Wed Dec 2 04:59:58 2009 +0000 Fixed an assertion failure for tracking sext of a vector of integers git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90290 91177308-0d34-0410-b5e6-96231b3b80d8 commit 69668fe63a3e714b363c251307dc34e243b1d101 Author: Devang Patel <dpatel@apple.com> Date: Tue Dec 1 23:09:02 2009 +0000 Add utility routine to create subprogram definition entry from subprogram declaration entry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90282 91177308-0d34-0410-b5e6-96231b3b80d8 commit 920ffac27e66522138cddf6aac63f4965c8103dd Author: Devang Patel <dpatel@apple.com> Date: Tue Dec 1 23:07:59 2009 +0000 Reuse existing subprogram DIE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90281 91177308-0d34-0410-b5e6-96231b3b80d8 commit b05c79891c16cf8f9b86fc0a35e496f398ec5ebb Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 1 22:51:41 2009 +0000 return more useful error messages by using strerror to format errno instead of returning an ambiguous reason. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90275 91177308-0d34-0410-b5e6-96231b3b80d8 commit ad60d2d9e46713fde0421b91ebcd0a1369b142e5 Author: Eric Christopher <echristo@apple.com> Date: Tue Dec 1 22:28:41 2009 +0000 Update per Bill's comments. Work in progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90271 91177308-0d34-0410-b5e6-96231b3b80d8 commit 578f3231d6c9ba6d6bd8c683033748cf4d68b623 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Dec 1 22:25:00 2009 +0000 Fix PR5391: support early clobber physical register def tied with a use (ewwww) - A valno should be set HasRedefByEC if there is an early clobber def in the middle of its live ranges. It should not be set if the def of the valno is defined by an early clobber. - If a physical register def is tied to an use and it's an early clobber, it just means the HasRedefByEC is set since it's still one continuous live range. - Add a couple of missing checks for HasRedefByEC in the coalescer. In general, it should not coalesce a vr with a physical register if the physical register has a early clobber def somewhere. This is overly conservative but that's the price for using such a nasty inline asm "feature". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90269 91177308-0d34-0410-b5e6-96231b3b80d8 commit 79affd8fb46d75087c98aa4095dfc207c820d9f1 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Dec 1 21:53:51 2009 +0000 test case for IV-Users simplification loop improvement git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90260 91177308-0d34-0410-b5e6-96231b3b80d8 commit 536fff516dd00816acf36d0b118e391a119e182b Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 1 21:16:01 2009 +0000 rename some variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90258 91177308-0d34-0410-b5e6-96231b3b80d8 commit 39380bfcb91f84d404d5adbf38e4b3916769cd82 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 1 21:15:15 2009 +0000 tidy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90257 91177308-0d34-0410-b5e6-96231b3b80d8 commit 69be7878c045ac40c9c847fe8d04f44e51663c04 Author: Dan Gohman <gohman@apple.com> Date: Tue Dec 1 19:20:00 2009 +0000 Add edge source labels to SelectionDAG graphs, now that the graph printing framework omits differentiated edge sources in the case where the labels are empty strings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90254 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8cb3747a8bb51ba03b38cf87e606e2bb33032d6e Author: Dan Gohman <gohman@apple.com> Date: Tue Dec 1 19:16:15 2009 +0000 Minor cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90253 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0bf95848e06bdfa04ec8a28cc22730ae139b9786 Author: Dan Gohman <gohman@apple.com> Date: Tue Dec 1 19:13:27 2009 +0000 Trim an unnecessary #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90252 91177308-0d34-0410-b5e6-96231b3b80d8 commit 584f5f5e52830802e809b1c03c48de7dcdf87c4a Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Dec 1 19:11:36 2009 +0000 Don't default warnings to ON on MSVC, the spew is enough to triple the build time. :/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90251 91177308-0d34-0410-b5e6-96231b3b80d8 commit 67533ab25e3fd9b66779dee173f5cb3cfb93cb99 Author: Devang Patel <dpatel@apple.com> Date: Tue Dec 1 18:13:48 2009 +0000 Clear function specific containers while processing end of a function, even if DW_TAG_subprogram for current function is not found. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90247 91177308-0d34-0410-b5e6-96231b3b80d8 commit a0fb7c4e1ae9b7c87037bc6a72adce439d23484c Author: Jim Grosbach <grosbach@apple.com> Date: Tue Dec 1 18:10:36 2009 +0000 Thumb1 exception handling setjmp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90246 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6e1b1ad3abeb24f6da12afe63ac7a1074c1e3dbf Author: Johnny Chen <johnny.chen@apple.com> Date: Tue Dec 1 17:37:06 2009 +0000 For VLDM/VSTM (Advanced SIMD), set encoding bits Inst{11-8} to 0b1011. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90243 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9a929cf5ff12aac2838d89389e1a90fceb731437 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Tue Dec 1 17:13:31 2009 +0000 Move PHIElimination::isLiveOut method to LiveVariables. We want LiveVariables clients to use methods rather than accessing the getVarInfo data structure directly. That way it will be possible to change the LiveVariables representation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90240 91177308-0d34-0410-b5e6-96231b3b80d8 commit cdb7736af562a153a1a3821737ec86876f0a817e Author: Gabor Greif <ggreif@gmail.com> Date: Tue Dec 1 15:53:33 2009 +0000 typo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90236 91177308-0d34-0410-b5e6-96231b3b80d8 commit f3798876dfe29818e97cff43cba6785648253867 Author: Gabor Greif <ggreif@gmail.com> Date: Tue Dec 1 12:53:56 2009 +0000 demonstrate usage of Cases() mapping several strings to the same value; remove trailing spaces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90230 91177308-0d34-0410-b5e6-96231b3b80d8 commit 24dd55c3e41c2d655eefe760c446d9e24e44c287 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Tue Dec 1 09:47:11 2009 +0000 Add relocation model options. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90222 91177308-0d34-0410-b5e6-96231b3b80d8 commit 977dffe8fde833b6c312d14b40d619e33d6ba866 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Tue Dec 1 09:19:09 2009 +0000 Typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90221 91177308-0d34-0410-b5e6-96231b3b80d8 commit 825f4e1e87f1afff90a026ffe0876eff313bcf56 Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Tue Dec 1 08:43:33 2009 +0000 Fix copy paste bug git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90220 91177308-0d34-0410-b5e6-96231b3b80d8 commit bf50d21c781661a1637c48dbe4e2a412764729f3 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 1 07:33:32 2009 +0000 fix 255.vortex again, third time's the charm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90217 91177308-0d34-0410-b5e6-96231b3b80d8 commit 39e844369d0a07edab15cf20037d6da328f8bd6c Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 1 07:30:01 2009 +0000 minimize this a bit more. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90216 91177308-0d34-0410-b5e6-96231b3b80d8 commit 488fe85c61807145b2d052a9104ceca80e17df74 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Tue Dec 1 06:51:30 2009 +0000 Forward -save-temps to llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90214 91177308-0d34-0410-b5e6-96231b3b80d8 commit 333b7e1d9e904eff9b98e20984cbd8439b86282f Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 1 06:22:10 2009 +0000 merge 2009-11-29-ReverseMap.ll into crash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90212 91177308-0d34-0410-b5e6-96231b3b80d8 commit a0cb431faf56460af265f0d9b92b7d7e49eb75b4 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 1 06:04:43 2009 +0000 fix PR5640 by tracking whether a block is the header of a loop more precisely, which prevents us from infinitely peeling the loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90211 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5a25c251af8588b170f76e7e479cdc947ca924e5 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Tue Dec 1 05:59:55 2009 +0000 Support -[weak_]framework and -F in llvmc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90210 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6cb75ac35fdf87efaf27010947a6b19fae785ff4 Author: Eric Christopher <echristo@apple.com> Date: Tue Dec 1 03:18:26 2009 +0000 Remove the gcc builtins from the intrinsics, we'll lower them explicitly so we can check arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90199 91177308-0d34-0410-b5e6-96231b3b80d8 commit c79abe2ba9e6bd0909b9a00eddb54a8d500ec11c Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Tue Dec 1 03:03:00 2009 +0000 Use CFG connectedness as a secondary sort key when deciding the order of copy coalescing. This means that well connected blocks are copy coalesced before the less connected blocks. Connected blocks are more difficult to coalesce because intervals are more complicated, so handling them first gives a greater chance of success. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90194 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1b958caea8cf2cd06c543188b32fd3f17bcd5652 Author: Eric Christopher <echristo@apple.com> Date: Tue Dec 1 02:26:01 2009 +0000 Add a soft link so that in an apple style build we can find libLTO.dylib. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90189 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3b581b33c31386a16bd1ae4ff121b0908e43c64a Author: Oscar Fuentes <ofv@wanadoo.es> Date: Tue Dec 1 02:21:51 2009 +0000 Add two CMake flags LLVM_ENABLE_PEDANTIC and LLVM_ENABLE_WERROR, PEDANTIC defaults to ON and WERROR default to off. Also add MSVC warnings. To disable warnings add the flags LLVM_ENABLE_WARNINGS (default on). Patch by Tobias Grosser! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90188 91177308-0d34-0410-b5e6-96231b3b80d8 commit d8bceade9b026d229b621399e196e8376396d0b7 Author: Chris Lattner <sabre@nondot.org> Date: Tue Dec 1 01:56:27 2009 +0000 fix PR5649 by making fib use the JIT instead of the interpreter, patch by Perry Lorier! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90186 91177308-0d34-0410-b5e6-96231b3b80d8 commit b7aaf7b998d0006b775c3e494ea4b6d614f3ef81 Author: Dan Gohman <gohman@apple.com> Date: Tue Dec 1 01:38:10 2009 +0000 Add a comment about A[i+(j+1)]. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90185 91177308-0d34-0410-b5e6-96231b3b80d8 commit 05837cdf183324700fbe8231a655e9f7101057c6 Author: Bill Wendling <isanbard@gmail.com> Date: Tue Dec 1 00:59:58 2009 +0000 Remove some validation errors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90184 91177308-0d34-0410-b5e6-96231b3b80d8 commit d90060edfdeaadf4563de2521221c201924e1790 Author: Bill Wendling <isanbard@gmail.com> Date: Tue Dec 1 00:53:11 2009 +0000 Some formatting and spelling fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90182 91177308-0d34-0410-b5e6-96231b3b80d8 commit af20e7cfb5d44c7a0caad3a152978fcca1f4b438 Author: Dan Gohman <gohman@apple.com> Date: Tue Dec 1 00:45:56 2009 +0000 Devang pointed out that this code should use DIScope instead of DICompileUnit. This code now prints debug filenames successfully. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90181 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1e99614c66e92b4f6c26531b8c84e0f42a35c902 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Dec 1 00:44:45 2009 +0000 Fix PR5614: parts of a physical register def may be killed the rest. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90180 91177308-0d34-0410-b5e6-96231b3b80d8 commit de4b5d00385da6273b0902e9385928b99aeda670 Author: Devang Patel <dpatel@apple.com> Date: Tue Dec 1 00:13:06 2009 +0000 Test case for r90175. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90176 91177308-0d34-0410-b5e6-96231b3b80d8 commit cf4fad276042adc440ff0d119b9fb67a94814ccf Author: Johnny Chen <johnny.chen@apple.com> Date: Tue Dec 1 00:02:02 2009 +0000 For VMOV (immediate), make some of the encoding bits (cmode and op) unspecified. For VMOVv*i[16,32], op bit is don't care, and some cmode bits vary depending on the immediate values. Ref: Table A7-15 Modified immediate values for Advanced SIMD instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90173 91177308-0d34-0410-b5e6-96231b3b80d8 commit 76b806763b89ea64337bd967614662a72f237191 Author: Devang Patel <dpatel@apple.com> Date: Mon Nov 30 23:56:56 2009 +0000 If pointer type has a name then do not ignore the name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90172 91177308-0d34-0410-b5e6-96231b3b80d8 commit 63c90f69fe61ee5b0ff0ee8acf73274452da933e Author: Oscar Fuentes <ofv@wanadoo.es> Date: Mon Nov 30 23:50:14 2009 +0000 * CMakeLists.txt: Adds warnings flags for g++. Fixes PR 5647. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90170 91177308-0d34-0410-b5e6-96231b3b80d8 commit a86f9f058bf09127b7cf306770c353a6ffc41b3f Author: Oscar Fuentes <ofv@wanadoo.es> Date: Mon Nov 30 23:48:51 2009 +0000 * cmake/modules/LLVMLibDeps.cmake: Updated library dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90169 91177308-0d34-0410-b5e6-96231b3b80d8 commit 26219b78e2e252a08c7c59aceb05a86751cdf20e Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 30 23:33:53 2009 +0000 Minor whitespace fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90166 91177308-0d34-0410-b5e6-96231b3b80d8 commit 66fe2bca32f043bf5bd15c732c80627621d7abb7 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 30 23:33:37 2009 +0000 Fix a minor inconsistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90165 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ff03c6950bb5ed48831ad9cd6b53fcd9fe7dfa8 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 30 23:30:43 2009 +0000 Fix typos in comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90164 91177308-0d34-0410-b5e6-96231b3b80d8 commit c6e14f94aae2689841a94bc7aa059a8771e53867 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Mon Nov 30 22:55:54 2009 +0000 New virtual registers created for spill intervals should inherit allocation hints from the original register. This helps us avoid silly copies when rematting values that are copied to a physical register: leaq _.str44(%rip), %rcx movq %rcx, %rsi call _strcmp becomes: leaq _.str44(%rip), %rsi call _strcmp The coalescer will not touch the movq because that would tie down the physical register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90163 91177308-0d34-0410-b5e6-96231b3b80d8 commit 180e3e4b507427ba5d81408a064adc5a3055557f Author: Bill Wendling <isanbard@gmail.com> Date: Mon Nov 30 22:23:29 2009 +0000 Debug info is disabled on PPC Darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90160 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3d0daa24dde6984c75c7fe1933653429169418f4 Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Nov 30 18:56:45 2009 +0000 Reprioritize tests for tail duplication to be aggressive about indirect branches even when optimizing for code size. Unless we find evidence to the contrary in the future, the special treatment for indirect branches does not have a significant effect on code size, and performance still matters with -Os. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90147 91177308-0d34-0410-b5e6-96231b3b80d8 commit 90868102bf6144cae08570ddcb96099d9d63c06d Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Nov 30 18:35:03 2009 +0000 Remove isProfitableToDuplicateIndirectBranch target hook. It is profitable for all the processors where I have tried it, and even when it might not help performance, the cost is quite low. The opportunities for duplicating indirect branches are limited by other factors so code size does not change much due to tail duplicating indirect branches aggressively. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90144 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3bff42e81121019af3ba61a13f087bba6ed37c54 Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Nov 30 17:47:19 2009 +0000 Fix some more ARM unified syntax warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90141 91177308-0d34-0410-b5e6-96231b3b80d8 commit 49462255e92b03de36a013dd23845d9c8e35821c Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Mon Nov 30 15:52:29 2009 +0000 Fix odd declaration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90138 91177308-0d34-0410-b5e6-96231b3b80d8 commit bf4ea99c2887e55d18206e093bccdc43636c9b1b Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Mon Nov 30 13:34:51 2009 +0000 Fix last DOTGraphTraits problems in CompilationGraph. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90136 91177308-0d34-0410-b5e6-96231b3b80d8 commit f9b1114ae03b624deb0ed6e6d1bb26cc2cd2685e Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Mon Nov 30 13:14:13 2009 +0000 Remove forgotten ShortNames in Trie and CompilationGraph git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90135 91177308-0d34-0410-b5e6-96231b3b80d8 commit 810b18c4cc8b022f79f0dd886cc9092a3e4f6d2c Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Mon Nov 30 12:38:47 2009 +0000 Remove ShortNames from getNodeLabel in DOTGraphTraits git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90134 91177308-0d34-0410-b5e6-96231b3b80d8 commit e2c3aec2cf16ee6ea233d3ec13a83e71e21523b9 Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Mon Nov 30 12:38:13 2009 +0000 Instantiate DefaultDOTGraphTraits git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90133 91177308-0d34-0410-b5e6-96231b3b80d8 commit fd748c9df057cd33fe255b9ff81e720518f82cb3 Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Mon Nov 30 12:37:39 2009 +0000 Do not point edge heads to source labels If no destination label is available, just point to the node itself instead of pointing to some source label. Source and destination labels are not related in any way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90132 91177308-0d34-0410-b5e6-96231b3b80d8 commit 989dd8528652afdfcf5125f7d206bc0f075861e7 Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Mon Nov 30 12:24:40 2009 +0000 Only print edgeSourceLabels if they are not empty Graphviz can layout the graphs better if a node does not contain source ports. Therefore only print the ports if the source ports are useful, that means are not labeled with the empty string "". This patch also simplifies graphs without any edgeSourceLabels e.g. the dominance trees. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90131 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6d6054ab3ef09773025dbcee2b923913a73a919d Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Mon Nov 30 12:06:37 2009 +0000 Small PostDominatorTree improvements * Do not SEGFAULT if tree entryNode() is NULL * Print function names in dotty printer git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90130 91177308-0d34-0410-b5e6-96231b3b80d8 commit e148e0b0e803768e12df1884159f143bf08f6e40 Author: Tobias Grosser <grosser@fim.uni-passau.de> Date: Mon Nov 30 11:55:24 2009 +0000 Remove ":" after BB name in -view-cfg-only git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90129 91177308-0d34-0410-b5e6-96231b3b80d8 commit 767a372b1df0e26fbbe0dd8d3667e85d98c91109 Author: Eric Christopher <echristo@apple.com> Date: Mon Nov 30 08:03:53 2009 +0000 First pass at llvm.objectsize documentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90116 91177308-0d34-0410-b5e6-96231b3b80d8 commit d9ae7435b67e6375d2e72cb4bd43955c0a58edad Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Nov 30 07:05:51 2009 +0000 Revert r90107, fixing test/Transforms/GVN/2009-11-29-ReverseMap.ll and the llvm-gcc build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90113 91177308-0d34-0410-b5e6-96231b3b80d8 commit 30a3e84e9b7aca47aaee2ed11bc20cf6336bd189 Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Nov 30 07:02:18 2009 +0000 Add a testcase for the current llvm-gcc build failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90112 91177308-0d34-0410-b5e6-96231b3b80d8 commit 21c4cada89c23d0c6c943d7044d045c279804c05 Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Nov 30 04:23:17 2009 +0000 Remove the 'simple jit' tutorial as it wasn't really being maintained and its material is covered by the Kaleidoscope tutorial. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90111 91177308-0d34-0410-b5e6-96231b3b80d8 commit f950eb5454f482bc93a1d58b179f3e9be707e686 Author: Mon P Wang <wangmp@apple.com> Date: Mon Nov 30 02:42:27 2009 +0000 Add test case for r90108 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90109 91177308-0d34-0410-b5e6-96231b3b80d8 commit c707f3ff7cdb427155b7ca707a3efd2c8b34bcd1 Author: Mon P Wang <wangmp@apple.com> Date: Mon Nov 30 02:42:02 2009 +0000 Added support to allow clients to custom widen. For X86, custom widen vectors for divide/remainder since these operations can trap by unroll them and adding undefs for the resulting vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90108 91177308-0d34-0410-b5e6-96231b3b80d8 commit e1f454174e8ad32da74193471ca079a12c2bb18d Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 30 02:26:29 2009 +0000 reapply r90093 with an addition of keeping the forward and reverse nonlocal memdep maps in synch, this should fix 255.vortex. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90107 91177308-0d34-0410-b5e6-96231b3b80d8 commit bfd72282b887511b8d0859777a6ca9851e062a85 Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Nov 30 02:23:57 2009 +0000 Fix this test on 64-bit systems which seem to use i64 for gep indices sometimes while 32-bit gcc uses i32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90106 91177308-0d34-0410-b5e6-96231b3b80d8 commit f215dece88649838a64b0d7740184713c487cf54 Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Nov 30 00:38:56 2009 +0000 Commit r90099 made LLVM simplify one of these constant expressions a little more. Update the syntax we're checking for and filecheckize it too. This will fix the selfhost buildbots but will 'break' the others (sigh) because they're still linked against older LLVM which is emitting less optimized IR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90104 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0425dc773b82135ec8b6e5e6a5140c06de86c6ce Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Nov 29 21:40:55 2009 +0000 Teach ConstantFolding to do a better job when folding gep(bitcast). This permits the devirtualization of llvm.org/PR3100#c9 when compiled by clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90099 91177308-0d34-0410-b5e6-96231b3b80d8 commit c04f8adbc1539eb593879d8e0f8977ac5155e605 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sun Nov 29 21:17:48 2009 +0000 Revert r90089 for now, it's breaking selfhost. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90097 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9b4ba06f907aac7ef1991e339ff4c262a301047f Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 29 21:14:59 2009 +0000 revert this patch for now, it causes failures of: LLVM::Transforms/GVN/2009-02-17-LoadPRECrash.ll LLVM::Transforms/GVN/2009-06-17-InvalidPRE.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90096 91177308-0d34-0410-b5e6-96231b3b80d8 commit 02507fdead4d86a04c1c914549b2d2ab295c47c7 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 29 21:09:36 2009 +0000 Fix a really nasty caching bug I introduced in memdep. An entry was being added to the Result vector, but not being put in the cache. This means that if the cache was reused wholesale for a later query that it would be missing this entry and we'd do an incorrect load elimination. Unfortunately, it's not really possible to write a useful testcase for this, but this unbreaks 255.vortex. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90093 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7719b59199b6920ada130675f658bf3ec8521cd6 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sun Nov 29 20:29:30 2009 +0000 Fix two FIXMEs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90089 91177308-0d34-0410-b5e6-96231b3b80d8 commit eac76e8c39d2f6370692677fdfc59c7d62e29e07 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Nov 29 18:10:39 2009 +0000 Detabify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90085 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9e73b69d560efe55408748561f294bfed36d7079 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sun Nov 29 17:42:58 2009 +0000 Remove dead returns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90083 91177308-0d34-0410-b5e6-96231b3b80d8 commit cfd64f93fe4a893fe6ffda056c825d0a9e3f272a Author: Kovarththanan Rajaratnam <kovarththanan.rajaratnam@gmail.com> Date: Sun Nov 29 17:19:48 2009 +0000 This patch ensures that Path::GetMainExecutable is able to handle the case where realpath() fails. When this occurs we segfault trying to create a std::string from a NULL pointer. Fixes PR5635. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90082 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7143f3420c2832c342182ec8e5b87a4e5a19f99c Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 29 08:30:24 2009 +0000 Fix FileCheck crash when fuzzy scanning starting at the end of the file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90065 91177308-0d34-0410-b5e6-96231b3b80d8 commit dbbf1b238bc38c26fc4f7b53a26e0d0538880d8a Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 29 02:57:29 2009 +0000 add testcases for the foo_with_overflow op xforms added recently and fix bugs exposed by the tests. Testcases from Alastair Lynn! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90056 91177308-0d34-0410-b5e6-96231b3b80d8 commit 565b96428b6e7af0b87275a81471c5395fcbdc16 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 29 02:44:33 2009 +0000 mark all the 'foo with overflow' intrinsics as readnone. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90055 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8aa4c019b5bb50ba9a3a5e2188a64081beb2f02b Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 29 02:19:52 2009 +0000 update and consolidate the load pre notes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90050 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6756dffb3a4685abfaa0455078c4d8f4c33ddc28 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 29 01:28:58 2009 +0000 add PR# git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90049 91177308-0d34-0410-b5e6-96231b3b80d8 commit ea7509881f1e6d5efaa80638b0a5ab5290c77651 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 29 01:15:43 2009 +0000 Add a testcase for: void test(int N, double* G) { long j; for (j = 1; j < N - 1; j++) G[j] = G[j] + G[j+1] + G[j-1]; } which we now compile to one load in the loop: LBB1_2: ## %bb movsd 16(%rsi,%rax,8), %xmm2 incq %rdx addsd %xmm2, %xmm1 addsd %xmm1, %xmm0 movapd %xmm2, %xmm1 movsd %xmm0, 8(%rsi,%rax,8) incq %rax cmpq %rcx, %rax jne LBB1_2 instead of: LBB1_2: ## %bb movsd 8(%rsi,%rax,8), %xmm0 addsd 16(%rsi,%rax,8), %xmm0 addsd (%rsi,%rax,8), %xmm0 movsd %xmm0, 8(%rsi,%rax,8) incq %rax cmpq %rcx, %rax jne LBB1_2 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90048 91177308-0d34-0410-b5e6-96231b3b80d8 commit 96bd9d9931be198b46c3197b67ed02aefc734bd4 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 29 01:04:40 2009 +0000 add a testcase for void test9(int N, double* G) { long j; for (j = 1; j < N - 1; j++) G[j+1] = G[j] + G[j+1]; } git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90047 91177308-0d34-0410-b5e6-96231b3b80d8 commit 163e6ab29947e801b555e688e19af8460c8c7903 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 29 00:51:17 2009 +0000 Implement PR5634. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90046 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2dbc3f24619726bb5def46ed36116ed5bbb2ac85 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Nov 28 21:27:49 2009 +0000 Teach memdep to look for memory use intrinsics during dependency queries. Fixes PR5574. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90045 91177308-0d34-0410-b5e6-96231b3b80d8 commit 80c535b9194e1ce2927ca9b55d010a8fcb5833b3 Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 28 16:08:18 2009 +0000 reenable load address insertion in load pre. This allows us to handle cases like this: void test(int N, double* G) { long j; for (j = 1; j < N - 1; j++) G[j+1] = G[j] + G[j+1]; } where G[1] isn't live into the loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90041 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c2de2bd49cd56c50c9251f22727a126dea78f43 Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 28 15:39:14 2009 +0000 Enhance InsertPHITranslatedPointer to be able to return a list of newly inserted instructions. No functionality change until someone starts using it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90039 91177308-0d34-0410-b5e6-96231b3b80d8 commit c343983d722c5552dea693c85bf62406217dc097 Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 28 15:12:41 2009 +0000 implement a FIXME: limit the depth that DecomposeGEPExpression goes the same way that getUnderlyingObject does it. This fixes the 'DecomposeGEPExpression and getUnderlyingObject disagree!' assertion on sqlite3. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90038 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed81875b336e7ec36612a2ae49fbbdf7867f08d2 Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 28 14:54:10 2009 +0000 enable code to handle un-phi-translatable cases more aggressively: if we don't have an address expression available in a predecessor, then model this as the value being clobbered at the end of the pred block instead of being modeled as a complete phi translation failure. This is important for PRE of loads because we want to see that the load is available in all but this predecessor, and complete phi translation failure results in not getting any information about predecessors. This doesn't do anything until I renable code insertion since PRE now sees that it is available in all but one predecessors, but can't insert the addressing in the predecessor that is missing it to eliminate the redundancy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90037 91177308-0d34-0410-b5e6-96231b3b80d8 commit de0b030de1873764c1f3571b75b5f75125ac35f8 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 22:50:07 2009 +0000 disable value insertion for now, I need to figure out how to inform GVN about the newly inserted values. This fixes PR5631. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90022 91177308-0d34-0410-b5e6-96231b3b80d8 commit a5bef157088fc71eeb2a968272d270cb94169524 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 22:05:15 2009 +0000 Rework InsertPHITranslatedPointer to handle the recursive case, this fixes PR5630 and sets the stage for the next phase of goodness (testcase pending). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90019 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3037e0ade3201ff57bc4f486e7dfacc6b7459d47 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 20:25:30 2009 +0000 recursively phi translate bitcast operands too, for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90016 91177308-0d34-0410-b5e6-96231b3b80d8 commit e386372015e237a1e98f843920cf8d6449e0b444 Author: Nick Lewycky <nicholas@mxc.ca> Date: Fri Nov 27 19:57:53 2009 +0000 Oops! Fix bug introduced in my recent cleanup change. Thanks to Tobias Grosser for pointing this out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90015 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0c40e546d78a7f0cb9e42588afcd8a664a816108 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 19:56:00 2009 +0000 I accidentally implemented this :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90014 91177308-0d34-0410-b5e6-96231b3b80d8 commit d91a9144369b73ed3e066695ad922abc76b5f7de Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 19:11:31 2009 +0000 add support for recursive phi translation and phi translation of add with immediate. This allows us to optimize this function: void test(int N, double* G) { long j; G[1] = 1; for (j = 1; j < N - 1; j++) G[j+1] = G[j] + G[j+1]; } to only do one load every iteration of the loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90013 91177308-0d34-0410-b5e6-96231b3b80d8 commit f198db016d5b8c1fb5f225f644efb5f5198c2471 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 18:08:30 2009 +0000 add two simple test cases we now optimize (to one load in the loop each) and one we don't (corresponding to the fixme I added yesterday). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90012 91177308-0d34-0410-b5e6-96231b3b80d8 commit 96076f73dbddf62f2bed35458afc5fbd5628a5e2 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 17:42:22 2009 +0000 factor some logic out of instcombine into a new SimplifyAddInst method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90011 91177308-0d34-0410-b5e6-96231b3b80d8 commit 15aec3314b05e3d68f73fcc95b88fd4b9baad6b3 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 17:12:30 2009 +0000 add a deadargelim note. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90009 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7d147914a609049f7cda4a5c5ee8ee8abbde4782 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 16:53:57 2009 +0000 This testcase is actually only partially redundant, and requires the FIXME I added yesterday to be implemented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90008 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8c800c00ef9a6054218b11e5e1d65205b1297115 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 16:37:41 2009 +0000 fix PR5436 by making the 'simple' case of SRoA not promote out of range array indexes. The "complex" case of SRoA still handles them, and correctly. This fixes a weirdness where we'd correctly avoid transforming A[0][42] if the 42 was too large, but we'd only do it if it was one gep, not two separate ones. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90007 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3ad93b0636e31b90c74c658673130d1b6a4ffd8e Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 16:31:59 2009 +0000 filecheckize git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90006 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1da9984b8f8bec04ec77e96ea4b9e1b358f9f4a2 Author: Duncan Sands <baldrick@free.fr> Date: Fri Nov 27 16:04:14 2009 +0000 While this test is testing a problem in the generic part of codegen, the problem only shows for msp430 and pic16 which is why it specifies them using -march. But it is wrong to put such tests in CodeGen/Generic, since not everyone builds these targets. Put a copy of the test in each of the target test directories. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90005 91177308-0d34-0410-b5e6-96231b3b80d8 commit 87598b02a90f8027b59afb1433ae3e828e19c72a Author: Duncan Sands <baldrick@free.fr> Date: Fri Nov 27 13:38:03 2009 +0000 Vector types are no longer required to have a power-of-two length. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90004 91177308-0d34-0410-b5e6-96231b3b80d8 commit 59b538afbdb86d62b1caa0f549401cb1583101fa Author: Duncan Sands <baldrick@free.fr> Date: Fri Nov 27 12:33:22 2009 +0000 These code generator limitations have been removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90003 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
|
|
5518b7d41f |
Merge LLVM upstream r90002
Squashed commit of the following: commit 9dbc06e034aaee26c33551a84ca04d9e114124de Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 08:40:14 2009 +0000 add comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90002 91177308-0d34-0410-b5e6-96231b3b80d8 commit a722fabf41a89cb27561345640d46479af4d5baa Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 08:37:22 2009 +0000 reduce nesting, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90001 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0e065c4ce2614aec3c57122de80b601fe8349033 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 08:32:52 2009 +0000 limit the recursion depth of GetLinearExpression. This fixes a crash analyzing consumer-lame, which had an "%X = add %X, 1" in unreachable code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90000 91177308-0d34-0410-b5e6-96231b3b80d8 commit 248818e2c5a71ebc4b393506a52f1e78293799f2 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 08:25:10 2009 +0000 teach GVN's load PRE to insert computations of the address in predecessors where it is not available. It's unclear how to get this inserted computation into GVN's scalar availability sets, Owen, help? :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89997 91177308-0d34-0410-b5e6-96231b3b80d8 commit 36063d789bb3ffd23e346b1d32f0aace6f8c1bce Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 06:42:42 2009 +0000 add some tests for memdep phi translation + PRE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89996 91177308-0d34-0410-b5e6-96231b3b80d8 commit a8eeda9fd32714cf5a68346369d22343ce80e0dc Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 06:36:28 2009 +0000 this test is failing, and is expected to. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89995 91177308-0d34-0410-b5e6-96231b3b80d8 commit 05d7bd8ed8e65d45f92c44f9c1b3ea9a40fe9713 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 06:33:09 2009 +0000 filecheckize git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89994 91177308-0d34-0410-b5e6-96231b3b80d8 commit fc06fec923d4e2a8f22e45b040615b8bc8473459 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 06:31:55 2009 +0000 rename test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89993 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6766b8a852dd9de4781976cf2df532abceba70a5 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 06:31:14 2009 +0000 Fix phi translation in load PRE to agree with the phi translation done by memdep, and reenable gep translation again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89992 91177308-0d34-0410-b5e6-96231b3b80d8 commit 295a27f1fb3e5ef271e1120bc8ebe18bdc5e1e70 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 05:53:01 2009 +0000 redisable this, my bootstrap worked because it wasn't an optimized build, whoops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89991 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2be6441fdb29f9e5d79e8319a8477c5df22ef780 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 05:19:56 2009 +0000 try again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89990 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8cc37e033917c220f8a163d124312f923631abdf Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 01:52:22 2009 +0000 this is causing buildbot failures, disable for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89985 91177308-0d34-0410-b5e6-96231b3b80d8 commit fdfa6e8e96177aac789502e20f297081863a91aa Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 00:35:04 2009 +0000 this (and probably several others) are now done. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89982 91177308-0d34-0410-b5e6-96231b3b80d8 commit 97791a78617fc5c90d62de15894ac6a2f3e4651b Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 00:34:38 2009 +0000 teach phi translation of GEPs to simplify geps like 'gep x, 0'. This allows us to compile the example from PR5313 into: LBB1_2: ## %bb incl %ecx movb %al, (%rsi) movslq %ecx, %rax movb (%rdi,%rax), %al testb %al, %al jne LBB1_2 instead of: LBB1_2: ## %bb movslq %eax, %rcx incl %eax movb (%rdi,%rcx), %cl movb %cl, (%rsi) movslq %eax, %rcx cmpb $0, (%rdi,%rcx) jne LBB1_2 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89981 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5594a48160450e0a82a5dc59633edc9e862c46d2 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 00:29:05 2009 +0000 factor some instcombine simplifications for getelementptr out to a new SimplifyGEPInst method in InstructionSimplify.h. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89980 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8e4b727624fd4aa595f6bec77bb83e73a189119a Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 27 00:07:37 2009 +0000 teach memdep to do trivial PHI translation of GEPs. More to come. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89979 91177308-0d34-0410-b5e6-96231b3b80d8 commit 21b2340ceefa352a63357ae1b26f0a74303e4246 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 23:41:07 2009 +0000 Teach memdep to phi translate bitcasts. This allows us to compile the example in GCC PR16799 to: LBB1_2: ## %bb1 movl %eax, %eax subq %rax, %rdi movq %rdi, (%rcx) movl (%rdi), %eax testl %eax, %eax je LBB1_2 instead of: LBB1_2: ## %bb1 movl (%rdi), %ecx subq %rcx, %rdi movq %rdi, (%rax) cmpl $0, (%rdi) je LBB1_2 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89978 91177308-0d34-0410-b5e6-96231b3b80d8 commit 514f5e5b9e56069ce04c8d2aa9fda599591010b2 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 23:32:59 2009 +0000 convert to filecheck git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89977 91177308-0d34-0410-b5e6-96231b3b80d8 commit c957c54b4e8307fa2498d55e7f6cbb457ad2da73 Author: Nick Lewycky <nicholas@mxc.ca> Date: Thu Nov 26 23:19:05 2009 +0000 Fix typo spotted by Gabor Greif. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89976 91177308-0d34-0410-b5e6-96231b3b80d8 commit 66c2c4ebf1c0520ceabf1c3be9d26129ae4ffc97 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 23:18:49 2009 +0000 factor some code out into some helper functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89975 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9012af4c975acf28f6c88d23d33e5842d6a416ec Author: Nick Lewycky <nicholas@mxc.ca> Date: Thu Nov 26 22:54:26 2009 +0000 Clean up file, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89974 91177308-0d34-0410-b5e6-96231b3b80d8 commit b068994837ad30a810301e0bcf5cb249e3cc68e5 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 22:48:23 2009 +0000 Add a hack for PR5601, a crash on obsolete syntax that we plan to remove in LLVM 3.0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89973 91177308-0d34-0410-b5e6-96231b3b80d8 commit 65e3484a37d5db9be72ee1f9b6df0b38174b9465 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 22:08:06 2009 +0000 fix crash on Transforms/InstCombine/intrinsics.ll introduced by r89970 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89972 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa787569976fb0cd260c333246f3ec08a202ee1b Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 22:04:42 2009 +0000 Fix PR5471 by removing an instcombine xform. Some pieces of the code generates store to undef and some generates store to null as the idiom for undefined behavior. Since simplifycfg zaps both, don't remove the undefined behavior in instcombine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89971 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0b45226d223a0527b42841a3579a3477b160339a Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 21:42:47 2009 +0000 implement a bunch of xforms for overflow intrinsics, based on a patch by Alastair Lynn. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89970 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2204a60625dec63703edbdebe4cf5f90460db2e5 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Nov 26 21:38:41 2009 +0000 Rename new TailDuplicationPass to avoid name conflict with the old one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89968 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10211456369f3b23084bcbca76eb3ca54074105f Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 19:25:46 2009 +0000 @test9 is a testcase for r89958. Before 89958, we misanalyzed the first expression as P+4+4*i which we considered to possibly alias P+4*j. Now we correctly analyze the former one as P+1+4*i. @test10 is a sanity test that verfies that we know that P+4+4*i != P+4*i. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89960 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2d00688def6b7c358a78b578d0dfd398238512bf Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 18:53:33 2009 +0000 Implement PR1143 (at -m64) by making basicaa look through extensions. We previously already handled it at -m32 because there were no i32->i64 extensions for addressing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89959 91177308-0d34-0410-b5e6-96231b3b80d8 commit b4fb3a8361062e7f26cf2a3e63243f8e790cc3f0 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 18:35:46 2009 +0000 fix two transposed lines duncan caught and add an explanatory comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89958 91177308-0d34-0410-b5e6-96231b3b80d8 commit e8836c5fe676c088a0f9f0600eeaf44e18924471 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 17:14:10 2009 +0000 this todo is resolved. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89957 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd824f5233a7a96e416ed36f05b59d997ed92926 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 17:12:50 2009 +0000 move DecomposeGEPExpression out into ValueTracking.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89956 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1692755c9b104b0ac1209c89dfb549842adb15e8 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 17:00:01 2009 +0000 teach GetLinearExpression to be a bit more aggressive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89955 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7d6d362e41018fa2a787a3fe04d1596bfd8610e7 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 16:52:32 2009 +0000 resolve a fixme. I haven't figured out how to write a testcase to exercise this though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89954 91177308-0d34-0410-b5e6-96231b3b80d8 commit c29d0d5eb1077c274b2c7186c0096201c8bac87c Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 16:42:00 2009 +0000 update status of this. basicaa is much improved now, only missing the one form (in this testcase). Dan, do you consider this example to be important? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89953 91177308-0d34-0410-b5e6-96231b3b80d8 commit bd7537176664464b5ef0a4aa121f0c7bedfac16a Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 16:26:43 2009 +0000 Teach basicaa that x|c == x+c when the c bits of x are clear. This allows us to compile the example in readme.txt into: LBB1_1: ## %bb movl 4(%rdx,%rax), %ecx movl %ecx, %esi imull (%rdx,%rax), %esi imull %esi, %ecx movl %esi, 8(%rdx,%rax) imull %ecx, %esi movl %ecx, 12(%rdx,%rax) movl %esi, 16(%rdx,%rax) imull %ecx, %esi movl %esi, 20(%rdx,%rax) addq $16, %rax cmpq $4000, %rax jne LBB1_1 instead of: LBB1_1: movl (%rdx,%rax), %ecx imull 4(%rdx,%rax), %ecx movl %ecx, 8(%rdx,%rax) imull 4(%rdx,%rax), %ecx movl %ecx, 12(%rdx,%rax) imull 8(%rdx,%rax), %ecx movl %ecx, 16(%rdx,%rax) imull 12(%rdx,%rax), %ecx movl %ecx, 20(%rdx,%rax) addq $16, %rax cmpq $4000, %rax jne LBB1_1 GCC (4.2) doesn't seem to be able to eliminate the loads in this testcase either, it generates: L2: movl (%rdx), %eax imull 4(%rdx), %eax movl %eax, 8(%rdx) imull 4(%rdx), %eax movl %eax, 12(%rdx) imull 8(%rdx), %eax movl %eax, 16(%rdx) imull 12(%rdx), %eax movl %eax, 20(%rdx) addl $4, %ecx addq $16, %rdx cmpl $1002, %ecx jne L2 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89952 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6f2c591e34adfbedadd2276f16f29203b75bc305 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 16:18:10 2009 +0000 teach basicaa that A[i] != A[i+1]. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89951 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3124e22ade9d96af8e2cb3b1708ae9da9bee9636 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 16:08:41 2009 +0000 rename test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89950 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8200930b6b24a8625e2a49b84e6df1e293c107ca Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 02:17:34 2009 +0000 Change the other half of aliasGEP (which handles GEP differencing) to use DecomposeGEPExpression. This dramatically simplifies and shrinks the code by eliminating the horrible CheckGEPInstructions method, fixes a miscompilation (@test3) and makes the code more aggressive. In particular, we now handle the @test4 case, which is reduced from the SmallPtrSet constructor. Missing this caused us to emit a variable length memset instead of a fixed size one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89922 91177308-0d34-0410-b5e6-96231b3b80d8 commit 01526336b664739e81f2e14d8a6792dee2e2f619 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 02:16:28 2009 +0000 add a new random feature test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89921 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c689d61206a26a2ec7e5f8ba5ca4d8f67f411e8 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 02:14:59 2009 +0000 Generalize DecomposeGEPExpression to exactly handle what Value::getUnderlyingObject does (when TD is around). This allows us to avoid calling DecomposeGEPExpression unless the ultimate alias check we care about passes, speedup up BasicAA a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89920 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8334e9b223221e05f9c12eb3f1122032f1edc7c2 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 02:13:03 2009 +0000 Implement a new DecomposeGEPExpression method, which decomposes a GEP into a list of scaled offsets. Use this to eliminate some previous ad-hoc code which was subtly broken (it assumed all Constant*'s were non-zero, but strange constant express could be zero). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89915 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5d8f955b656d9743fa32c087848ee9c26338e6c2 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 02:11:08 2009 +0000 Use GEPOperator more pervasively to simplify code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89914 91177308-0d34-0410-b5e6-96231b3b80d8 commit 41ec62554fd2b914d230c270963c3da30047be28 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 01:51:18 2009 +0000 update some notes slightly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89913 91177308-0d34-0410-b5e6-96231b3b80d8 commit 69272603d447a590a78832283bc8c67b1793acaf Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 26 01:50:12 2009 +0000 remove some redundant braces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89912 91177308-0d34-0410-b5e6-96231b3b80d8 commit 72524f2dc0f78d922c585c29e1d0947822e0db25 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Nov 26 00:35:01 2009 +0000 Test for 89905. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89906 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1b563ac33aadc7fa11ddc7e28b7e2e067436fa00 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Nov 26 00:32:36 2009 +0000 When all defs of a vr are implicit_def, delete all of the defs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89905 91177308-0d34-0410-b5e6-96231b3b80d8 commit 810ced7daebe78a8d84b94fac07e320a02cecb71 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Nov 26 00:32:21 2009 +0000 Split tail duplication into a separate pass. This is needed to avoid running tail duplication when doing branch folding for if-conversion, and we also want to be able to run tail duplication earlier to fix some reg alloc problems. Move the CanFallThrough function from BranchFolding to MachineBasicBlock so that it can be shared by TailDuplication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89904 91177308-0d34-0410-b5e6-96231b3b80d8 commit 97658f0fa49d6a3d8fd5f14010589e53474d2ba4 Author: Dale Johannesen <dalej@apple.com> Date: Wed Nov 25 23:50:09 2009 +0000 Test for llvm-gcc checkin 89898. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89899 91177308-0d34-0410-b5e6-96231b3b80d8 commit cacef07c20f9dbeb8568426a4e84d8e45c14fa21 Author: Devang Patel <dpatel@apple.com> Date: Wed Nov 25 23:28:01 2009 +0000 Update to reflect recent debugging information encoding changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89896 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5214e0d77ee3b90decf455cea0509ac32286e1a0 Author: Viktor Kutuzov <vkutuzov@accesssoftek.com> Date: Wed Nov 25 22:44:18 2009 +0000 Rollback changes r89516: Added two SubtargetFeatures::AddFeatures methods, which accept a comma-separated string or already parsed command line parameters as input, and some code re-factoring to use these new methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89893 91177308-0d34-0410-b5e6-96231b3b80d8 commit ae719525ee29c8611887e5fe0153b81d1f0b56b7 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Nov 25 21:13:39 2009 +0000 ProcessImplicitDefs should watch out for invalidated iterator and extra implicit operands on copies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89880 91177308-0d34-0410-b5e6-96231b3b80d8 commit aea35a5ebae86ac620ec0ebfe5ee152b46c343f2 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Nov 25 19:57:14 2009 +0000 Tail duplicate indirect branches for PowerPC, too. With the testcase for pr3120, the "threaded interpreter" runtime decreases from 1788 to 1413 with this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89877 91177308-0d34-0410-b5e6-96231b3b80d8 commit 62b818848c2415d32c82957322cba81948b7f409 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Wed Nov 25 18:26:09 2009 +0000 Avoid some possibly unsafe uses of StringRef::data(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89873 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7f75bbe16505f364edb9e7bc96ed6e44694e8723 Author: Devang Patel <dpatel@apple.com> Date: Wed Nov 25 17:36:49 2009 +0000 Use StringRef (again) in DebugInfo interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89866 91177308-0d34-0410-b5e6-96231b3b80d8 commit c46ed7f495edb1c8cf3bbf7603c78d06835f0d7d Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Nov 25 17:27:53 2009 +0000 Based on the testcase for pr3120, running on my MacPro with Xeon processors, it is definitely profitable to tail duplicate indirect branches for x86. This is likely to be true to various degrees for all modern x86 processors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89865 91177308-0d34-0410-b5e6-96231b3b80d8 commit eba44ceacbbaa1cdbeb45ac660b50c024a3d1b9c Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Wed Nov 25 12:17:58 2009 +0000 Support PIC loading of constant pool entries git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89863 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9ee5871e40d328473ec5b7733968eee6e80dc528 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Wed Nov 25 12:00:34 2009 +0000 Adjust comments to new semantics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89862 91177308-0d34-0410-b5e6-96231b3b80d8 commit caa136e3c783ed03e83cb951e799614209c53b55 Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Nov 25 06:53:08 2009 +0000 Sketch structure for X86 disassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89850 91177308-0d34-0410-b5e6-96231b3b80d8 commit df5801320dfcdbb02d66d110e91e59590e39ee5d Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Wed Nov 25 06:32:19 2009 +0000 API change Path::isSpecialFile to Path::isRegularFile, improve semantics in regards to comments from 89765 post review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89848 91177308-0d34-0410-b5e6-96231b3b80d8 commit 58f610eff4cf913a5e6026283fe899bd6c6c1f33 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Wed Nov 25 06:04:18 2009 +0000 Perform explicit instantiations in the proper namespace, since Clang diagnoses this ill-formity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89846 91177308-0d34-0410-b5e6-96231b3b80d8 commit f4a14e453252f061df2bf35dbe5d216161b378cb Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Wed Nov 25 05:38:41 2009 +0000 Reverting patch in revision 89758, initial attempt at fixing PR5373 has proven to be bogus. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89844 91177308-0d34-0410-b5e6-96231b3b80d8 commit d262856c12f952f5c258f8b33c09009e09f0153f Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Nov 25 04:46:58 2009 +0000 Add the rest of the build system logic for optional target disassemblers git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89841 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0e18f26816cf75f2f3173ed51f44b708762414a4 Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Nov 25 04:37:28 2009 +0000 Regenerate configure git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89840 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4b0b0e476d4b9d5e4ffc502962b6057454c1f99d Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Nov 25 04:30:13 2009 +0000 Add CMake and configure logic to create llvm/Config/Disassemblers.defs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89839 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6d494001c9402f321ee3b539408c82e94771870f Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Nov 25 02:13:23 2009 +0000 Sketch TableGen disassembler emitter, based on patch by Sean Callanan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89833 91177308-0d34-0410-b5e6-96231b3b80d8 commit 421b70020c09398a185cec1bebbcc524ea5fb167 Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Wed Nov 25 01:05:25 2009 +0000 Use endianess dependent offsets for load/store of doubles when using two swc/lwc instead of sdc/ldc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89826 91177308-0d34-0410-b5e6-96231b3b80d8 commit 65ee191f8d37af9b2c9c44487804b7e71cd7fa94 Author: Dale Johannesen <dalej@apple.com> Date: Wed Nov 25 00:58:21 2009 +0000 Fix compiler warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89824 91177308-0d34-0410-b5e6-96231b3b80d8 commit 649dcac5e84130548fd46c239c12c3f531d64309 Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Wed Nov 25 00:47:43 2009 +0000 Only include in the callee saved regs the sub registers to avoid unnecessary save/restore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89823 91177308-0d34-0410-b5e6-96231b3b80d8 commit 15b39c364d7acaab815964e8bb37f4f1883278ee Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Wed Nov 25 00:36:00 2009 +0000 Add proper emission of load/store double to stack slots for mips1 targets! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89821 91177308-0d34-0410-b5e6-96231b3b80d8 commit acdb878fcc4d19f3158b205f0acf2ff1660fc1d5 Author: Devang Patel <dpatel@apple.com> Date: Wed Nov 25 00:31:13 2009 +0000 Revert r89803. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89819 91177308-0d34-0410-b5e6-96231b3b80d8 commit 68722a84a011e2e2a8be3b3c6a09a2bbb477d390 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Nov 24 23:35:49 2009 +0000 Refactor target hook for tail duplication as requested by Chris. Make tail duplication of indirect branches much more aggressive (for targets that indicate that it is profitable), based on further experience with this transformation. I compiled 3 large applications with and without this more aggressive tail duplication and measured minimal changes in code size. ("size" on Darwin seems to round the text size up to the nearest page boundary, so I can only say that any code size increase was less than one 4k page.) Radar 7421267. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89814 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9902d09e04bc3d2c1389e4fdabe5efbf14efc9ec Author: Dale Johannesen <dalej@apple.com> Date: Tue Nov 24 22:59:02 2009 +0000 Do not store R31 into the caller's link area on PPC. This violates the ABI (that area is "reserved"), and while it is safe if all code is generated with current compilers, there is some very old code around that uses that slot for something else, and breaks if it is stored into. Adjust testcases looking for current behavior. I've verified that the stack frame size is right in all testcases, whether it changed or not. 7311323. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89811 91177308-0d34-0410-b5e6-96231b3b80d8 commit b0eba4bdd3c9fa5a2f5a82b907439dafe0411358 Author: Devang Patel <dpatel@apple.com> Date: Tue Nov 24 21:38:54 2009 +0000 Enable debug info for ppc-darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89803 91177308-0d34-0410-b5e6-96231b3b80d8 commit c10337d20080fca89c19acd69ae11f4a28e61cc8 Author: Devang Patel <dpatel@apple.com> Date: Tue Nov 24 19:42:17 2009 +0000 Use StringRef instead of std::string in DIEString. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89793 91177308-0d34-0410-b5e6-96231b3b80d8 commit 815c35cdb070cb876d01f3837f56b4d73b87f036 Author: Devang Patel <dpatel@apple.com> Date: Tue Nov 24 19:37:07 2009 +0000 Remove DebugLabelFolder pass. It is not used by dwarf writer anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89790 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6f2bdd58f2cee41a5de62fe5515642d0371fecf8 Author: Devang Patel <dpatel@apple.com> Date: Tue Nov 24 19:18:41 2009 +0000 Swith to pubtypes section before emitting pub types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89787 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8bb856794be3bbdc21e72ea90f8226efce096ebe Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Nov 24 19:03:33 2009 +0000 Remove bogus error handling code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89786 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6901c962de266a478d056a8c5be5c8901ca0896e Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Tue Nov 24 16:29:23 2009 +0000 Fix comments as pre-post review for rev.89765. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89770 91177308-0d34-0410-b5e6-96231b3b80d8 commit f21c0e1a6da8926d0cadc61320c0931485f765ee Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Tue Nov 24 15:19:10 2009 +0000 Provide Path::isSpecialFile interface for PR5568. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89765 91177308-0d34-0410-b5e6-96231b3b80d8 commit b4016f5de54742c18653294b490c28ae55688d15 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Tue Nov 24 11:51:52 2009 +0000 Fix for PR5373, Credit to Jakub Staszak. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89758 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6b2b23a3569d8cefb165601454cc1dede80d30d6 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 24 08:06:15 2009 +0000 Enable predication of NEON instructions in Thumb2 mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89748 91177308-0d34-0410-b5e6-96231b3b80d8 commit de17b23e8ab96fee43298f52d643383476994e96 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Nov 24 02:11:14 2009 +0000 Oops. Re-disable JITTest.NoStubs on ARM and PPC since they still use stubs to make far calls work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89733 91177308-0d34-0410-b5e6-96231b3b80d8 commit 003f9445a475809f93a5141770aa871eb1c548b2 Author: Dan Gohman <gohman@apple.com> Date: Tue Nov 24 01:48:15 2009 +0000 Delete some dead and non-obvious code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89729 91177308-0d34-0410-b5e6-96231b3b80d8 commit ec13b4fffb1742d8acd6e07a388b1e54dfd7c1c9 Author: Devang Patel <dpatel@apple.com> Date: Tue Nov 24 01:14:22 2009 +0000 Emit pubtypes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89725 91177308-0d34-0410-b5e6-96231b3b80d8 commit b21c0db31a04aacc19787dd6767983e91f007114 Author: Dale Johannesen <dalej@apple.com> Date: Tue Nov 24 01:09:07 2009 +0000 Make capitalization of names starting "is" more consistent. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89724 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9f433ab362f406dc8336ae2445bcfebbd133a8a1 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 24 01:05:23 2009 +0000 Data type suffix must come after predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89723 91177308-0d34-0410-b5e6-96231b3b80d8 commit 115a53c6df56d2befe8c19e602e31ffc2515b93a Author: David Goodwin <david_goodwin@apple.com> Date: Tue Nov 24 00:59:08 2009 +0000 <rdar://problem/6721894>. Allow multiple registers to be renamed together (super and sub) if necessary to break an anti-dependence. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89722 91177308-0d34-0410-b5e6-96231b3b80d8 commit a414f36ad4dca3554e1313a4715b3856ac4066b9 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Tue Nov 24 00:44:37 2009 +0000 Materialize global addresses via movt/movw pair, this is always better than doing the same via constpool: 1. Load from constpool costs 3 cycles on A9, movt/movw pair - just 2. 2. Load from constpool might stall up to 300 cycles due to cache miss. 3. Movt/movw does not use load/store unit. 4. Less constpool entries => better compiler performance. This is only enabled on ELF systems, since darwin does not have needed relocations (yet). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89720 91177308-0d34-0410-b5e6-96231b3b80d8 commit 71465ac298b594109d9f6e9c8b4fc97051840a8b Author: Jim Grosbach <grosbach@apple.com> Date: Tue Nov 24 00:20:27 2009 +0000 80 column violations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89718 91177308-0d34-0410-b5e6-96231b3b80d8 commit f8f9acf65f39634e24604568f1cab3cca14ff18b Author: Jeffrey Yasskin <jyasskin@google.com> Date: Mon Nov 23 23:35:19 2009 +0000 * Move stub allocation inside the JITEmitter, instead of exposing a way for each TargetJITInfo subclass to allocate its own stubs. This means stubs aren't as exactly-sized anymore, but it lets us get rid of TargetJITInfo::emitFunctionStubAtAddr(), which lets ARM and PPC support the eager JIT, fixing http://llvm.org/PR4816. * Rename the JITEmitter's stub creation functions to describe the kind of stub they create. So far, all of them create lazy-compilation stubs, but they sometimes get used when far-call stubs are needed. Fixing http://llvm.org/PR5201 will involve fixing this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89715 91177308-0d34-0410-b5e6-96231b3b80d8 commit bf095c3301eabc23c9be57bd86209f98afc4fd13 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 23 23:25:54 2009 +0000 enable iv-users simplification by default git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89713 91177308-0d34-0410-b5e6-96231b3b80d8 commit c61b56c8b54d3abdf197464c00ea9b3613aa5889 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 23 23:20:51 2009 +0000 Remove ISD::DEBUG_LOC and ISD::DBG_LABEL, which are no longer used. Note that "hasDotLocAndDotFile"-style debug info was already broken; people wanting this functionality should implement it in the AsmPrinter/DwarfWriter code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89711 91177308-0d34-0410-b5e6-96231b3b80d8 commit 89acd2fc3e3c28cedeb8f5b5d5d378425b6d2f49 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Mon Nov 23 22:49:00 2009 +0000 Allow more than one stub to be being generated at the same time. It's probably better in the long run to replace the indirect-GlobalVariable system. That'll be done after a subsequent patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89708 91177308-0d34-0410-b5e6-96231b3b80d8 commit 09c61b35e2c8a6cf9bcdf42f8d07a8ac26238eac Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Nov 23 21:57:23 2009 +0000 Massive refactoring of NEON instructions. Separate opcode from data size specifier suffix, move \t up stream to instruction format, and fix more 80 column violations. This fixes the NEON asm printing so the "predicate" field is printed between the opcode and the data type suffix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89706 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8d34f97d8b78e04cad93ab4fb27f19963c0b2f70 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 23 21:30:55 2009 +0000 Simplify this code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89702 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3a271d8ee93e2de1277abaa40fe3614c458905be Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 23 21:29:08 2009 +0000 Print the debug info line and column in MachineInstr::print even when there's no filename. This situation is apparently fairly common right now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89701 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8d450b25083d0f488b2e797e79eb92172eb2c48d Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 23 21:08:25 2009 +0000 move fconst[sd] to UAL. <rdar://7414913> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89700 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9ee642f0b2272dab1086aa3421d1958e63a066f6 Author: Johnny Chen <johnny.chen@apple.com> Date: Mon Nov 23 21:00:43 2009 +0000 Partially revert r84730 by removing N2VDup from ARMInstrFormats.td and modifying VDUPLND and VDUPLNQ to derive from N2V instead of N2VDup. VDUPLND and VDUPLNQ now expect op19_18 and op17_16 as the first two args. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89699 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7b7663763bdc058d678f7d459dfa49cc97d6f4c6 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 23 20:39:53 2009 +0000 update test for 89694 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89695 91177308-0d34-0410-b5e6-96231b3b80d8 commit 66e70cdbb4097df5f9f9341663441fc431015307 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 23 20:35:53 2009 +0000 fold immediate of a + Const into the user as a subtract if it can fit as a negated two-part immediate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89694 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6c6fa9a41918f91b9ea6765cfc0eb566e68b2de0 Author: Johnny Chen <johnny.chen@apple.com> Date: Mon Nov 23 20:09:13 2009 +0000 Revert r84572 by removing N3VImm from ARMInstrFormats.td now that we can specify {?,?,?,?} as op11_8 for VEXTd and VEXTq. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89693 91177308-0d34-0410-b5e6-96231b3b80d8 commit c3201132cadd122f71500f6cbc88130cfa912af3 Author: Devang Patel <dpatel@apple.com> Date: Mon Nov 23 19:11:20 2009 +0000 Add CreateLocation varinat that accepts MDNode (with a default value). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89689 91177308-0d34-0410-b5e6-96231b3b80d8 commit b125c6e04f2a851b4ed6a361a705816d0374ce4b Author: Devang Patel <dpatel@apple.com> Date: Mon Nov 23 18:43:37 2009 +0000 Revert r89487. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89686 91177308-0d34-0410-b5e6-96231b3b80d8 commit 46f784e7a92f51878af9c6c0cdb8312b2d188303 Author: Johnny Chen <johnny.chen@apple.com> Date: Mon Nov 23 18:16:16 2009 +0000 Partially revert r89377 by removing NLdStLN class definition from ARMInstrFormats.td and fixing VLD[234]LN* and VST[234]LN* to derive from NLdSt instead of NLdStLN. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89684 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7d3b3e40e16069bbc07c2acb20594cfffe406572 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 23 18:12:11 2009 +0000 Move CopyCatchInfo into FunctionLoweringInfo.cpp too, for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89683 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7ec2051989d074e3ffef5fe74fed228d61b5f428 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 23 18:04:58 2009 +0000 Rename SelectionDAGLowering to SelectionDAGBuilder, and rename SelectionDAGBuild.cpp to SelectionDAGBuilder.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89681 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0c1d2c1183243d983ee60d2fa0e30c1aef4981f4 Author: Johnny Chen <johnny.chen@apple.com> Date: Mon Nov 23 17:48:17 2009 +0000 Make it clear that the index bit(s) of Vector Get Lane and Vector Set Lane should be left unspecified now that Bob Wilson has fixed pr5470. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89676 91177308-0d34-0410-b5e6-96231b3b80d8 commit 78105759c1482cdea69c13d7bedcd1867c40efad Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 23 17:46:23 2009 +0000 Move RegsForValue to an anonymous namespace, since it is only used in this file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89675 91177308-0d34-0410-b5e6-96231b3b80d8 commit c073abf312a796da1dd5c567aa92affe77f62e1b Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 23 17:42:46 2009 +0000 Move some more code out of SelectionDAGBuild.cpp and into FunctionLoweringInfo.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89674 91177308-0d34-0410-b5e6-96231b3b80d8 commit dfaea1cb45cae9e1ca8dd6b3398ab39dbab074d3 Author: David Goodwin <david_goodwin@apple.com> Date: Mon Nov 23 17:34:12 2009 +0000 Minor itinerary fixes for FP instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89672 91177308-0d34-0410-b5e6-96231b3b80d8 commit ead611c1b544ed84281bfb255c2677ad58d63494 Author: Ted Kremenek <kremenek@apple.com> Date: Mon Nov 23 17:26:04 2009 +0000 Update CMake file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89671 91177308-0d34-0410-b5e6-96231b3b80d8 commit 39a0cdff39ccce6633deb6ca4427a96796fef1b3 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 23 17:16:22 2009 +0000 Move the FunctionLoweringInfo class and some related utility functions out of SelectionDAGBuild.h/cpp into its own files, to help separate general lowering logic from SelectionDAG-specific lowering logic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89667 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4abfe40a9e41146760e8fdc2270abf60540b1e90 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 23 17:07:35 2009 +0000 fix comment, thanks all :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89666 91177308-0d34-0410-b5e6-96231b3b80d8 commit 913c8adf87bf3584d4c9d2fd7ad8beb19e3fcf11 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 23 16:46:41 2009 +0000 use the new isNoAlias method to simplify some code, only do an escaping check if we have a non-constant pointer. Constant pointers can't be local. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89665 91177308-0d34-0410-b5e6-96231b3b80d8 commit 042c6856f5af58f684d6cf7b692b87be1bf36f0a Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 23 16:45:27 2009 +0000 whitespace cleanup, tidying git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89664 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0ed47b7960f240169bcb847c7cde0b52096a1c2c Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 23 16:44:43 2009 +0000 speed up BasicAA a bit by implementing a long-standing TODO. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89663 91177308-0d34-0410-b5e6-96231b3b80d8 commit 03c010bff7008ca11acd4576c058b690d8bc6a03 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 23 16:38:54 2009 +0000 add a helper git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89662 91177308-0d34-0410-b5e6-96231b3b80d8 commit 68761bbb60a826ebd53c006ee75d90dea55fea88 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 23 16:24:18 2009 +0000 Move FunctionPassManagerImpl's dumpArguments and dumpPasses calls out of its run function and into its doInitialization method, so that it does the dump once instead of once per function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89660 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f77c3e8551139a6bf4b6460794a9ef6b312ef52 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 23 16:22:21 2009 +0000 Make ConstantFoldConstantExpression recursively visit the entire ConstantExpr, not just the top-level operator. This allows it to fold many more constants. Also, make GlobalOpt call ConstantFoldConstantExpression on GlobalVariable initializers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89659 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3d97a63506213bf48ad9e942b9f689fb78f5eeb0 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 23 16:13:39 2009 +0000 Fix a use of an invalidated iterator in the case where there are multiple adjacent uses of a dead basic block from the same user. This fixes PR5596. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89658 91177308-0d34-0410-b5e6-96231b3b80d8 commit d301b553c36bae9bdd8d41b768f093760cb3f7e9 Author: Duncan Sands <baldrick@free.fr> Date: Mon Nov 23 10:49:03 2009 +0000 I forgot to update the prototype for LLVMBuildIntCast when correcting the body to not pass the name for the isSigned parameter. However it seems that changing prototypes is a big-no-no, so here I revert the previous change and pass "true" for isSigned, meaning this always does a signed cast, which was the previous behaviour assuming the name was not NULL! Some other C function needs to be introduced for the general case of signed or unsigned casts. This hopefully unbreaks the ocaml binding. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89648 91177308-0d34-0410-b5e6-96231b3b80d8 commit 951cb61e2fc34e1f6c2324b9613985191e87fe49 Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Nov 23 04:52:00 2009 +0000 Start catching LLVMContext misuse in the verifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89646 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1df6ea033855b9c8ff66bdfc5f479fe8d2afb272 Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Nov 23 03:50:44 2009 +0000 Pull LLVMContext out of PromoteMemToReg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89645 91177308-0d34-0410-b5e6-96231b3b80d8 commit c11ad4295ebbb1add9f5ab4c406a2c73851341a4 Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Nov 23 03:34:29 2009 +0000 Remove LLVMContext and its include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89644 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6e8bc9ccd4e6d8c9a7f6e4f4ae1a664abcb076a5 Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Nov 23 03:29:18 2009 +0000 Remove unused LLVMContext. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89642 91177308-0d34-0410-b5e6-96231b3b80d8 commit d1d0c185a48ffd53cbd5b671008738447d878bc9 Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Nov 23 03:26:09 2009 +0000 Remove dead LLVMContext argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89641 91177308-0d34-0410-b5e6-96231b3b80d8 commit ef61f69747de3b32a7edb82ea753091baf605683 Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Nov 23 03:17:33 2009 +0000 Reapply r88830 with a bugfix: this transform only applies to icmp eq/ne. This fixes part of PR5438. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89639 91177308-0d34-0410-b5e6-96231b3b80d8 commit b01c8c362988e5a59116d31764300a3abc8982d4 Author: Oscar Fuentes <ofv@wanadoo.es> Date: Mon Nov 23 00:40:39 2009 +0000 CMake: Updated library dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89637 91177308-0d34-0410-b5e6-96231b3b80d8 commit 760e1e5f52d218629214db44d60494f612918086 Author: Oscar Fuentes <ofv@wanadoo.es> Date: Mon Nov 23 00:32:42 2009 +0000 CMake: Do not try to install a target before it is defined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89636 91177308-0d34-0410-b5e6-96231b3b80d8 commit d59ab13c1166497b768f8c05522f4d7abf117deb Author: Oscar Fuentes <ofv@wanadoo.es> Date: Mon Nov 23 00:21:43 2009 +0000 CMake: generate targets for tools and examples even when LLVM_BUILD_TOOLS or LLVM_BUILD_EXAMPLES are OFF. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89635 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca55327ca9c480c28037c6a1a19b72e224ca5604 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 22 22:59:26 2009 +0000 FileCheck, PR5239: Try to find the intended match on failures, but looking for a good nearby fuzzy match. Frequently the input is nearly correct, and just showing the user the a nearby sensible match is enough to diagnose the problem. - The "fuzzyness" is pretty simple and arbitrary, but worked on my three test cases. If you encounter problems, or places you think FileCheck should have guessed but didn't, please add test cases to PR5239. For example, previously FileCheck would report this: -- t.cpp:21:55: error: expected string not found in input // CHECK: define void @_Z2f25f2_s1([[i64_i64_ty]] %a0) ^ <stdin>:19:30: note: scanning from here define void @_Z2f15f1_s1(%1) nounwind { ^ <stdin>:19:30: note: with variable "i64_i64_ty" equal to "%0" -- and now it also reports this: -- <stdin>:27:1: note: possible intended match here define void @_Z2f25f2_s1(%0) nounwind { ^ -- which makes it clear that the CHECK just has an extra ' %a0' in it, without having to check the input. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89631 91177308-0d34-0410-b5e6-96231b3b80d8 commit d2e397d1b44bc0eee6ee27bc578e1f54f9bfb599 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 22 22:08:06 2009 +0000 FileCheck: When a string using variable references fails to match, print additional information about the current definitions of the variables used in the string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89628 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd5bbc12814ad7b8c6273e2f0f321e160ee98894 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 22 22:08:00 2009 +0000 SourceMgr: Add ShowLine argument to PrintMessage, to allow suppressing the source line output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89627 91177308-0d34-0410-b5e6-96231b3b80d8 commit 716aea013d24f2b814ced60e799a636f4037ce5f Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 22 22:07:50 2009 +0000 Allow '_' in FileCheck variable names, it is nice to have at least one separate character. - Chris, OK? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89626 91177308-0d34-0410-b5e6-96231b3b80d8 commit 587d488cbfbfdba6a5e9cebff4f6b614856fde58 Author: Jim Grosbach <grosbach@apple.com> Date: Sun Nov 22 20:14:00 2009 +0000 Add getFrameIndexReference() to TargetRegisterInfo, which allows targets to tell debug info which base register to use to reference a frame index on a per-index basis. This is useful, for example, in the presence of dynamic stack realignment when local variables are indexed via the stack pointer and stack-based arguments via the frame pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89620 91177308-0d34-0410-b5e6-96231b3b80d8 commit afc3436c0a1089f70f879e539a464a6ac281ba21 Author: Jim Grosbach <grosbach@apple.com> Date: Sun Nov 22 20:05:32 2009 +0000 Move default FrameReg val to getFrameIndexReference(). Otherwise, debug info can get bogus values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89618 91177308-0d34-0410-b5e6-96231b3b80d8 commit b23f242b6ee5ec88e39ef0d58f7165eed9df7a8c Author: Jim Grosbach <grosbach@apple.com> Date: Sun Nov 22 19:20:36 2009 +0000 80-column cleanup git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89612 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed9ebc2d93025f3fed6be267258d1f2abbd7f892 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Sun Nov 22 18:28:04 2009 +0000 Teach MachineBasicBlock::updateTerminator() to handle a failing TII->ReverseBranchCondition(Cond) call. This fixes the MallocBench/cfrac test case regression. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89608 91177308-0d34-0410-b5e6-96231b3b80d8 commit ecc701d1f6585ff576317af22c2f9363865177bd Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 22 18:27:51 2009 +0000 Update doc re: LLVM_BUILD_EXAMPLES. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89607 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1790623d43a92b20bff15ed6d9a4edd44c44ff32 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 22 18:27:43 2009 +0000 Use ExtractElementInst::Create instead of new; patch by Artur Pietrek! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89606 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1017a6d8e59599dad4c0d4f8d34c0fcf3e5b1cd2 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 22 16:16:48 2009 +0000 add fixme for dubious code. Duncan, what do you think? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89602 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7a639bf8ac9a22b5ed969ac3530cb931ffaf78cc Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 22 16:15:59 2009 +0000 remove a silly condition that doesn't make a lot of sense anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89601 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3fda168358ac665f2756201cfd7598b6367d7f2e Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 22 16:05:05 2009 +0000 reduce indentation, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89600 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3b803758388cc969c52e12e968f22f00eecdc1fb Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 22 16:01:44 2009 +0000 Remove the AliasAnalysis::getMustAliases method, which is dead. The hasNoModRefInfoForCalls isn't worth it as a filter because basicaa provides m/r info and everything chains to it, so remove it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89599 91177308-0d34-0410-b5e6-96231b3b80d8 commit 194cfb2c761c1c7c943527d5e843a070d580fa94 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Sun Nov 22 15:35:28 2009 +0000 Miss two, PR5307. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89596 91177308-0d34-0410-b5e6-96231b3b80d8 commit c5a7ee56626c6c3b0fa8b4393e3c4cf214a5ea50 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Sun Nov 22 15:18:27 2009 +0000 Convert Thumb2 tests to FileCheck for PR5307. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89595 91177308-0d34-0410-b5e6-96231b3b80d8 commit f6ddf7961a5dc35af0202a9877a5c03dfc13509f Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sun Nov 22 15:15:52 2009 +0000 Turns out stuff gets allocated to different registers depending on the subtarget. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89594 91177308-0d34-0410-b5e6-96231b3b80d8 commit 16f1ecc2ab9b1bda31da4ec0900b1d80bf075dc8 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Sun Nov 22 14:23:33 2009 +0000 Convert ARM tests to FileCheck for PR5307. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89593 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5bbb84f365f9104e8091e45ac2e11513ef0c09f8 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sun Nov 22 13:16:36 2009 +0000 Convert test to FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89589 91177308-0d34-0410-b5e6-96231b3b80d8 commit 79b7b8a06d35cf5ea601dbd7d2c2ddd6a832bf70 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Sun Nov 22 13:09:48 2009 +0000 Forgot to alter RUN line when converting to FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89588 91177308-0d34-0410-b5e6-96231b3b80d8 commit ba92a65cdc5c316f94576e321b19ebf7902420d8 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Sun Nov 22 12:50:05 2009 +0000 Fix for bad FileCheck converts in revision 89584. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89586 91177308-0d34-0410-b5e6-96231b3b80d8 commit bebe181781a0f6464328ab66838e92814345c318 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Sun Nov 22 11:45:44 2009 +0000 Convert a few tests to FileCheck for PR5307. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89584 91177308-0d34-0410-b5e6-96231b3b80d8 commit 537fe619ae0e817ea0c88a00e034f0228be147c2 Author: Bob Wilson <bob.wilson@apple.com> Date: Sun Nov 22 04:24:42 2009 +0000 Fix whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89582 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6e9a4bc4dc27a5bb203c14e98ce78df5a8ccd63b Author: Bob Wilson <bob.wilson@apple.com> Date: Sun Nov 22 03:58:57 2009 +0000 Fix pr5470. Tablegen handles template arguments by temporarily setting their values, resolving references to them, and then removing the definitions. If a template argument is set to an undefined value, we need to resolve references to that argument to an explicit undefined value. The current code leaves the reference to the template argument as it is, which causes an assertion failure later when the definition of the template argument is removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89581 91177308-0d34-0410-b5e6-96231b3b80d8 commit 00b4eef951eedc4b234dd466069a54430b4d1bb8 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Nov 22 02:38:11 2009 +0000 Remove dead code. While there, also turn a few 'T* ' into 'T *' to match the rest of the file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89577 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5902f6d18693f3a787615a98e7d3e36b8888ce62 Author: Jim Grosbach <grosbach@apple.com> Date: Sun Nov 22 02:32:29 2009 +0000 Generate more correct debug info for frame indices. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89576 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3aa832bd08262d07a332f8f69359f5d6f8368a08 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Nov 22 01:14:08 2009 +0000 Minor optimization: when doing eq/ne comparions and RHS is a constant - swap operands, this will allow us to fold imm into comparison. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89574 91177308-0d34-0410-b5e6-96231b3b80d8 commit ef4818da6ffd4f013694072800db48b72b7cf9d4 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Nov 22 01:13:54 2009 +0000 Drop unsupported imm operands git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89573 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6e56869809bfe5bcfaa3e6bcf7200a228d239007 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Nov 22 01:13:39 2009 +0000 Use 2-byte alignment for functions. 4 bytes are clear overkill here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89572 91177308-0d34-0410-b5e6-96231b3b80d8 commit 16cbc57dbb8113d45d2b600c549bb43655a1d9d8 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Nov 22 01:12:49 2009 +0000 Use semicolon as assembler comment string git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89571 91177308-0d34-0410-b5e6-96231b3b80d8 commit eee8617c0f283222d9f2f0d9b24c9ff0b2eb7d9e Author: Jim Grosbach <grosbach@apple.com> Date: Sat Nov 21 23:34:09 2009 +0000 Revert 89562. We're being sneakier than I was giving us credit for, and this isn't necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89568 91177308-0d34-0410-b5e6-96231b3b80d8 commit 652b7433b68fdc0371902b0211be5030d56056be Author: Jim Grosbach <grosbach@apple.com> Date: Sat Nov 21 23:12:12 2009 +0000 remove trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89567 91177308-0d34-0410-b5e6-96231b3b80d8 commit 38a5cd273053ce399fc980317f25fc5b33e4a73a Author: Bob Wilson <bob.wilson@apple.com> Date: Sat Nov 21 22:44:20 2009 +0000 Fix some spelling in comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89566 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2d18aab483a2b6bb199a9476c1bf4ae2c14a5768 Author: Bob Wilson <bob.wilson@apple.com> Date: Sat Nov 21 22:39:27 2009 +0000 Avoid a redundant assertion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89565 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3af6d702411a66e6d02ebfc566083fb78336d5e3 Author: Jim Grosbach <grosbach@apple.com> Date: Sat Nov 21 21:40:08 2009 +0000 Darwin requires a frame pointer for all non-leaf functions to support correct backtraces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89562 91177308-0d34-0410-b5e6-96231b3b80d8 commit 67abceccf77faa1bbaab2e22c4d7e173927ee12e Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Nov 21 06:21:52 2009 +0000 Add predicate operand to NEON instructions. Fix lots (but not all) 80 col violations in ARMInstrNEON.td. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89542 91177308-0d34-0410-b5e6-96231b3b80d8 commit 76fe98917d56fbbc1087c2275d3ab3a8ee4abd2b Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Nov 21 06:20:26 2009 +0000 Allow target to disable if-converting predicable instructions. e.g. NEON instructions under ARM mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89541 91177308-0d34-0410-b5e6-96231b3b80d8 commit c50078e7edda4caf0443225ffde587ae36e1a5ad Author: Devang Patel <dpatel@apple.com> Date: Sat Nov 21 02:48:08 2009 +0000 Cosmetic changes, which were long overdue, in DwarfDebug.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89537 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1432b62b04c33ad89f4249ef73f2e73740db18c7 Author: Devang Patel <dpatel@apple.com> Date: Sat Nov 21 02:46:55 2009 +0000 We are not using DBG_STOPPOINT anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89536 91177308-0d34-0410-b5e6-96231b3b80d8 commit c591f900f958babf2e8043084a60f91d4b043836 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Nov 21 02:32:35 2009 +0000 Maintain stylistic consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89535 91177308-0d34-0410-b5e6-96231b3b80d8 commit e8aaa272391a7f5aae92ecf3f64bd94365a57f7a Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Sat Nov 21 02:05:31 2009 +0000 Don't leave temporary files in the test directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89531 91177308-0d34-0410-b5e6-96231b3b80d8 commit e79ff41f7b22dc50740c3c87d0e6801e5fae5924 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Sat Nov 21 02:05:21 2009 +0000 Be more clever about calculating live variables through new basic blocks. When splitting a critical edge, the registers live through the edge are: - Used in a PHI instruction, or - Live out from the predecessor, and - Live in to the successor. This allows the coalescer to eliminate even more phi joins. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89530 91177308-0d34-0410-b5e6-96231b3b80d8 commit 543b8df69c6e1c707e4f16a28665befd53b78da7 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Nov 21 02:01:24 2009 +0000 Allow SmallString to implicitly convert to StringRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89529 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4473796bf84fc8f009c250ba74f18c5f54712a48 Author: Eric Christopher <echristo@apple.com> Date: Sat Nov 21 01:01:30 2009 +0000 Add more optimizations for object size checking, enable handling of object size intrinsic and verify return type is correct. Collect various code in one place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89523 91177308-0d34-0410-b5e6-96231b3b80d8 commit 76c1a107d9e2fb6eec90a3fffc8a39c11a4b0317 Author: Devang Patel <dpatel@apple.com> Date: Sat Nov 21 00:54:03 2009 +0000 Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89522 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa1ce6a3b1b8d9f6ee587449741239c59f2b107e Author: Dale Johannesen <dalej@apple.com> Date: Sat Nov 21 00:53:23 2009 +0000 When generating a vector the really slow way, via loads and stores, handle the case where the element size is not a valid target type correctly (PPC). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89521 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1233f91cb593d825c7efebcb8b3571a502976f23 Author: Devang Patel <dpatel@apple.com> Date: Sat Nov 21 00:31:03 2009 +0000 There is no need to use FoldingSet to unique DIEs. DIEs are created from MDNode, which are already uniqued. And DwarfDebug already uses ValueMaps to find and use existing DIE for a given MDNode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89518 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1718fe60e36c17d72fa7b96dcb381fe8586cab0e Author: Viktor Kutuzov <vkutuzov@accesssoftek.com> Date: Sat Nov 21 00:00:02 2009 +0000 Added two SubtargetFeatures::AddFeatures methods, which accept a comma-separated string or already parsed command line parameters as input, and some code re-factoring to use these new methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89516 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2737ee18866f4e52cc1cd1411d2273d76794374a Author: David Goodwin <david_goodwin@apple.com> Date: Fri Nov 20 23:33:54 2009 +0000 Restructure code to allow renaming of multiple-register groups for anti-dep breaking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89511 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1004f9502ae653e8a4752e606c9136060c218068 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Nov 20 23:31:34 2009 +0000 Enable hoisting load from constant memories. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89510 91177308-0d34-0410-b5e6-96231b3b80d8 commit ffb50c1d0c2d0c999082f02c746a3e6ae3030fcd Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 20 23:30:32 2009 +0000 Fix a thinko that caused spurious @GOTOFFs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89509 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9b9d2a5f2053a53da30f4bc42f18df77646ca3a9 Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 20 23:21:00 2009 +0000 Update for new getBlockAddress signature. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89507 91177308-0d34-0410-b5e6-96231b3b80d8 commit 885793baaed110c848ccfdfb460bbc91774d8981 Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 20 23:18:13 2009 +0000 Target-independent support for TargetFlags on BlockAddress operands, and support for blockaddresses in x86-32 PIC mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89506 91177308-0d34-0410-b5e6-96231b3b80d8 commit b02aec51b2ea2206de1d61e7f9abd59b18daac1c Author: Sean Callanan <scallanan@apple.com> Date: Fri Nov 20 22:28:42 2009 +0000 Recommitting PALIGNR shift width fixes. Thanks to Daniel Dunbar for fixing clang intrinsics: http://llvm.org/viewvc/llvm-project?view=rev&revision=89499 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89500 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56187db10c250ffe39acb633bdf719c8fe66a273 Author: Dale Johannesen <dalej@apple.com> Date: Fri Nov 20 22:16:40 2009 +0000 Remove an incorrect overaggressive optimization (PPC specific). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89496 91177308-0d34-0410-b5e6-96231b3b80d8 commit a7c408162231566c5eff408a28585063f152ca27 Author: Sean Callanan <scallanan@apple.com> Date: Fri Nov 20 22:09:28 2009 +0000 Reverting PALIGNR fix until I figure out how this broke the Clang testsuite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89495 91177308-0d34-0410-b5e6-96231b3b80d8 commit d2dbcba3aae7f29b61b6e778d01936f1e99e94ec Author: Sean Callanan <scallanan@apple.com> Date: Fri Nov 20 21:40:28 2009 +0000 Fixed PALIGNR to take 8-bit rotations in all cases. Also fixed the corresponding testcase, and the PALIGNR intrinsic (tested for correctness with llvm-gcc). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89491 91177308-0d34-0410-b5e6-96231b3b80d8 commit d90672c248edda0cab8f84db6f9b16fe8fe4b281 Author: Devang Patel <dpatel@apple.com> Date: Fri Nov 20 21:37:22 2009 +0000 Do not hold on to a map slot while new entries may be inserted into the map. Use ValueMap, instead of std::map. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89490 91177308-0d34-0410-b5e6-96231b3b80d8 commit 197e2fcd5b2b0a4d391208380dbe71dbcee48e04 Author: David Greene <greened@obbligato.org> Date: Fri Nov 20 21:13:27 2009 +0000 Cleanups. Make things a little more efficient as suggested by Evan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89489 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8268f72bb23ff56e4e72260fa1e6575941f46c15 Author: Devang Patel <dpatel@apple.com> Date: Fri Nov 20 21:05:37 2009 +0000 There is no need to emit source location info for DW_TAG_pointer_type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89487 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0379c26c10c7e3090ec806a8333f6d3b5ebf8822 Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 20 20:51:18 2009 +0000 Make Loop::getLoopLatch() work on loops which don't have preheaders, as it may be used in contexts where preheader insertion may have failed due to an indirectbr. Make LoopSimplify's LoopSimplify::SeparateNestedLoop properly fail in the case that it would require splitting an indirectbr edge. These fix PR5502. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89484 91177308-0d34-0410-b5e6-96231b3b80d8 commit 082f11b74a4bc1ed1434757aa57582a4232e8f29 Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 20 20:19:14 2009 +0000 Fix IPSCCP's code for deleting dead blocks to tolerate outstanding blockaddress users. This fixes PR5569. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89483 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9d5e4247ca66b21f37c9417c865bd715e93ba960 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Nov 20 20:17:30 2009 +0000 Revert "Add some rough optimizations for checking routines.", it buildeth not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89482 91177308-0d34-0410-b5e6-96231b3b80d8 commit 92b73c9b0c67894b541ad7e8aaebb663c73f9864 Author: Eric Christopher <echristo@apple.com> Date: Fri Nov 20 19:57:37 2009 +0000 Add some rough optimizations for checking routines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89479 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2f6bfd4a20638089c8d00a40c2f4cd9e8b63e691 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Nov 20 19:57:15 2009 +0000 Remat VLDRD from constpool. Clean up some instruction property specifications. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89478 91177308-0d34-0410-b5e6-96231b3b80d8 commit ffd15dce5570f5c05754fc4dd7962ffe27faaac6 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Nov 20 19:55:37 2009 +0000 Add option -licm-const-load to hoist all loads from constant memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89477 91177308-0d34-0410-b5e6-96231b3b80d8 commit b3de86391c62a6519caa0d6ea12197326efbb793 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Nov 20 19:37:38 2009 +0000 The verify() call of CPEIsInRange() isn't right for the assertion check of constant pool ranges, as CPEIsInRange() makes conservative assumptions about the potential alignment changes from branch adjustments. The verification, on the other hand, runs after those branch adjustments are made, so the effects on alignment are known and already taken into account. The sanity check in verify should check the range directly instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89473 91177308-0d34-0410-b5e6-96231b3b80d8 commit 58bb6d922787ef2477a325c7106c95367d034af9 Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 20 19:33:16 2009 +0000 Use stripPointerCasts(). Thanks Duncan! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89472 91177308-0d34-0410-b5e6-96231b3b80d8 commit d34903a350e0bb37ab31d6cb8449b419535bfe8a Author: David Goodwin <david_goodwin@apple.com> Date: Fri Nov 20 19:32:48 2009 +0000 Remove some old experimental code that is no longer needed. Remove additional, speculative scheduling pass as its cost did not translate into significant performance improvement. Minor tweaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89471 91177308-0d34-0410-b5e6-96231b3b80d8 commit ff47428dd421e3fa20990dcb4a26a1b8b287ac3b Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Fri Nov 20 18:54:59 2009 +0000 More consistent labelling of basic blocks in debug output git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89470 91177308-0d34-0410-b5e6-96231b3b80d8 commit cd91143935f6fc55ba9af90054f1d6dc4d4fcff3 Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 20 17:50:21 2009 +0000 Revert the rule that considers comparisons between two pointers in the same object to be a non-capture; Duncan pointed out a way that such a comparison could be a capture. Make the rule that considers a comparison against null more specific, and only consider noalias return values compared against null. This still supports test/Transforms/GVN/nonescaping-malloc.ll, and is not susceptible to the problem Duncan pointed out with noalias arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89468 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8cb0d95e6125d2c62c76e822e3edf09c6891aae Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Fri Nov 20 17:23:17 2009 +0000 Move the handling of CommaSeparated options into ProvideOption. Makes '--comma-separated val1,val2' mean the same thing as '--comma-separated=val1,val2' (that is, 'val1' and 'val2' are not lumped together as 'val1,val2'). Also declutters the main loop a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89463 91177308-0d34-0410-b5e6-96231b3b80d8 commit e7f89b0b44347e999695b1cafe8ac0d363cb2ba2 Author: Duncan Sands <baldrick@free.fr> Date: Fri Nov 20 13:19:51 2009 +0000 Fix PR5563, an expensive checks failure when running on tests/Transforms/InstCombine/shufflemask-undef.ll. If anyone cares, the use of 2*e here (and the equivalent all over the place in instcombine) seems wrong, though harmless: it should really be twice the length of the input vector. I think shufflevector used to require that the mask have the same length as the input, but I don't think that's true any more. I don't care enough about vectors to do anything about this... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89456 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6888fe797e7b7ee3cd9028cbc8d54aa67a878147 Author: Duncan Sands <baldrick@free.fr> Date: Fri Nov 20 10:45:10 2009 +0000 Fix PR5558, which was caused by a wrong fix for PR3393 (see commit 63048), which was an expensive checks failure due to a bug in the checking. This patch in essence reverts the original fix for PR3393, and refixes it by a tweak to the way expensive checking is done. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89454 91177308-0d34-0410-b5e6-96231b3b80d8 commit edb2ded475aba1a45d5bc80ded559e9d91bf6f8a Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Fri Nov 20 09:53:25 2009 +0000 Try to work around grep's "Binary file (standard input) matches" complaints seen on ppc buildbot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89452 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1b6aa45f821c6991b616a8deb340171a83a6bc0a Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Nov 20 02:52:08 2009 +0000 Fix -march= name for x86-64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89445 91177308-0d34-0410-b5e6-96231b3b80d8 commit 40b0a2e6bb0787bc7c36a8fc79910a33e1a58965 Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 20 02:51:26 2009 +0000 Fix fast-isel to avoid selecting the return instruction if a tail call has been encountered. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89444 91177308-0d34-0410-b5e6-96231b3b80d8 commit 871fc2c9d35287f0feaeb077f4ce892da9436d06 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Nov 20 02:32:06 2009 +0000 Remove verifySizes() since it's not adding much value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89443 91177308-0d34-0410-b5e6-96231b3b80d8 commit ef4c5b2c4971e741cd583f5c351e8328e72e93fa Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Nov 20 02:10:27 2009 +0000 Also CSE non-pic load from constant pools. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89440 91177308-0d34-0410-b5e6-96231b3b80d8 commit c0bb0ae7d0154008e836e31d8f8cf77fa2ebb726 Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 20 02:03:44 2009 +0000 Add an experimental option to run gep-splitting and no-load GVN just before codegen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89439 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7a958d37a1ed34b2160bbdc7371b1d15641acb2d Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 20 01:34:03 2009 +0000 Simplify this code; it's not necessary to check isIdentifiedObject here because if the results from getUnderlyingObject match, the values must be from the same underlying object, even if we don't know what that object is. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89434 91177308-0d34-0410-b5e6-96231b3b80d8 commit 222f68489f8cf17fa316ad1028c285326d830214 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Fri Nov 20 01:17:03 2009 +0000 Add MachineBasicBlock::getName, and use it in place of getBasicBlock()->getName. Fix debug code that assumes getBasicBlock never returns NULL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89428 91177308-0d34-0410-b5e6-96231b3b80d8 commit b1b77e7c3e5adb80863c97c4d24aa598c5fc1515 Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 20 01:09:34 2009 +0000 Teach getSmallConstantTripMultiple about Shl operators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89426 91177308-0d34-0410-b5e6-96231b3b80d8 commit 69aaa0084163fa280cdae34786d3dd67695753c9 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Nov 20 00:54:03 2009 +0000 Fix codegen of conditional move of immediates. We were not making use of the immediate forms of cmov instructions at all. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89423 91177308-0d34-0410-b5e6-96231b3b80d8 commit d7c28c8c5c1de49d0b0413f6ff4fada2b80c1ec0 Author: Lang Hames <lhames@gmail.com> Date: Fri Nov 20 00:53:30 2009 +0000 Removed references to LiveStacks from Spiller.* . They're no longer needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89422 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1e927d7b1f0097ad715d2a4375b2bd7e40dd3c89 Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 20 00:50:47 2009 +0000 Refine the capture tracking rules for comparisons to be more careful about crazy methods of capturing pointers using comparisons. Comparisons of identified objects with null in the default address space are not captures. And, comparisons of two pointers within the same identified object are not captures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89421 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0f2b0e7a5096767455d0dd6591e2085c518c72c2 Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 20 00:43:11 2009 +0000 Use isVoidTy(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89419 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2aef1e6b29c5d584bfdb1a1bc1d674f986108771 Author: Bill Wendling <isanbard@gmail.com> Date: Fri Nov 20 00:40:21 2009 +0000 Specify proper arch and triple for 64-bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89418 91177308-0d34-0410-b5e6-96231b3b80d8 commit d45acc97e4b6a2854810c0a8076df3907e7be6e7 Author: Bill Wendling <isanbard@gmail.com> Date: Fri Nov 20 00:32:16 2009 +0000 Testcase for r89415. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89417 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0fbd6ad19b836a8138007e82176581755e206c7f Author: Eric Christopher <echristo@apple.com> Date: Fri Nov 20 00:21:55 2009 +0000 Update comment to reflect instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89414 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ac1d868496cea420332f07cde2d57cf3d9744eb Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 19 23:53:49 2009 +0000 Refine this to only apply to null in the default address space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89411 91177308-0d34-0410-b5e6-96231b3b80d8 commit ef7c365276e64d3ec8f3f8b2b251057186c73bc4 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Thu Nov 19 23:42:58 2009 +0000 Try to fix JITTest.FarCallToKnownFunction on ARM and PPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89410 91177308-0d34-0410-b5e6-96231b3b80d8 commit a5619db5fa424bd31f0fb1f4647ef479585a1aba Author: Oscar Fuentes <ofv@wanadoo.es> Date: Thu Nov 19 23:21:43 2009 +0000 Use CMAKE_DL_LIBS instead of raw library name. Fixes bug 5536. Patch by Tobias Grosser! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89406 91177308-0d34-0410-b5e6-96231b3b80d8 commit 25d6435df004aa2890aee502e67242b158c744e7 Author: David Goodwin <david_goodwin@apple.com> Date: Thu Nov 19 23:12:37 2009 +0000 Fix a couple of problems with maintaining liveness information for antidep breaking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89404 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca890b1973ef53d6c7ece027c037f6de1260cb4b Author: Jim Grosbach <grosbach@apple.com> Date: Thu Nov 19 23:10:28 2009 +0000 When placing constant islands and adjusting for alignment padding, inline assembly can confuse things utterly, as it's assumed that instructions in inline assembly are 4 bytes wide. For Thumb mode, that's often not true, so the calculations for when alignment padding will be present get thrown off, ultimately leading to out of range constant pool entry references. Making more conservative assumptions that padding may be necessary when inline asm is present avoids this situation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89403 91177308-0d34-0410-b5e6-96231b3b80d8 commit c4f555a862e61afbb08604327f70ced9f9e6b934 Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 19 21:57:48 2009 +0000 Extend CaptureTracking to indicate when a value is never stored, even if it is not ultimately captured. Teach BasicAliasAnalysis that a local object address which does not escape and is never stored does not alias with a value resulting from a load. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89398 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3327e8265b77a0ddf6d59dfb891cd311c571ac91 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Nov 19 21:45:22 2009 +0000 Refactor cmov selection code out to a separate function. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89396 91177308-0d34-0410-b5e6-96231b3b80d8 commit 907856d48f376196e91573fa1d9c5c5e87d86d0b Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 19 21:34:07 2009 +0000 Comparing a pointer with null is not a capture. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89389 91177308-0d34-0410-b5e6-96231b3b80d8 commit ba2f80467ebfd343f8fdbe28745d92a5dd9447f3 Author: Duncan Sands <baldrick@free.fr> Date: Thu Nov 19 20:48:14 2009 +0000 Only run this mutex test if threading is enabled. This fixes PR5395. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89385 91177308-0d34-0410-b5e6-96231b3b80d8 commit f9cd9bd206387e98c2897c47b29fd4d31df2f223 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Thu Nov 19 19:42:16 2009 +0000 Place new basic blocks immediately after their predecessor when splitting critical edges in PHIElimination. This has a huge impact on regalloc performance, and we recover almost all of the 10% compile time regression that edge splitting introduced. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89381 91177308-0d34-0410-b5e6-96231b3b80d8 commit f0e65b8d3493b044f266aa620cead7a1c91b3ccf Author: Bill Wendling <isanbard@gmail.com> Date: Thu Nov 19 19:21:09 2009 +0000 Reverting the EH table patches. $ svn merge -c -89279 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r89279 into '.': U lib/CodeGen/AsmPrinter/DwarfException.cpp U lib/Target/TargetLoweringObjectFile.cpp $ svn merge -c -89270 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r89270 into '.': G lib/CodeGen/AsmPrinter/DwarfException.cpp G lib/Target/TargetLoweringObjectFile.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89379 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9a5dc8bb0dbc4fab3b9594c9a94edcb82e5f6eac Author: Johnny Chen <johnny.chen@apple.com> Date: Thu Nov 19 19:20:17 2009 +0000 Added NLdStLN which is similar to NLdSt with the exception that op7_4 is not fully specified at this level. Subclasses of NLdStLN can specify selective bit(s) for Inst{7-4}, as is done for VLD[234]LN* and VST[234]LN* inside ARMInstrNEON.td. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89377 91177308-0d34-0410-b5e6-96231b3b80d8 commit af9a21d1a69f3b3ef222674d760309001f4827b7 Author: David Greene <greened@obbligato.org> Date: Thu Nov 19 19:09:39 2009 +0000 Fix a small bug. Fix one case we missed to make sure we reserve registers from allocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89376 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3f74e9c0b2a9ca331220ef8d8dd377e46c7a1ee8 Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 19 19:00:10 2009 +0000 Enable hoisting of loads from constant memory by default. In cases where they are lowered to instruction sequences more complex than a simple load, such that CodeGen cannot rematerialize them, a reload from a spill slot is likely to be cheaper than the complex sequence. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89374 91177308-0d34-0410-b5e6-96231b3b80d8 commit c6bb9ad2a7a5486e4f375e35d537f1cd45ce3015 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Nov 19 18:53:18 2009 +0000 Use StringRef::min instead of std::min. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89372 91177308-0d34-0410-b5e6-96231b3b80d8 commit 49f755b9ed789fa5088c1340e5c9d7b026c89263 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Nov 19 18:23:19 2009 +0000 fix typo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89369 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7cc0fd2839a6b5f01cf103317e7dd9cef1058617 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Nov 19 18:22:16 2009 +0000 TableGen/OptParser: When ordering options, make "sentinel" options appear before everything else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89368 91177308-0d34-0410-b5e6-96231b3b80d8 commit 766a36de6e28e0113a56aa51ab00268de0203e42 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Thu Nov 19 17:29:36 2009 +0000 Trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89364 91177308-0d34-0410-b5e6-96231b3b80d8 commit f6c09a5fec44233d337ac34910f2f3e5df2f9939 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Thu Nov 19 17:29:25 2009 +0000 Make example/Hello compile again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89363 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3a5f981b1c49eeaa6698480c1b90d6e9382b9568 Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 19 16:35:11 2009 +0000 Fix a typo in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89360 91177308-0d34-0410-b5e6-96231b3b80d8 commit 86f092e5f20940eae910c4e60608406134a48831 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Nov 19 16:08:04 2009 +0000 cstdlib is not automatically included with StringRef anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89359 91177308-0d34-0410-b5e6-96231b3b80d8 commit f42d3bbff53b7c8de06a0e23eebaf4a9aac2ff00 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Nov 19 16:04:41 2009 +0000 Reenable Split2 StringRef test with Apple gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89357 91177308-0d34-0410-b5e6-96231b3b80d8 commit c71d1f03e0c46be0eee00263f6b1609fd84bd235 Author: David Greene <greened@obbligato.org> Date: Thu Nov 19 15:55:49 2009 +0000 Add support for spreading register allocation. Add a -linearscan-skip-count argument (default to 0) that tells the allocator to remember the last N registers it allocated and skip them when looking for a register candidate. This tends to spread out register usage and free up post-allocation scheduling at the cost of slightly more register pressure. The primary benefit is the ability to backschedule reloads. This is turned off by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89356 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd629ec8b36ef375f35386a190c4c301dda09f44 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Nov 19 15:48:14 2009 +0000 Remove the now obsolete algorithm include from StringRef.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89354 91177308-0d34-0410-b5e6-96231b3b80d8 commit 449529d5cfab41b1899d04273a326065c4420223 Author: Edwin Török <edwintorok@gmail.com> Date: Thu Nov 19 15:39:50 2009 +0000 Workaround PR5482, because all the gcc versions that I had were miscompiling StringRef: 4.2.4, 4.3.4, 4.4.2. The workaround is to use a local min/max implementation that takes an integer param, and not a reference to integer param (like std::min does). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89352 91177308-0d34-0410-b5e6-96231b3b80d8 commit 02cec4c48f3c3daf922ee0d8aae5621c12ea3e81 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Nov 19 12:17:31 2009 +0000 Unbreak x64 MSVC build. Patch by Nicolas Capens! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89341 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5d446e5cc22993e05211b803cea43f09299d7f96 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Thu Nov 19 11:59:00 2009 +0000 Add PS3 Triple class, Credit to John Thompson. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89339 91177308-0d34-0410-b5e6-96231b3b80d8 commit cc7bfb11acd970d4cd4da36ae281065b22be5123 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Nov 19 08:16:50 2009 +0000 80 col violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89337 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8ea6a674a73ae8fdb75e15d692c90a048d7af1e0 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Nov 19 07:18:49 2009 +0000 Unbreak test, Bruno please check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89329 91177308-0d34-0410-b5e6-96231b3b80d8 commit 91fd9e4f6f0cd25369fafa3a81312fba451519cc Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Nov 19 06:57:41 2009 +0000 More consistent thumb1 asm printing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89328 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8ec49859a25324df48adf6b899d26b679e7a6ab2 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Nov 19 06:32:27 2009 +0000 Shrink ldr / str [sp, imm0-1024] to 16-bit instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89326 91177308-0d34-0410-b5e6-96231b3b80d8 commit 462517808063f450416dd5693adbc31293e9ba9a Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Nov 19 06:31:26 2009 +0000 Eliminate more * 4 in Thumb1 asm printing for consistency sake. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89325 91177308-0d34-0410-b5e6-96231b3b80d8 commit 59b2354e6b6079cc6bd912770ad84a681d3082e0 Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Thu Nov 19 06:06:13 2009 +0000 - Add sugregister logic to handle f64=(f32,f32). - Support mips1 like load/store of doubles: Instead of: sdc $f0, X($3) Generate: swc $f0, X($3) swc $f1, X+4($3) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89322 91177308-0d34-0410-b5e6-96231b3b80d8 commit 31a8a8c2a44d05f0f6d79f2ff57eb06ed02f6952 Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Thu Nov 19 05:28:18 2009 +0000 Only use small sections for non linux targets! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89316 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7e105d8389347468aaa57d612d4d20c0168464ec Author: Lang Hames <lhames@gmail.com> Date: Thu Nov 19 04:15:33 2009 +0000 Added a new Spiller implementation which wraps LiveIntervals::addIntervalsForSpills. All spiller calls in RegAllocLinearScan now go through the new Spiller interface. The "-new-spill-framework" command line option has been removed. To use the trivial in-place spiller you should now pass "-spiller=trivial -rewriter=trivial". (Note the trivial spiller/rewriter are only meant to serve as examples of the new in-place modification work. Enabling them will yield terrible, though hopefully functional, code). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89311 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4c00995baf288899fa940756099b2e5710702841 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Thu Nov 19 02:25:50 2009 +0000 autoconf config.* claims to not know about auroraux triple. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89301 91177308-0d34-0410-b5e6-96231b3b80d8 commit 51d2daf6108cda81a81f3c59e44a836a3f4cc8b7 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Nov 19 02:05:44 2009 +0000 Teach IVUsers to keep things simpler and track loop-invariant strides only for uses inside the loop. This works better with LSR. Disabled behind -simplify-iv-users while benchmarking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89299 91177308-0d34-0410-b5e6-96231b3b80d8 commit a6b28c2ca5ac9fa8b911e5b68fe07ee47bf054ce Author: Jim Grosbach <grosbach@apple.com> Date: Thu Nov 19 02:03:18 2009 +0000 Eliminate duplicate phi nodes in loops. Loop rotation, for example, can introduce these, and it's beneficial to later passes to clean them up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89298 91177308-0d34-0410-b5e6-96231b3b80d8 commit ba8e8e58a471dd3252b5f7e3da42501e2508f17f Author: Jim Grosbach <grosbach@apple.com> Date: Thu Nov 19 02:02:10 2009 +0000 Make EliminateDuplicatePHINodes() available as a utility function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89297 91177308-0d34-0410-b5e6-96231b3b80d8 commit 73fb12e94ad66fee4f8a56049b18113f604cee36 Author: Bill Wendling <isanbard@gmail.com> Date: Thu Nov 19 01:33:57 2009 +0000 Test from Dhrystone to make sure that we're not emitting an aligned load for a string that's aligned at 8-bytes instead of 16-bytes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89295 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1b6a195cbe09d455be646027b83b039c7fa6b06d Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Nov 19 00:14:53 2009 +0000 Add TOOLALIAS makefile variable; this defines an alternate name for a program which the makefiles will create by symlinking the actual tool to. - For use by clang, where we want to make 'clang++' and alias for clang (which enables C++ support in the driver) - Not sure this is the best approach, alternative suggestions welcome! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89282 91177308-0d34-0410-b5e6-96231b3b80d8 commit 121e71656e195b7fe04fcc6416b69393cf0ef33e Author: Bill Wendling <isanbard@gmail.com> Date: Thu Nov 19 00:09:14 2009 +0000 The "ReadOnlyWithRel" enum seems to apply more to what Darwin does with the EH exception table than DataRel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89279 91177308-0d34-0410-b5e6-96231b3b80d8 commit bc0de436deae8197ed48639ff40595e9fa4e55b3 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Nov 19 00:04:43 2009 +0000 Twine: Stores kinds as uchar instead of bitfield to be friendlier to the optimizer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89278 91177308-0d34-0410-b5e6-96231b3b80d8 commit d7a62cc10ff8a5d40b15d2750b62b1f66e507779 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Nov 18 23:48:57 2009 +0000 There should be no need to keep renumbering blocks during tail duplication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89275 91177308-0d34-0410-b5e6-96231b3b80d8 commit ac2a6d3db6062f0f5d4908c62d354981bc75378f Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Nov 18 23:30:38 2009 +0000 Fix buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89274 91177308-0d34-0410-b5e6-96231b3b80d8 commit c40a1de1e088f0e0c8d854cf53247e41bfa6075c Author: Richard Osborne <richard@xmos.com> Date: Wed Nov 18 23:20:42 2009 +0000 Add XCore support for indirectbr / blockaddress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89273 91177308-0d34-0410-b5e6-96231b3b80d8 commit eede1cfd80ead986dea190267a853c00eeff63a1 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Wed Nov 18 23:20:09 2009 +0000 De-bork CMake build git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89272 91177308-0d34-0410-b5e6-96231b3b80d8 commit da739ea07a1f130adcc9ad3d51e9c895af374dc6 Author: Bill Wendling <isanbard@gmail.com> Date: Wed Nov 18 23:18:46 2009 +0000 Attempt #2: Place the EH table in the __TEXT section on MachO. It saves space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89270 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5a57a12064094766ae271d09fe365c882d48468b Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Nov 18 22:52:37 2009 +0000 Tail duplication still needs to iterate. Duplicating new instructions onto the tail of a block may make that block a new candidate for duplication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89264 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7fda037ed8e65b25550b1b439af1153b40df0739 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Nov 18 22:12:31 2009 +0000 Add another statistic to measure code size due to tail duplication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89254 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0359a09551cd3dee071945a565def98fa61b48e3 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Wed Nov 18 22:04:44 2009 +0000 Remove spurious @verbatim. Patch by Timo Juhani Lindfors! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89252 91177308-0d34-0410-b5e6-96231b3b80d8 commit d69a01fbd2dcea207cdb20c28de1031556cc4681 Author: Bill Wendling <isanbard@gmail.com> Date: Wed Nov 18 21:54:13 2009 +0000 Not all ASM has # for comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89250 91177308-0d34-0410-b5e6-96231b3b80d8 commit 678387e294c678f1cdc602864e5f590ad6fdf65a Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Wed Nov 18 21:33:35 2009 +0000 Fix PR5300. When TwoAddressInstructionPass deletes a dead instruction, make sure that all register kills are accounted for. The 2-addr register does not get special treatment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89246 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5e906a43ec271475b7d5c33ea8c354a29e14b92e Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Nov 18 21:29:51 2009 +0000 TableGen: Add initial backend for clang Driver's option parsing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89245 91177308-0d34-0410-b5e6-96231b3b80d8 commit 390afed1012b60baf06eac8904fb72af3ccaedaa Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Wed Nov 18 20:36:57 2009 +0000 Allow the machine verifier to be run outside the PassManager. Verify LiveVariables information when present. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89241 91177308-0d34-0410-b5e6-96231b3b80d8 commit c272c74658d1f521d0a67ccdf8155d4566380f75 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Wed Nov 18 20:36:47 2009 +0000 Remove the -early-coalescing option git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89240 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9ec5663bc8a70b50a0b7b5e08140577ee1f3957f Author: Lang Hames <lhames@gmail.com> Date: Wed Nov 18 20:31:20 2009 +0000 Fixed the in-place spiller and trivial rewriter, which had been broken by the recent SlotIndexes work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89238 91177308-0d34-0410-b5e6-96231b3b80d8 commit 07fce117258e85a921db78e5656c4039f48829fc Author: Viktor Kutuzov <vkutuzov@accesssoftek.com> Date: Wed Nov 18 20:20:05 2009 +0000 Added getDefaultSubtargetFeatures method to SubtargetFeatures class which returns a correct feature string for given triple. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89236 91177308-0d34-0410-b5e6-96231b3b80d8 commit ec816259573936142fdc922b8c8fa98e77a3c998 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Nov 18 19:29:37 2009 +0000 Add statistics for tail duplication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89225 91177308-0d34-0410-b5e6-96231b3b80d8 commit eb368aa30f54a1388c341e6f443c9c6f96216fdc Author: David Goodwin <david_goodwin@apple.com> Date: Wed Nov 18 18:39:57 2009 +0000 Add ARMv6 itineraries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89218 91177308-0d34-0410-b5e6-96231b3b80d8 commit ecce4b7c8a9afdf9ca01e9c017871492a406ebfe Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Nov 18 18:10:35 2009 +0000 Fix a few places that were missed when we converted to unified syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89214 91177308-0d34-0410-b5e6-96231b3b80d8 commit f1a48f57d4a251f639165b4fa8f5b25de598e6c2 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Wed Nov 18 18:01:35 2009 +0000 Don't require LiveVariables for PHIElimination. Enable critical edge splitting when LiveVariables is available. The -split-phi-edges is now gone, and so is the hack to disable it when using the local register allocator. The PHIElimination pass no longer has LiveVariables as a prerequisite - that is what broke the local allocator. Instead we do critical edge splitting when possible - that is when LiveVariables is available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89213 91177308-0d34-0410-b5e6-96231b3b80d8 commit 82262041840cecaa4a3d015d124d166a7b87a995 Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Nov 18 17:42:22 2009 +0000 Turn LLVM_BUILD_EXAMPLES off by default in CMake builds, to match Makefiles & Clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89211 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0b3f26dbec6c2ca5a680f7d42795408f3a044bee Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Nov 18 17:42:17 2009 +0000 lit: Fix exclude dirs functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89210 91177308-0d34-0410-b5e6-96231b3b80d8 commit 64954241b84be8ee24450c4a27e01e836eee2fa2 Author: Nick Lewycky <nicholas@mxc.ca> Date: Wed Nov 18 05:43:15 2009 +0000 Fix passing of float arguments through ffi. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89198 91177308-0d34-0410-b5e6-96231b3b80d8 commit 19194a2f4d58b62e438b2c28f4b42966931cd397 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Nov 18 03:34:27 2009 +0000 Add a target hook to allow changing the tail duplication limit based on the contents of the block to be duplicated. Use this for ARM Cortex A8/9 to be more aggressive tail duplicating indirect branches, since it makes it much more likely that they will be predicted in the branch target buffer. Testcase coming soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89187 91177308-0d34-0410-b5e6-96231b3b80d8 commit c3bd9875c4cffb6514b54839c0220cfeccb5b7a9 Author: Bill Wendling <isanbard@gmail.com> Date: Wed Nov 18 01:03:56 2009 +0000 The llvm-gcc front-end and the pass manager use two separate TargetData objects. This is probably not confined to *just* these two things. Anyway, the llvm-gcc front-end may look up the structure layout information for an abstract type. That information will be stored into a table with the FE's TD. Instruction combine can come along and also ask for information on that abstract type, but for a separate TD (the one associated with the pass manager). After the type is refined, the old structure layout information in the pass manager's TD file is out of date. If a new type is allocated in the same space as the old-unrefined type, then the structure type information in the pass manager's TD file will be wrong, but won't know it. Fix this by making the TD's structure type information an abstract type user. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89176 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10fd2878665f7ae15848e0d5166a5ea873e2bac8 Author: Dan Gohman <gohman@apple.com> Date: Wed Nov 18 00:58:27 2009 +0000 Simplify ComputeMultiple so that it doesn't depend on TargetData. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89175 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9321a6db532fd0d5437d854e19e8a9fdc1f59290 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Wed Nov 18 00:02:18 2009 +0000 Fix inverted test and add testcase from failing self-host. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89167 91177308-0d34-0410-b5e6-96231b3b80d8 commit 39a0f07ef82b6cc70ce87c038620921d87297ced Author: Devang Patel <dpatel@apple.com> Date: Tue Nov 17 22:39:08 2009 +0000 Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89156 91177308-0d34-0410-b5e6-96231b3b80d8 commit b064d5efec51117f9819c7ffabb60970549025b1 Author: Eric Christopher <echristo@apple.com> Date: Tue Nov 17 21:58:16 2009 +0000 Add ability to set code model within the execution engine builders and creation interfaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89151 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9007bcee6efaa3d528edd8e47cfeb9a2fe47071a Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Tue Nov 17 21:52:40 2009 +0000 Remove fragile test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89150 91177308-0d34-0410-b5e6-96231b3b80d8 commit e65e2a55c76fd80f137adc6595057cf1a4a4d8fd Author: Jim Grosbach <grosbach@apple.com> Date: Tue Nov 17 21:37:04 2009 +0000 grammar git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89145 91177308-0d34-0410-b5e6-96231b3b80d8 commit 35ccbb7056c9c20ecc158d701fb3b00fdd795601 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Nov 17 21:24:11 2009 +0000 Enable arm jumpt table adjustment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89143 91177308-0d34-0410-b5e6-96231b3b80d8 commit 05930c4f222e11e44989c1040e7b9912e662ad86 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Tue Nov 17 21:23:49 2009 +0000 Disable -split-phi-edges to unbreak the buildbots git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89142 91177308-0d34-0410-b5e6-96231b3b80d8 commit 82ef39981df3f6d75e2ba52517452ff8df4a8415 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Tue Nov 17 20:46:00 2009 +0000 Never call UpdateTerminator() when AnalyzeBranch would fail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89139 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0a4f0a3bd881d83fed218587dbe0d1beb885b7a3 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Tue Nov 17 20:38:36 2009 +0000 Forgot to commit test fixes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89138 91177308-0d34-0410-b5e6-96231b3b80d8 commit aa4af890f3ecfcb21e9a0ce4f21304aec7fa087d Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Tue Nov 17 20:04:59 2009 +0000 Both Darwin as and GNU as violate ARM docs wrt printing of addrmode6 alignment imm (in the same way). Fix asmprinting for non-darwin platforms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89137 91177308-0d34-0410-b5e6-96231b3b80d8 commit 18f204f62c038bf35ed4887486bd051d60224825 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 17 19:19:59 2009 +0000 Add a WriteAsOperand for MachineBasicBlock so MachineLoopInfo dump looks sane. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89130 91177308-0d34-0410-b5e6-96231b3b80d8 commit 71faf6a347d7bc9076951bf2e317058024d80697 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 17 19:19:01 2009 +0000 Fix comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89129 91177308-0d34-0410-b5e6-96231b3b80d8 commit 226f307c9fd011e31a1b9194017941265ce644d9 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Tue Nov 17 19:15:50 2009 +0000 Enable -split-phi-edges by default, except when -regalloc=local. The local register allocator doesn't like it when LiveVariables is run. We should also disable edge splitting under -O0, but that has to wait a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89125 91177308-0d34-0410-b5e6-96231b3b80d8 commit dc4c7583e32dcab06bcb54fce793230b7c20eead Author: Jim Grosbach <grosbach@apple.com> Date: Tue Nov 17 19:05:35 2009 +0000 80-column violations git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89123 91177308-0d34-0410-b5e6-96231b3b80d8 commit ee140c4ce226ab811c551e85a3302a9e0ba5f301 Author: Viktor Kutuzov <vkutuzov@accesssoftek.com> Date: Tue Nov 17 18:48:27 2009 +0000 Added getArchNameForAssembler method to the Triple class for which returns OS and Vendor independent target assembler arch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89122 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5da4d89ecae4eb432275e4c186811bbb2116a35b Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Nov 17 18:30:09 2009 +0000 Remove a special case for tail merging that seems to be both broken and unnecessary. It is broken because the "isIdenticalTo" check should be negated. If that is fixed, this code causes the CodeGen/X86/tail-opts.ll test to fail, in the dont_merge_oddly function. And, I confirmed that the regression is real -- the generated code is worse. As far as I can tell, that tail-opts.ll test is checking for what this code is supposed to handle and we're doing the right thing anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89121 91177308-0d34-0410-b5e6-96231b3b80d8 commit a6454d6b3a54455960df969ee7d3cb4725df645a Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 17 18:10:11 2009 +0000 Generalize OptimizeLoopTermCond to optimize more loop terminating icmp to use postinc iv. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89116 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4b167eeef90ff3d7c5195ce6f2b1acb4478d522c Author: Dan Gohman <gohman@apple.com> Date: Tue Nov 17 18:04:15 2009 +0000 Set MadeChange instead of MadeChangeThisIteration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89114 91177308-0d34-0410-b5e6-96231b3b80d8 commit c77d9a4bdcb38493ce2b210b0e8e306181608657 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Tue Nov 17 17:57:04 2009 +0000 Revert CPU detection code to return "generic" instead of an empty string in case of failure. The x86 target didn't like empty cpu names and broke x86 tests on non-x86 buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89111 91177308-0d34-0410-b5e6-96231b3b80d8 commit f492c7348325f8f039047ab11cd8a44b46cb9a6e Author: Jim Grosbach <grosbach@apple.com> Date: Tue Nov 17 17:53:56 2009 +0000 Remove trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89110 91177308-0d34-0410-b5e6-96231b3b80d8 commit c9622b2ee6ee8bf9057d5d17bc4b6dc70d8fa874 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Nov 17 17:40:31 2009 +0000 Update a comment, now that tail duplication happens after other branch folding optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89109 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3f6474095adef9b9dc65ef94b481785caa086ea7 Author: Johnny Chen <johnny.chen@apple.com> Date: Tue Nov 17 17:17:50 2009 +0000 Set Inst{15-12} (Rd/Rt) to 0b1111 (PC) for BR_JTadd, BR_JTr, and BR_JTm to distinguish between them and the more generic instructions (add, mov, and ldr). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89108 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9cc7b872e96371d21aeff515d9f94e6c11955a07 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Nov 17 17:06:18 2009 +0000 Perform tail duplication only once, after tail merging is complete. It was too difficult to keep the heuristics for merging and duplication consistent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89105 91177308-0d34-0410-b5e6-96231b3b80d8 commit 47d60dc7125c5c8d2fc0e752b2448792db668751 Author: Nuno Lopes <nunoplopes@sapo.pt> Date: Tue Nov 17 15:35:39 2009 +0000 add Case() with 5 args git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89099 91177308-0d34-0410-b5e6-96231b3b80d8 commit aeb0ef3dba79ca51c55331915e22ad6a3d2e9531 Author: Jay Foad <jay.foad@gmail.com> Date: Tue Nov 17 13:13:59 2009 +0000 Fix HTML formatting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89093 91177308-0d34-0410-b5e6-96231b3b80d8 commit bed96f986a22dd0d457fc5054733ec85e7ac9061 Author: Duncan Sands <baldrick@free.fr> Date: Tue Nov 17 10:54:25 2009 +0000 1. Allow SCCIterator to work with GraphT types that are constant. 2. Allow SCCIterator to work with inverse graphs. 3. Fix an incorrect comment in GraphTraits.h (the type in the comment was given as GraphType* when it is actually const GraphType &). Patch by Patrick Alexander Simmons. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89091 91177308-0d34-0410-b5e6-96231b3b80d8 commit 18d0288933ba946f480d62c4233028538b8dc7df Author: Duncan Sands <baldrick@free.fr> Date: Tue Nov 17 10:20:22 2009 +0000 Make bugpoint pass -load arguments to LLI. This lets one use bugpoint with programs that depend on native shared libraries. Patch by Timo Lindfors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89087 91177308-0d34-0410-b5e6-96231b3b80d8 commit 91bbf5ea7a0dd374f65ba1db5a2e868cfa08065c Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 17 09:55:52 2009 +0000 Revert 89021. It's miscompiling llvm-gcc driver driver at -O0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89082 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8e66471c0fac08232fa3464324f2b3e42aec3fcb Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 17 09:51:18 2009 +0000 Re-apply 89011. It's not to be blamed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89081 91177308-0d34-0410-b5e6-96231b3b80d8 commit cff9162abbf0e246c71f29299165c6ee1a6e615a Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Nov 17 09:29:59 2009 +0000 "XFAIL" the Split2 StringReft test with Apple gcc, which miscompiles it. - I plan on fixing/workarounding this, but until then I'd like the bots to stay green. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89077 91177308-0d34-0410-b5e6-96231b3b80d8 commit 04af0cbb1d29d16253d4e5d3be8dca4b57ce447e Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 17 09:20:28 2009 +0000 Revert 89011. Buildbot thinks it might be breaking stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89076 91177308-0d34-0410-b5e6-96231b3b80d8 commit 58e64e179fc32f88dc3b1b447c6a2225ed22e55f Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Nov 17 09:17:08 2009 +0000 Remove VISIBILITY_HIDDEN from the classes in this directory. Fixes bug 5507. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89075 91177308-0d34-0410-b5e6-96231b3b80d8 commit 26459c2bf024b2a7dc92ab376679ebc4abf47e61 Author: Duncan Sands <baldrick@free.fr> Date: Tue Nov 17 08:34:52 2009 +0000 Following a suggestion of Daniel Dunbar, stop people passing the name as the isSigned bool to CreateIntCast by having this resolve to a call to a private method, rather than by using a gcc attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89067 91177308-0d34-0410-b5e6-96231b3b80d8 commit ee68f45fe77ad7ce3079eb9e8222075dee099f08 Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Nov 17 08:11:44 2009 +0000 Revert r88939. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89066 91177308-0d34-0410-b5e6-96231b3b80d8 commit 928d16d438165dc6459fdde2365d36e64642ed1e Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Nov 17 07:52:09 2009 +0000 Fail less mysteriously; inform the user that their LLVM was not built with libffi support and that the interpreter can't call external functions without it. Patch by Timo Juhani Lindfors! Fixes PR5466. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89062 91177308-0d34-0410-b5e6-96231b3b80d8 commit d06c8c5777c8bda4fac5bebc55324fe5fd7bc6dd Author: Lang Hames <lhames@gmail.com> Date: Tue Nov 17 07:19:50 2009 +0000 Fixed call to wrong constructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89059 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6171d2bb7ed78f04b91d05998ceef80c86fdbedd Author: Owen Anderson <resistor@mac.com> Date: Tue Nov 17 07:06:10 2009 +0000 Fix a race condition in the Timer class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89056 91177308-0d34-0410-b5e6-96231b3b80d8 commit a9cc7bfa480cba73c84b03353fd134735d8021d4 Author: Bill Wendling <isanbard@gmail.com> Date: Tue Nov 17 01:23:53 2009 +0000 Refactor the code that creates the "dot-label" difference. This may be used in more than one place. No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89024 91177308-0d34-0410-b5e6-96231b3b80d8 commit bd75ded296f631b4b59f5461340de1e1a2beae01 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Nov 17 01:21:04 2009 +0000 When moving a block for table jumps, make sure the prior block terminator is analyzable so it can be updated. If it's not, be safe and don't move the block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89022 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3bf51602527c76684b69fb21070cdd4ba50edec3 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Tue Nov 17 01:07:22 2009 +0000 Enable -split-phi-edges by default git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89021 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c1a4c55964f71831f36162320b421ebb82ec56f Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 17 00:55:55 2009 +0000 MOV64rm should be marked isReMaterializable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89019 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7f9c46ffbb2f96175858d78814fa52a3416ee81e Author: Dan Gohman <gohman@apple.com> Date: Tue Nov 17 00:47:23 2009 +0000 Remove the optimizations that convert BRCOND and BR_CC into unconditional branches or fallthroghes. Instcombine/SimplifyCFG should be simplifying branches with known conditions. This fixes some problems caused by these transformations not updating the MachineBasicBlock CFG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89017 91177308-0d34-0410-b5e6-96231b3b80d8 commit dadd6cd96d573649490516c5840139af923d9176 Author: Devang Patel <dpatel@apple.com> Date: Tue Nov 17 00:47:06 2009 +0000 Remove debug info attached with an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89016 91177308-0d34-0410-b5e6-96231b3b80d8 commit e4e00b81b5a07e01722211f03b31a5941d4d731e Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Nov 17 00:43:13 2009 +0000 In GlobalVariable::setInitializer, assert that the initializer has the right type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89014 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1fb3d35636d3bf4700533a22ab2a13f2b98fc9d2 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 17 00:23:22 2009 +0000 A few more instructions that should be marked re-materializable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89011 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5df3462936ef55f159ad4cdc28ddaac77790b862 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Nov 17 00:20:26 2009 +0000 Convert to FileCheck git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89007 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2effb21501a21f1213986797396be850fa3da2eb Author: Jim Grosbach <grosbach@apple.com> Date: Tue Nov 17 00:03:38 2009 +0000 Convert to FileCheck git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89002 91177308-0d34-0410-b5e6-96231b3b80d8 commit a5e2ab84cce52357c4b51c35b25cf9b840883a4f Author: Jim Grosbach <grosbach@apple.com> Date: Tue Nov 17 00:00:33 2009 +0000 Cleanup. Missed removing these when converting. Oops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89001 91177308-0d34-0410-b5e6-96231b3b80d8 commit ff43a627bcc5f09f467393f4041d8969efe87949 Author: Johnny Chen <johnny.chen@apple.com> Date: Mon Nov 16 23:57:56 2009 +0000 Set Rm bits of BX_RET to 0b1110 (R14); and set condition code bits of BRIND to 0b1110 (ALways). This is so that the disassembler decoder can distinguish among BX_RET, BRIND, and BXr9. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89000 91177308-0d34-0410-b5e6-96231b3b80d8 commit a7cbdd85b600e9c24be78eb84de633055226f0dc Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 16 23:49:55 2009 +0000 Fix this test - there don't appear to be any actual Reload Reuses in this testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88998 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2d5efd2014e22fb4cf39f54d1832e352a3b585ab Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 16 23:43:42 2009 +0000 Revert r87049, which was the workaround for the regression triggered by the recent FixedStackPseudoSourceValue-related changes, now that the specific bug that affected it is fixed, in r88954. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88997 91177308-0d34-0410-b5e6-96231b3b80d8 commit d99c0dfeddad8a81ef891c6bdd51ad5032fb4418 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Mon Nov 16 23:32:30 2009 +0000 Revert the test from r88984. It relies on being able to mmap 16GB of address space (though it only uses a small fraction of that), and the buildbots disallow that. Also add a comment to the Makefile's ulimit line warning future developers that changing it won't work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88994 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ead0f2d62cb30219483230c810f5ad05678ff5d Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 16 23:19:29 2009 +0000 Convert to FileCheck git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88991 91177308-0d34-0410-b5e6-96231b3b80d8 commit 16330ea4da1a4eba625c735d6247450b4afe56cd Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 16 22:49:38 2009 +0000 Initialize the new AsmPrinterFlags field to 0, fixing uses of uninitialized memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88985 91177308-0d34-0410-b5e6-96231b3b80d8 commit e233d8a0c6e61da9468080079d7b840a9ee05a72 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Mon Nov 16 22:41:33 2009 +0000 Make X86-64 in the Large model always emit 64-bit calls. The large code model is documented at http://www.x86-64.org/documentation/abi.pdf and says that calls should assume their target doesn't live within the 32-bit pc-relative offset that fits in the call instruction. To do this, we turn off the global-address->target-global-address conversion in X86TargetLowering::LowerCall(). The first attempt at this broke the lazy JIT because it can separate the movabs(imm->reg) from the actual call instruction. The lazy JIT receives the address of the movabs as a relocation and needs to record the return address from the call; and then when that call happens, it needs to patch the movabs with the newly-compiled target. We could thread the call instruction into the relocation and record the movabs<->call mapping explicitly, but that seems to require at least as much new complication in the code generator as this change. To fix this, we make lazy functions _always_ go through a call stub. You'd think we'd only have to force lazy calls through a stub on difficult platforms, but that turns out to break indirect calls through a function pointer. The right fix for that is to distinguish between calls and address-of operations on uncompiled functions, but that's complex enough to leave for someone else to do. Another attempt at this defined a new CALL64i pseudo-instruction, which expanded to a 2-instruction sequence in the assembly output and was special-cased in the X86CodeEmitter's emitInstruction() function. That broke indirect calls in the same way as above. This patch also removes a hack forcing Darwin to the small code model. Without far-call-stubs, the small code model requires things of the JITMemoryManager that the DefaultJITMemoryManager can't provide. Thanks to echristo for lots of testing! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88984 91177308-0d34-0410-b5e6-96231b3b80d8 commit c577b71a6d398d64f3fdc51ffc607ea2882f2cb5 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Nov 16 22:38:00 2009 +0000 Don't build examples by default, use BUILD_EXAMPLES=1 to build them. The only utility of this is testing that we keep the examples up to date, I will just make the buildbots run with this flag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88979 91177308-0d34-0410-b5e6-96231b3b80d8 commit dbe77e5158a4729643feac6871dadd08e3f1c4b4 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Nov 16 22:37:52 2009 +0000 Add "Unoptimized" build (NO_DEBUG_SYMBOLS=1 ENABLE_OPTIMIZED=1), for reducing disk space, and increasing battery lifetime. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88978 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7c5bade5afd43e2fefe0287dd19d4874f2eac704 Author: Eric Christopher <echristo@apple.com> Date: Mon Nov 16 22:34:32 2009 +0000 Fix unused variables warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88977 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9d7cd4ecfc39fc323edaf91e1c17d04feec6b728 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Nov 16 21:56:03 2009 +0000 - Check memoperand alignment instead of checking stack alignment. Most load / store folding instructions are not referencing spill stack slots. - Mark MOVUPSrm re-materializable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88974 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4cb32c36830adc6833d7e459e3a8a9f784e235bb Author: Devang Patel <dpatel@apple.com> Date: Mon Nov 16 21:53:40 2009 +0000 Revert r88939. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88973 91177308-0d34-0410-b5e6-96231b3b80d8 commit b736b5dd0a3cfd23ad96365beac5bf918805f850 Author: David Greene <greened@obbligato.org> Date: Mon Nov 16 21:52:23 2009 +0000 Fix an expensive-checks error. The Mask and LHSMask may not be of the same size, so don't do the transformation if they're different. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88972 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7fcb07aa007c643df80ffaac78ed860fe7c0ceea Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 16 21:13:22 2009 +0000 Make the pass class name more explicit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88964 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6b4b40736acfba22d0befa1badf2b3f851e53c13 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 16 21:03:58 2009 +0000 make pass name a bit more clear git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88961 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca78b6fa4a7a87aa8823ecf8d97fbb3f6f7730ac Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 16 20:45:50 2009 +0000 Revert 88957. This file uses CodeGenOpt, which is defined in TargetMachine.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88959 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5cd155b41f86ccb3019fde539d43798a4019c3b6 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 16 20:41:12 2009 +0000 Remove an unnecessary #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88957 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8450a9090b38c0faf1401326dd7ec95358e995cc Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 16 20:40:47 2009 +0000 Sink a #include <map> to where it's actually needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88956 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8a50988004d9f2614faf8f8de30c7f2f71bffb09 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 16 20:40:06 2009 +0000 Make PseudoSourceValue's classof recognize FixedStackPseudoSourceValueVal, to respect this isa relationship. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88954 91177308-0d34-0410-b5e6-96231b3b80d8 commit 57d7aeffb1f29269aefed5240d6637436676184b Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 16 20:35:59 2009 +0000 Fix a typo in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88953 91177308-0d34-0410-b5e6-96231b3b80d8 commit 073faa1a39a976617625078b326a004ac2592b97 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 16 20:04:15 2009 +0000 Convert to FileCheck git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88947 91177308-0d34-0410-b5e6-96231b3b80d8 commit ae9735e748d6b5095d87744f28b337fb44d4872f Author: Lang Hames <lhames@gmail.com> Date: Mon Nov 16 20:03:13 2009 +0000 Added a testcase for PR5495. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88946 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3890bf0cfe614495230a3f3c0aac3a9278f0d844 Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Mon Nov 16 19:46:55 2009 +0000 Add configure options for specifying where to look for libstdc++. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88943 91177308-0d34-0410-b5e6-96231b3b80d8 commit fcfac37c9ca325ddd39c82eee1b80133328b9544 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 16 19:46:46 2009 +0000 Convert to FileCheck git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88942 91177308-0d34-0410-b5e6-96231b3b80d8 commit dceacb2a529c2bcdfd59ed0585684dff24c9054b Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Nov 16 19:33:27 2009 +0000 Fix a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88940 91177308-0d34-0410-b5e6-96231b3b80d8 commit ac402d8db30d059030a6410a5dbc7bef59c3fa32 Author: Devang Patel <dpatel@apple.com> Date: Mon Nov 16 19:20:48 2009 +0000 Add VISIBILITY_HIDDEN marker. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88939 91177308-0d34-0410-b5e6-96231b3b80d8 commit 896373b0146c9a789b003bb7a15618747db484bb Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 16 18:58:52 2009 +0000 Simplify thumb2 jump table adjustments. Remove unnecessary calculation and usage of block sizes and offsets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88935 91177308-0d34-0410-b5e6-96231b3b80d8 commit 98f9f85767a7837d985e0dc421ea825f14469378 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 16 18:55:47 2009 +0000 clarify comment git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88933 91177308-0d34-0410-b5e6-96231b3b80d8 commit f4ae3216ba93bd253044cdcbfa7e7645677de6d7 Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Nov 16 18:54:08 2009 +0000 Fix some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88932 91177308-0d34-0410-b5e6-96231b3b80d8 commit c81c2552bd5410dee67cbf3cb220fbac2ed3c2ac Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Nov 16 18:08:46 2009 +0000 Whitespace: be consistent with pointer syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88929 91177308-0d34-0410-b5e6-96231b3b80d8 commit d904455c24c3f96288e950109730e5f3c6e6009f Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Nov 16 17:56:13 2009 +0000 Clean up whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88927 91177308-0d34-0410-b5e6-96231b3b80d8 commit d1225c9a6179c4429b4eb7d937ee40dedf39d3de Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 16 17:24:45 2009 +0000 tbb opt off by default git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88921 91177308-0d34-0410-b5e6-96231b3b80d8 commit fad80ae623fc6897ea32966208814e9a4c70802e Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 16 17:17:48 2009 +0000 back off for a bit. tracking down weirdness git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88919 91177308-0d34-0410-b5e6-96231b3b80d8 commit 313cc22c734cfef8794dbfaf8a4ac9040a5cd9f6 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 16 17:10:56 2009 +0000 Analyze has to be before checking the condition, obviously. Properly construct an iterator for prior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88917 91177308-0d34-0410-b5e6-96231b3b80d8 commit d826aa969474c97c8522d440d82cfc0710f9ae2c Author: Douglas Gregor <doug.gregor@gmail.com> Date: Mon Nov 16 16:56:48 2009 +0000 Make ERROR_IF_USED macro work with GCC <= 4.2, Apple GCCs git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88916 91177308-0d34-0410-b5e6-96231b3b80d8 commit a07e9ea3a1a0136632007d2cf93b70e3ebb4dc97 Author: Duncan Sands <baldrick@free.fr> Date: Mon Nov 16 15:28:17 2009 +0000 Make sure that if anyone passes a name by accident for the isSigned parameter of CreateIntCast then they get an error from the compiler (or from the linker with a non-gcc compiler). Another possibility is to flip the order of the DestTy and isSigned parameters, since you should then get a compiler warning if you try to use a char* for a Type*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88913 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2e7b993b008be1bcca4cec4803092d876b21595a Author: David Greene <greened@obbligato.org> Date: Mon Nov 16 15:12:23 2009 +0000 Support spill comments. Have the asm printer emit a comment if an instruction is a spill or reload and have the spiller mark copies it introdues so the asm printer can also annotate those. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88911 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6ac7ca342ff2b023d6521c6b9a90a883b7947e21 Author: Duncan Sands <baldrick@free.fr> Date: Mon Nov 16 13:15:28 2009 +0000 BuildIntCast takes an additional parameter, isSigned. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88910 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9a0789a0d7e1648791c921e87abae3012969fbf4 Author: Duncan Sands <baldrick@free.fr> Date: Mon Nov 16 12:32:28 2009 +0000 CreateIntCast takes an "isSigned" parameter. Pass "true" for it, rather than a name. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88908 91177308-0d34-0410-b5e6-96231b3b80d8 commit 871746fa4d93eed8573c219360241a4f1841f5a2 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Nov 16 07:10:36 2009 +0000 Special case FixedStackPseudoSourceValueVal as well. Do we really need to differentiate PseudoSourceValueVal from FixedStackPseudoSourceValueVal at this level? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88902 91177308-0d34-0410-b5e6-96231b3b80d8 commit edf605d92d7e3529548911797e93397b81d1489e Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Nov 16 06:31:49 2009 +0000 Check if subreg index is zero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88899 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8a4ccce190f441cf2a178dbe4b74abdbf92221fa Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Nov 16 05:52:06 2009 +0000 For some targets, a copy can use a register multiple times, e.g. ppc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88895 91177308-0d34-0410-b5e6-96231b3b80d8 commit aedc2e9d64b536d329cd406cc1d6551cce9b70fe Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Nov 16 05:44:04 2009 +0000 xfail for now. It has been failing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88892 91177308-0d34-0410-b5e6-96231b3b80d8 commit b3d4e5e6d5b0b8d857c111166e3d0defd860d437 Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Mon Nov 16 04:35:29 2009 +0000 Disable ldc1/sdc1 instructions for mips1 targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88887 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5ad52d038d3d31c43455d4a072678736bdfdc5f4 Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Mon Nov 16 04:33:42 2009 +0000 - Fix a small bug while handling target constant pools (one param was missing). - Add a smarter constant pool loading, instead of: lui $2, %hi($CPI1_0) addiu $2, $2, %lo($CPI1_0) lwc1 $f0, 0($2) Generate: lui $2, %hi($CPI1_0) lwc1 $f0, %lo($CPI1_0)($2) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88886 91177308-0d34-0410-b5e6-96231b3b80d8 commit 00c4cadea398906831e85a9444a2803c7483661d Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 16 03:51:42 2009 +0000 typo spotted by duncan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88884 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8d0591c3acd4208faff96f90ddfba096e6c20dc3 Author: Lang Hames <lhames@gmail.com> Date: Mon Nov 16 02:07:31 2009 +0000 Fixes the bug exposed by Anton's test case in PR 5495: Make sure when ProcessImplicitDefs removes a copy which kills its source reg that it removes the copy from said reg's Kills list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88881 91177308-0d34-0410-b5e6-96231b3b80d8 commit 248a854e1e7ba8c2ab6595e24948dabed45c280e Author: Lang Hames <lhames@gmail.com> Date: Mon Nov 16 02:00:09 2009 +0000 Fix for the original bug in PR5495 - Look at uses as well as defs when determining the PHI-copy insert point. - Patch by Andrew Canis! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88880 91177308-0d34-0410-b5e6-96231b3b80d8 commit 860fb5bb3ded49293473d043b5206742c14b3476 Author: Jim Grosbach <grosbach@apple.com> Date: Sun Nov 15 21:45:34 2009 +0000 Detect need for autoalignment of the stack earlier to catch spills more conservatively. eliminateFrameIndex() machinery adjust to handle addr mode 6 (vld1/vst1) used for spills. Fix tests to expect aligned Q-reg spilling git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88874 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4b93798c0fd881d607fba728f7c138f8def59315 Author: Jim Grosbach <grosbach@apple.com> Date: Sun Nov 15 21:05:07 2009 +0000 set the def of the VLD1q64 properly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88873 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0c7aff7f75b0277e755005715910cc54058ee8e2 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 15 20:03:53 2009 +0000 disable copying, enforce some invariants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88870 91177308-0d34-0410-b5e6-96231b3b80d8 commit c7178235fa11abb93ec377646da59cd105b97793 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 15 20:02:12 2009 +0000 teach LVI to infer edge information from switch instructions. This allows JT to eliminate a ton of infeasible edges when handling code like the templates in PatternMatch.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88869 91177308-0d34-0410-b5e6-96231b3b80d8 commit 37d31f5b76f2a9175d52c3e05dc032ee142a395e Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 15 20:01:24 2009 +0000 fix a logic error that would cause LVI-JT to miscompile some conditionals git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88868 91177308-0d34-0410-b5e6-96231b3b80d8 commit 84c81704932e9a6ec43dccd9f7337ddf9b586f2a Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 15 20:00:52 2009 +0000 implement the first stab at caching queries. This isn't correct (because the invalidation logic is missing) but LVI isn't enabled by default anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88867 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56b7f9e99d3085fbe9f56f000c3b8cb8c0d71e8f Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 15 19:59:49 2009 +0000 refactor a bunch of code forming the new LazyValueInfoCache and LVIQuery classes, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88866 91177308-0d34-0410-b5e6-96231b3b80d8 commit c3e3a5da45bad95d74336408f3bcbf0ef5dfb801 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 15 19:58:31 2009 +0000 make PRE of loads preserve the alignment of the moved load instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88865 91177308-0d34-0410-b5e6-96231b3b80d8 commit de8ec70490a2344987913332ad11618bb6eb463e Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 15 19:57:43 2009 +0000 fix a bug handling 'not x' when x is undef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88864 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8483451fe05bf3308c3fc1f171f1d95a09e79cec Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 15 19:56:28 2009 +0000 mark getIntrinsicID() 'readonly'. This allows various classof methods (like DbgDeclareInst's) to shrink substantially. It sucks that we have to pull Compiler.h into such a public header, but at least Compiler.h doesn't pull anything else in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88863 91177308-0d34-0410-b5e6-96231b3b80d8 commit a50e9237b7d8cdeace748653d7f96b9899fe22b7 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 15 19:54:31 2009 +0000 add attributes for readnone/readonly functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88862 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3ecb882db35446d5ee649d4d75b5e2de542c8c40 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 15 19:52:43 2009 +0000 add a version of array_pod_sort that takes a custom comparator function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88861 91177308-0d34-0410-b5e6-96231b3b80d8 commit 78799101733621457222fe31d32291664e8aa350 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Nov 15 17:51:23 2009 +0000 Add a complex missed optimization opportunity I came across while investigating bug 5438. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88855 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0e3a24525cce403014d8bf531017cf632f6a1a06 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Sun Nov 15 10:18:17 2009 +0000 Add PSP OS Target to Triple, Credit to Bruno Cardoso Lopes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88849 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4d0c998ab9affd1d2fd66fa94726b3d171ab0303 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 15 08:10:29 2009 +0000 lit: Factor a new OneCommandPerFileTest out of SyntaxCheckTest. - Used for running a single fixed command on a directory of files, with the option of deriving a temporary input file from the test source. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88844 91177308-0d34-0410-b5e6-96231b3b80d8 commit eb7d651805dd1b62eaea656e570ba8da682b8ca1 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Nov 15 07:47:32 2009 +0000 Revert r88830 and r88831 which appear to have caused a selfhost buildbot some grief. I suspect this patch merely exposed a bug else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88841 91177308-0d34-0410-b5e6-96231b3b80d8 commit d71aeb7ade8a57594e422b669b689a9b7e402ed0 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 15 07:22:58 2009 +0000 Remove duplicate implementation of excludes functionality, and support excluding dirnames. Also, add support for the 'unsupported' config property. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88838 91177308-0d34-0410-b5e6-96231b3b80d8 commit e0410a11814d5923395775f889a11b11405dd8f1 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Nov 15 06:16:57 2009 +0000 Correct typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88831 91177308-0d34-0410-b5e6-96231b3b80d8 commit d8e3063c9c13bad8152942da6c362db2180fb6a0 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Nov 15 05:55:17 2009 +0000 Teach instcombine to look for booleans in wider integers when it encounters a zext(icmp). It may be able to optimize that away. This fixes one of the cases in PR5438. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88830 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed6d6e7ec31ebd4b2a7cf8117082bd4395e6bd91 Author: Lang Hames <lhames@gmail.com> Date: Sun Nov 15 04:39:51 2009 +0000 Added an assert to the PBQP allocator to catch infinite cost solutions which might otherwise lead to miscompilations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88829 91177308-0d34-0410-b5e6-96231b3b80d8 commit e22eb6b2ec6cb14f8fd750ca0582bb5788da783a Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 15 01:02:09 2009 +0000 lit: Add --repeat=N option, for running each test N times. - Currently just useful for timing, although it could be extended as one (bad) way to deal with flaky tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88827 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9fa13439112fd8cec6b2a3ad6b642664e5922068 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Nov 14 22:04:42 2009 +0000 Remove bogus corei7 and atom entries, the family was incorrect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88818 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4823e959d80382898b5dcfb7a67f75ec56781516 Author: Jim Grosbach <grosbach@apple.com> Date: Sat Nov 14 21:57:35 2009 +0000 remove xfail git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88817 91177308-0d34-0410-b5e6-96231b3b80d8 commit b8ed2bb105e79bbc6f3347fb2f513127d1abedc7 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Nov 14 21:36:19 2009 +0000 Fill out X86 table, although we are missing lots of names for things. We now properly detect my Xeon box though. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88814 91177308-0d34-0410-b5e6-96231b3b80d8 commit d31559cc26ed09e6ea8b7a77d59fa343d9f92795 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Nov 14 21:36:07 2009 +0000 Report the detected host CPU in --version. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88813 91177308-0d34-0410-b5e6-96231b3b80d8 commit b4b383b2502314ea3868c5646d201ba463974752 Author: Jim Grosbach <grosbach@apple.com> Date: Sat Nov 14 21:33:37 2009 +0000 cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88812 91177308-0d34-0410-b5e6-96231b3b80d8 commit 37957d5ea068c53cda4586c3391a66b355cadddf Author: Jim Grosbach <grosbach@apple.com> Date: Sat Nov 14 20:15:03 2009 +0000 Do not merge jump tables this early. Branch folding will do any necessary merges, and until then, it's useful to keep the tables separate for ease of manipulation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88806 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1b8810510f177de84116be20460126c81b4e2575 Author: Jim Grosbach <grosbach@apple.com> Date: Sat Nov 14 20:10:18 2009 +0000 Cleanup flow, and only update the jump table we're analyzing when replacing a destination MBB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88805 91177308-0d34-0410-b5e6-96231b3b80d8 commit 47387c55bcb1613a65de19780f7fe900253f3c6d Author: Jim Grosbach <grosbach@apple.com> Date: Sat Nov 14 20:09:13 2009 +0000 Add function to replace a destination MBB in a single jump table git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88804 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c53a0c29398ff20c94d466093405662b50bad47 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sat Nov 14 19:51:20 2009 +0000 Remove dead variable found by clang++. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88803 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca574ca06afe9019e0a955b4ebd8555fc3622357 Author: Richard Osborne <richard@xmos.com> Date: Sat Nov 14 19:33:35 2009 +0000 Add XCore support for arbitrary-sized aggregate returns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88802 91177308-0d34-0410-b5e6-96231b3b80d8 commit c28999496ea409dae005b6278b5730b6e421d552 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sat Nov 14 18:01:41 2009 +0000 Temporary disable the error - it seems to be too conservative. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88800 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0f5690b2a5307bf3ca135f41ca2a42123026d12e Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sat Nov 14 16:37:18 2009 +0000 Implement DISABLE_INLINE for MSVC. This required changing the position in all forward declaration and patching tblgen to emit it right. Patch by Amine Khaldi! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88798 91177308-0d34-0410-b5e6-96231b3b80d8 commit 653ec44e67895e6a844808a07cf98bfcecf46da4 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sat Nov 14 15:15:39 2009 +0000 This test doesn't work on arm either. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88794 91177308-0d34-0410-b5e6-96231b3b80d8 commit f0bb845e635bd183b9526dff7a60f5c8edfd3392 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sat Nov 14 14:14:58 2009 +0000 Make NORETURN working with MSVC. MSVC only accepts NORETURN in front of the decl so move it there. GCC accepts it both in front and after decls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88791 91177308-0d34-0410-b5e6-96231b3b80d8 commit 91c44416fdc2fb7eb5969bd011fcb35862f19125 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Nov 14 10:09:12 2009 +0000 Add llvm::sys::getHostCPUName, for detecting the LLVM name for the host CPU. - This is an initial step towards -march=native support in Clang, and towards eliminating host dependencies in the targets. See PR5389. - Patch by Roman Divacky! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88768 91177308-0d34-0410-b5e6-96231b3b80d8 commit 216b9ea902b6a96fa246f8212aa63df272c832b9 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Nov 14 07:25:54 2009 +0000 Remove LLVMContext from reassociate. It was threaded through every function but ultimately never used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88763 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5461b52004980be0ec9abac2199abb4371dcfb3f Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Sat Nov 14 07:22:25 2009 +0000 revert 88761 as it fails builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88762 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8bd6558bac94a6e57c6ccb051feed72d7124470a Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Sat Nov 14 06:19:49 2009 +0000 Fix debug info crashes for PIC16. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88761 91177308-0d34-0410-b5e6-96231b3b80d8 commit b341c078583a302c2a8c8b99fe41d1cb9ee38e5b Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Nov 14 06:15:14 2009 +0000 Teach BasicAA that a constant expression can't alias memory provably not allocated until runtime (such as an alloca). Patch by Hans Wennborg! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88760 91177308-0d34-0410-b5e6-96231b3b80d8 commit f177bd4187684d81daae0889083f1a17dbea9616 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Nov 14 03:42:17 2009 +0000 Added getSubRegIndex(A,B) that returns subreg index of A to B. Use it to replace broken code in VirtRegRewriter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88753 91177308-0d34-0410-b5e6-96231b3b80d8 commit a88d1acbaefb5416a147dcdd2199bb43ab70983d Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Nov 14 02:55:43 2009 +0000 - Change TargetInstrInfo::reMaterialize to pass in TargetRegisterInfo. - If destination is a physical register and it has a subreg index, use the sub-register instead. This fixes PR5423. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88745 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8d2665eb0e8faf17ba618c946f542c6d9c35e4a Author: Dan Gohman <gohman@apple.com> Date: Sat Nov 14 02:27:51 2009 +0000 Add an option for running GVN with redundant load processing disabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88742 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1196b1407d835a21fc3b9181c821822b4602ef04 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Nov 14 02:11:32 2009 +0000 Add radar number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88739 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5da2b872edfc21b7483158f064a9f98636302c78 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Nov 14 02:09:09 2009 +0000 Fix PR5412: Fix an inverted check and another missing sub-register check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88738 91177308-0d34-0410-b5e6-96231b3b80d8 commit c0c961121927e428d6279512dd45c634aafd1593 Author: Dan Gohman <gohman@apple.com> Date: Sat Nov 14 02:06:30 2009 +0000 Enable the tail call optimization when the caller returns undef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88737 91177308-0d34-0410-b5e6-96231b3b80d8 commit 770b4d6907dab297589a12d3bf89f926c0b400e9 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Nov 14 01:50:00 2009 +0000 When expanding t2STRDi8 r, r to two stores, add kill markers correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88734 91177308-0d34-0410-b5e6-96231b3b80d8 commit 257ed14adea832ee52d55613bd9f8ce3d2a8f43d Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Sat Nov 14 00:38:13 2009 +0000 Fix bug in -split-phi-edges. When splitting an edge after a machine basic block with fall-through, we forgot to insert a jump instruction. Fix this by calling updateTerminator() on the fall-through block when relevant. Also be more precise in PHIElimination::isLiveIn. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88728 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4e3a74162079124f41f7b17b28d8c2e96ce76a16 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Sat Nov 14 00:38:06 2009 +0000 Update MachineDominator information git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88727 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0f1c0cea5912f6b4297d4557b5d13f5d1d39f522 Author: Lang Hames <lhames@gmail.com> Date: Sat Nov 14 00:02:51 2009 +0000 Added an API to the SlotIndexes pass to allow new instructions to be inserted into the numbering. PreAllocSplitting is now using this API to insert code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88725 91177308-0d34-0410-b5e6-96231b3b80d8 commit 02406c496c6b5242eeb2d3d623d0cf50193f30e7 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Nov 13 23:16:41 2009 +0000 Fix PR5411. Bug in UpdateKills. A reg def partially define its super-registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88719 91177308-0d34-0410-b5e6-96231b3b80d8 commit a974c30e47670933e452a2eaa35ecacbcedae572 Author: Eric Christopher <echristo@apple.com> Date: Fri Nov 13 23:08:47 2009 +0000 Remove extraneous commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88716 91177308-0d34-0410-b5e6-96231b3b80d8 commit e9d5a80c80238bf6b3fce6507ba8a9568bc5b093 Author: Eric Christopher <echristo@apple.com> Date: Fri Nov 13 23:00:14 2009 +0000 Print out something, even if it's non-parseable later when we've got ghost linkage. It's better than aborting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88715 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c29f6d0a24c3dada6f50d47f6ccc90293a9840e Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 13 22:24:13 2009 +0000 Move the FixedStackPseudoSourceValueVal enum value before InstructionVal so that isa<Instructon> doesn't return true for FixedStackPseudoSourceValue values. This fixes a variety of problems, including crashes with -debug and -print-machineinstrs. Also, add a comment to warn about this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88711 91177308-0d34-0410-b5e6-96231b3b80d8 commit ee787d256e654edaad2c585042e60c8cfa761fd3 Author: Bill Wendling <isanbard@gmail.com> Date: Fri Nov 13 21:58:54 2009 +0000 Disable the JITTest.NoStubs test for Darwin PPC. It apparently doesn't implement emitFunctionStubAtAddr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88708 91177308-0d34-0410-b5e6-96231b3b80d8 commit abb5622f9edb5b9a82ac2b0b93031a30c5b358e0 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Fri Nov 13 21:56:15 2009 +0000 Fix PHIElimination optimization that uses MBB->getBasicBlock. The BasicBlock associated with a MachineBasicBlock does not necessarily correspond to the code in the MBB. Don't insert a new IR BasicBlock when splitting critical edges. We are not supposed to modify the IR during codegen, and we should be able to do just fine with a NULL BB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88707 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9fea16565f83b155fcd7edc5faa8ef7b1a7dfea1 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Fri Nov 13 21:56:09 2009 +0000 Add MachineFunction::verify() to call the machine code verifier directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88706 91177308-0d34-0410-b5e6-96231b3b80d8 commit c43aee1e131787dcea2d7f32494d80583723e92f Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Fri Nov 13 21:56:01 2009 +0000 The instruction pointer %RIP is a reserved register on x86_64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88705 91177308-0d34-0410-b5e6-96231b3b80d8 commit 14b7fce7a45ed35c18811033e25a200a53ad49e1 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Fri Nov 13 21:55:54 2009 +0000 Fix polarity of a CFG check in machine verifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88704 91177308-0d34-0410-b5e6-96231b3b80d8 commit a5d3935ad09cafa5d8fe40f1b65ab398e4e7b0e4 Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 13 21:55:31 2009 +0000 Use .data() instead of .c_str() when nul-termination is not needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88703 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c0334d78ba363c2ab2edb2ac7a9f4b340764f1b Author: Devang Patel <dpatel@apple.com> Date: Fri Nov 13 21:45:04 2009 +0000 Do not use value handle to wrap MDNode in DIDescriptor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88700 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca9b04ba02e321977d03e79a5bbd4c95eb23a0d8 Author: David Greene <greened@obbligato.org> Date: Fri Nov 13 21:34:57 2009 +0000 Move DebugInfo checks into EmitComments and remove them from target-specific AsmPrinters. Not all comments need DebugInfo. Re-enable the line numbers comment test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88697 91177308-0d34-0410-b5e6-96231b3b80d8 commit cd6a8e23207f276f915f20cad9f3905a862df5d9 Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 13 21:02:15 2009 +0000 When optimizing for size, don't tail-merge unless it's likely to be a code-size win, and not when it's only likely to be code-size neutral, such as when only a single instruction would be eliminated and a new branch would be required. This fixes rdar://7392894. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88692 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5cec5f651fae320adef8d66650851fa86587a88d Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Nov 13 20:36:40 2009 +0000 Fix PR5410: LiveVariables lost subreg def: D0<def,dead> = ... ... = S0<use, kill> S0<def> = ... ... D0<def> = The first D0 def is correctly marked dead, however, livevariables should have added an implicit def of S0 or we end up with a use without a def. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88690 91177308-0d34-0410-b5e6-96231b3b80d8 commit e6e30350b685bd4c9eddf4a88cb5dac41ee61eb8 Author: David Goodwin <david_goodwin@apple.com> Date: Fri Nov 13 19:52:48 2009 +0000 Allow target to specify regclass for which antideps will only be broken along the critical path. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88682 91177308-0d34-0410-b5e6-96231b3b80d8 commit e149835a3e9026a8ee4765e81a67d3961e62fc6c Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Fri Nov 13 18:49:59 2009 +0000 Support fp64 immediate zero, this fixes only part of PR5445 because the testcase is triggering one more bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88674 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3510e118fbdf09887c4b804f1eba0cb62a2d3493 Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 13 18:49:38 2009 +0000 Don't let a noalias difference disrupt the tailcall optimization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88672 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9c0d846c1608882657e4adf01703a7bc907baf48 Author: David Greene <greened@obbligato.org> Date: Fri Nov 13 14:42:06 2009 +0000 Remove duplicate APIs and state WRT spill objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87106 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce91e0acd570dd9d2e5ef054cec34e820f1a4f75 Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Fri Nov 13 04:55:09 2009 +0000 Distinguish "a," from "a". The first one splits into "a" + "" and the second one into "a" + 0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87084 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7e78567b46273b04541d5b68e5eb11987b54d8a5 Author: Devang Patel <dpatel@apple.com> Date: Fri Nov 13 02:27:33 2009 +0000 Revert r87059 for now. It is failing clang tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87070 91177308-0d34-0410-b5e6-96231b3b80d8 commit ab9a0687312516700d6aae598e894db4560a48b0 Author: Devang Patel <dpatel@apple.com> Date: Fri Nov 13 02:25:26 2009 +0000 Ignore nameless variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87069 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3d49596b97b7363bb783adb0d02a22e99bc0b48e Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Fri Nov 13 02:18:25 2009 +0000 Switch to smallvector. Also fix issue with using unsigend for MaxSplit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87068 91177308-0d34-0410-b5e6-96231b3b80d8 commit 48fd1e4422178b0f4989d6c06fc8abfb5b9fd12d Author: Dale Johannesen <dalej@apple.com> Date: Fri Nov 13 01:45:18 2009 +0000 Adjust isConstantSplat to allow for big-endian targets. PPC is such a target; make it work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87060 91177308-0d34-0410-b5e6-96231b3b80d8 commit 44b3c3ef7154bcc1a0637b1cf253d14864e96cc3 Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Nov 13 01:44:55 2009 +0000 Remove unnecessary llvm.dbg.declare bitcast git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87059 91177308-0d34-0410-b5e6-96231b3b80d8 commit 76af158707679cc7764fa8b91f1924a0f3976114 Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Fri Nov 13 01:24:40 2009 +0000 Add a new split method to StringRef that puts the substrings in a vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87058 91177308-0d34-0410-b5e6-96231b3b80d8 commit 08ca9519152539cb987a447473da7bffb0ddada1 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Nov 13 01:19:24 2009 +0000 Block renumbering git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87056 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0b6f987c42f5224cbba161d8f8705a2085548515 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Nov 13 01:17:22 2009 +0000 use lower case for readability git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87054 91177308-0d34-0410-b5e6-96231b3b80d8 commit ee41cf2347a7798f9ddde2281e72f34b2cc2e916 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Nov 13 01:01:58 2009 +0000 Update test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87049 91177308-0d34-0410-b5e6-96231b3b80d8 commit 98c70f7c2db8426127d953589a1f3d2490646137 Author: David Greene <greened@obbligato.org> Date: Fri Nov 13 00:29:53 2009 +0000 Fix a bootstrap failure. Provide special isLoadFromStackSlotPostFE and isStoreToStackSlotPostFE interfaces to explicitly request checking for post-frame ptr elimination operands. This uses a heuristic so it isn't reliable for correctness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87047 91177308-0d34-0410-b5e6-96231b3b80d8 commit a5d9ade2f815552c50c991ffed2128f376e00338 Author: Owen Anderson <resistor@mac.com> Date: Thu Nov 12 23:22:41 2009 +0000 Re-enable this code, since redundant PHIs are now being better nuked. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87042 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5b8472da2572659b4ed6b9c4bef4b71ca2d1626f Author: Bill Wendling <isanbard@gmail.com> Date: Thu Nov 12 23:13:08 2009 +0000 Simplify code a bit git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87040 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7354a3e048bb8ca2281d38778368bfbbfb05c2b6 Author: Bill Wendling <isanbard@gmail.com> Date: Thu Nov 12 21:59:20 2009 +0000 Refactor code that checks if it's a call to a "nounwind" function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87036 91177308-0d34-0410-b5e6-96231b3b80d8 commit 17909ebface5a88cea9259ab16689ea4baf7464a Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 12 21:58:18 2009 +0000 use isInstructionTriviallyDead, as pointed out by Duncan git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87035 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9b5fbf226159fc889516396ec979f408a182c136 Author: David Greene <greened@obbligato.org> Date: Thu Nov 12 21:49:55 2009 +0000 Do some cleanups suggested by Chris. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87034 91177308-0d34-0410-b5e6-96231b3b80d8 commit d6cace3a4708a5e41259f53b254a68f2b9e0ca28 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Nov 12 21:26:11 2009 +0000 StringRef(const char*) should not be used to turn null pointers into empty strings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87031 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0fb68ff9424b68ae0d41d9d58372f9075a35b2c1 Author: David Greene <greened@obbligato.org> Date: Thu Nov 12 21:07:54 2009 +0000 Set the ReloadReuse AsmPrinter flag where appropriate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87030 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3e820e14feed174af0008f03ae3adc37add9b445 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Nov 12 21:07:02 2009 +0000 Remove my Value.h build fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87029 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7cf8534ab3c029dc5d792d8e36357c8028278a67 Author: David Greene <greened@obbligato.org> Date: Thu Nov 12 21:04:19 2009 +0000 Fix a build error by providing a missing enum value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87028 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8ba3999a322f98167aab91baf54a4119b1fa518b Author: David Greene <greened@obbligato.org> Date: Thu Nov 12 21:00:03 2009 +0000 Make the MachineFunction argument of getFrameRegister const. This also fixes a build error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87027 91177308-0d34-0410-b5e6-96231b3b80d8 commit 138ae5347fabad22459cd18576e44b630859e389 Author: David Greene <greened@obbligato.org> Date: Thu Nov 12 20:55:29 2009 +0000 Add hasLoadFromStackSlot and hasStoreToStackSlot to return whether a machine instruction loads or stores from/to a stack slot. Unlike isLoadFromStackSlot and isStoreFromStackSlot, the instruction may be something other than a pure load/store (e.g. it may be an arithmetic operation with a memory operand). This helps AsmPrinter determine when to print a spill/reload comment. This is only a hint since we may not be able to figure this out in all cases. As such, it should not be relied upon for correctness. Implement for X86. Return false by default for other architectures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87026 91177308-0d34-0410-b5e6-96231b3b80d8 commit 99182191f2a0ce322f3576a4211d6b6fcaec5a78 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Nov 12 20:53:56 2009 +0000 Attempt to unbreak LLVM build, David G. please check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87025 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3824bc8f0c4ba2970f9100e871692e389351fa55 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Nov 12 20:53:43 2009 +0000 Fix -Asserts warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87024 91177308-0d34-0410-b5e6-96231b3b80d8 commit e32637bcbd717a8233de28566aeaa0b2db1d659b Author: Bill Wendling <isanbard@gmail.com> Date: Thu Nov 12 20:51:53 2009 +0000 If there's more than one function operand to a call instruction, be conservative and don't assume that the call doesn't throw. It would be nice if there were a way to determine which is the callee and which is a parameter. In practice, the architecture we care about normally only have one operand for a call instruction (x86 and arm). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87023 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6424ab9738972c0a9d5f588c59645f85782cf68c Author: David Greene <greened@obbligato.org> Date: Thu Nov 12 20:49:22 2009 +0000 Add a bool flag to StackObjects telling whether they reference spill slots. The AsmPrinter will use this information to determine whether to print a spill/reload comment. Remove default argument values. It's too easy to pass a wrong argument value when multiple arguments have default values. Make everything explicit to trap bugs early. Update all targets to adhere to the new interfaces.. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87022 91177308-0d34-0410-b5e6-96231b3b80d8 commit ea862b03de56f3746e10b93b4aaea3f5c781fd21 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Nov 12 20:36:59 2009 +0000 Add compare_lower and equals_lower methods to StringRef. Switch all users of StringsEqualNoCase (from StringExtras.h) to it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87020 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5b11c7069ffa39e6276b66d9dbf91ecd3844f286 Author: David Greene <greened@obbligato.org> Date: Thu Nov 12 20:25:07 2009 +0000 Make FixedStackPseudoSourceValue a first-class PseudoSourceValue by making it visible to clients and adding LLVM-style cast capability. This will be used by AsmPrinter to determine when to emit spill comments for an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87019 91177308-0d34-0410-b5e6-96231b3b80d8 commit 145fd183554981733e64ccce959b8b4ea9b66ed3 Author: David Greene <greened@obbligato.org> Date: Thu Nov 12 20:21:09 2009 +0000 Add AsmPrinter comment flags to machine instructions so that AsmPrinter can emit extra information in comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87018 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0ea46c5af1b82dc5af51ced679e665d87129c5ba Author: David Greene <greened@obbligato.org> Date: Thu Nov 12 20:13:34 2009 +0000 Add comment flags so AsmPrinter can output additional information when emitting comments. These flags carry semantic information not otherwise easily derivable from the IR text. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87016 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1f708fd24678e7f44057dd08643f78dd1541aa5a Author: David Goodwin <david_goodwin@apple.com> Date: Thu Nov 12 19:08:21 2009 +0000 Rename registers to break output dependencies in addition to anti-dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87015 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4a7ef8dcbe4c986ba7f4267b56d4779567bc91ff Author: Devang Patel <dpatel@apple.com> Date: Thu Nov 12 19:02:56 2009 +0000 "Attach debug info with llvm instructions" mode was enabled a month ago. Now make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87014 91177308-0d34-0410-b5e6-96231b3b80d8 commit 28bc2ec029ce31dc4acc3da2a082c407f8a982ef Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 12 18:36:19 2009 +0000 Mark DBG_LABEL, EH_LABEL, and GC_LABEL as not-duplicable, since they really are not duplicable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87009 91177308-0d34-0410-b5e6-96231b3b80d8 commit c3de6e216c54e25c6275e55797087db22d0da82e Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Nov 12 17:59:45 2009 +0000 Silence a warning on targets with unsigned chars. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@87002 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2b0dd3fed34eb77a58c42aee574e171fe5d983df Author: Jim Grosbach <grosbach@apple.com> Date: Thu Nov 12 17:25:07 2009 +0000 Update TB[BH] layout optimization. Add support for moving the target block to directly follow the jump table. Move the layout changes to prior to any constant island handling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86999 91177308-0d34-0410-b5e6-96231b3b80d8 commit e8ffe253d56acda3d573471d0d97f916ca3f0879 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Nov 12 17:19:09 2009 +0000 Clean up testcase a bit. Simplify case blocks and adjust switch instruction to not take an undefined value as input. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86997 91177308-0d34-0410-b5e6-96231b3b80d8 commit c07cafee23409d04581c2873bcbb58d8f383939a Author: Nuno Lopes <nunoplopes@sapo.pt> Date: Thu Nov 12 15:10:33 2009 +0000 fix crash in my previous patch git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86987 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1e03e8568fcb49eadc7d0baf9640d28fb2e0444f Author: Nuno Lopes <nunoplopes@sapo.pt> Date: Thu Nov 12 14:53:53 2009 +0000 implement shl, ashr, and lshr methods. shl is not fully implemented as it is quite tricky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86986 91177308-0d34-0410-b5e6-96231b3b80d8 commit cbc070fd1e24e88edc865429c356f5f53de020af Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Nov 12 12:35:27 2009 +0000 Fix typo in run line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86984 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9adc091f450070795e2e1f8f83eead54ca000b55 Author: Gabor Greif <ggreif@gmail.com> Date: Thu Nov 12 09:44:17 2009 +0000 typo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86980 91177308-0d34-0410-b5e6-96231b3b80d8 commit 83cd6cbb1c6ad22198d156c6d43b1158eeca4ee8 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 12 07:56:08 2009 +0000 implement a nice little efficiency hack in the inliner. Since we're now running IPSCCP early, and we run functionattrs interlaced with the inliner, we often (particularly for small or noop functions) completely propagate all of the information about a call to its call site in IPSSCP (making a call dead) and functionattrs is smart enough to realize that the function is readonly (because it is interlaced with inliner). To improve compile time and make the inliner threshold more accurate, realize that we don't have to inline dead readonly function calls. Instead, just delete the call. This happens all the time for C++ codes, here are some counters from opt/llvm-ld counting the number of times calls were deleted vs inlined on various apps: Tramp3d opt: 5033 inline - Number of call sites deleted, not inlined 24596 inline - Number of functions inlined llvm-ld: 667 inline - Number of functions deleted because all callers found 699 inline - Number of functions inlined 483.xalancbmk opt: 8096 inline - Number of call sites deleted, not inlined 62528 inline - Number of functions inlined llvm-ld: 217 inline - Number of allocas merged together 2158 inline - Number of functions inlined 471.omnetpp: 331 inline - Number of call sites deleted, not inlined 8981 inline - Number of functions inlined llvm-ld: 171 inline - Number of functions deleted because all callers found 629 inline - Number of functions inlined Deleting a call is much faster than inlining it, and is insensitive to the size of the callee. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86975 91177308-0d34-0410-b5e6-96231b3b80d8 commit cdac8bdcab6df408da67ef9f8a32a6298a8a523c Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Nov 12 07:49:10 2009 +0000 RegScavenger::enterBasicBlock should always reset register state. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86972 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6d70200b12f1e1f28c87f18e8cfcad09490dfb10 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Nov 12 07:35:05 2009 +0000 - Teach LSR to avoid changing cmp iv stride if it will create an immediate that cannot be folded into target cmp instruction. - Avoid a phase ordering issue where early cmp optimization would prevent the later count-to-zero optimization. - Add missing checks which could cause LSR to reuse stride that does not have users. - Fix a bug in count-to-zero optimization code which failed to find the pre-inc iv's phi node. - Remove, tighten, loosen some incorrect checks disable valid transformations. - Quite a bit of code clean up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86969 91177308-0d34-0410-b5e6-96231b3b80d8 commit ae466e3c7583e38941203c6de310f4749ccc529e Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Nov 12 07:16:34 2009 +0000 Use table to separate opcode from operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86965 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3a2ce50346bc55508a38e13d389bcafab7eb4c29 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Nov 12 07:13:11 2009 +0000 isLegalICmpImmediate should take a signed integer; code clean up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86964 91177308-0d34-0410-b5e6-96231b3b80d8 commit a8d851e5c0812d5b3c93b8180b2e85e50411d6b5 Author: Oscar Fuentes <ofv@wanadoo.es> Date: Thu Nov 12 06:48:09 2009 +0000 CMake: Hopefully unbreak the build by mimicking the changes on the other build system about the new C_INCLUDE_DIRS configure option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86960 91177308-0d34-0410-b5e6-96231b3b80d8 commit 354924df7e9bffc35f8eccff8152c678f17a9885 Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Thu Nov 12 05:46:09 2009 +0000 Add the --with-c-include-dirs to llvm's configure. The clang patch is next. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86955 91177308-0d34-0410-b5e6-96231b3b80d8 commit 469f048845803a7e0a71fc315e6962f3978ff466 Author: Oscar Fuentes <ofv@wanadoo.es> Date: Thu Nov 12 05:36:09 2009 +0000 CMake: Pass -lm to check_symbol_exists for detecting several math functions like floorf, ceilf, ... Add test for detecting nearbyintf. This change was prompted by test/Transforms/SimplifyLibCalls/floor.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86954 91177308-0d34-0410-b5e6-96231b3b80d8 commit 670358cf61e1f7b5c6753dc2fc08b336634dac1e Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 12 05:24:05 2009 +0000 use getPredicateOnEdge to fold comparisons through PHI nodes, which implements GCC PR18046. This also gets us 360 more jump threads on 176.gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86953 91177308-0d34-0410-b5e6-96231b3b80d8 commit 45dfc9458f8565fd2e9a3974569e6b37e56fa9f5 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 12 04:57:13 2009 +0000 various fixes to the lattice transfer functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86952 91177308-0d34-0410-b5e6-96231b3b80d8 commit e876ad0cacd6c9809e4924d53a0fa8d2c6d8816e Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 12 04:37:50 2009 +0000 switch jump threading to use getPredicateOnEdge in one place making the new LVI stuff smart enough to subsume some special cases in the old code. Disable them when LVI is around, the testcase still passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86951 91177308-0d34-0410-b5e6-96231b3b80d8 commit 90fedb1f17790459fdbb555fe278f05e39bf1dac Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 12 04:36:58 2009 +0000 Add a new getPredicateOnEdge method which returns more rich information for constant constraints. Improve the LVI lattice to include inequality constraints. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86950 91177308-0d34-0410-b5e6-96231b3b80d8 commit 04e67d0e2a2d7bcde1028998b06990c935dd95b2 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Nov 12 03:55:33 2009 +0000 Move the utility function UpdateTerminator() from CodePlacementOpt() into MachineBasicBlock so other passes can utilize it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86947 91177308-0d34-0410-b5e6-96231b3b80d8 commit f7ecb28b62f3fd1539b294e07c6cf3ab9b61f1bb Author: Jim Grosbach <grosbach@apple.com> Date: Thu Nov 12 03:28:35 2009 +0000 Revert 86857. It's causing consumer-typeset to fail, and there's a better way to do it forthcoming anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86945 91177308-0d34-0410-b5e6-96231b3b80d8 commit ea644f7a484cc773e729614db11a760b62c857db Author: Eric Christopher <echristo@apple.com> Date: Thu Nov 12 03:12:18 2009 +0000 Use stubs when we have them, otherwise use code we already have, otherwise create a stub. Add a test to make sure we don't create extraneous stubs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86941 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1b6922036dab420a5eddf28e887c2e44c6c0f340 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Nov 12 02:52:56 2009 +0000 Add the braces gcc suggested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86933 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7b3a128b658b346c36d5e212922b432dcb5b3dfa Author: Nick Lewycky <nicholas@mxc.ca> Date: Thu Nov 12 02:08:11 2009 +0000 Add CreateNUWAdd and CreateNUWSub to complement the existing CreateNSWAdd and CreateNSWSub functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86930 91177308-0d34-0410-b5e6-96231b3b80d8 commit d74192e646c8d5fa743cc6b120d4cd5aef19e08a Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 12 02:04:17 2009 +0000 should not commit when distracted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86929 91177308-0d34-0410-b5e6-96231b3b80d8 commit b53550dee876b4de5472e30c701034694d0e5d24 Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 12 01:59:26 2009 +0000 Make the BranchFolderPass class local to BranchFolding.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86928 91177308-0d34-0410-b5e6-96231b3b80d8 commit 52ba84cea50c305d9ce2e0371554b246048f2a7b Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 12 01:55:20 2009 +0000 We now thread some impossible condition information with LVI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86927 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7f14744c3d06ad94c6a47e1258e73d724b81a2b6 Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 12 01:51:28 2009 +0000 Minor code cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86926 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9a90e1559353cc51cd1acfa8ba7e34e263ae4cd3 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 12 01:41:34 2009 +0000 with the new code we can thread non-instruction values. This allows us to handle the test10 testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86924 91177308-0d34-0410-b5e6-96231b3b80d8 commit 45404958d705d78cc6068356f8ee293b27b15219 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 12 01:37:43 2009 +0000 this argument can be an arbitrary value, it doesn't need to be an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86923 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2859e1cd581ff16359db8dfa133317715a398fa1 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 12 01:29:10 2009 +0000 expose edge information and switch j-t to use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86920 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2df5c60d9171a173f7bad2e3d53c8c35c85b96d5 Author: Lang Hames <lhames@gmail.com> Date: Thu Nov 12 01:24:08 2009 +0000 Fixed an iteration condition in PreAllocSplitting. This should fix some miscompilations casued by PreAllocSplitting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86919 91177308-0d34-0410-b5e6-96231b3b80d8 commit b5133689def7aab253f03da63975c6b0dbe3169a Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 12 01:22:16 2009 +0000 move some stuff into DEBUG's and turn on lazy-value-info for the basic.ll testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86918 91177308-0d34-0410-b5e6-96231b3b80d8 commit bdd18e596e8433c00b9ba325c9ba623ab7f08004 Author: Eric Christopher <echristo@apple.com> Date: Thu Nov 12 01:06:08 2009 +0000 Fix typo, cleanup whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86917 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5f1c0f3a937b5034b5cbc59b98de5d1208f94313 Author: Devang Patel <dpatel@apple.com> Date: Thu Nov 12 00:50:58 2009 +0000 Do not use StringRef in DebugInfo interface. This allows StringRef to skip controversial if(str) check in constructor. Buildbots, wait for corresponding clang and llvm-gcc FE check-ins! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86914 91177308-0d34-0410-b5e6-96231b3b80d8 commit 08982a392a0eaba71c37087eb53b071aa29b55e8 Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 12 00:39:10 2009 +0000 Tail merge at any size when there are two potentials blocks and one can be made to fall through into the other. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86909 91177308-0d34-0410-b5e6-96231b3b80d8 commit d225fdf94c2b6eeed4f5511a134750cf6970b377 Author: Bill Wendling <isanbard@gmail.com> Date: Wed Nov 11 23:17:02 2009 +0000 Don't mark a call as potentially throwing if the function it's calling has the "nounwind" attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86897 91177308-0d34-0410-b5e6-96231b3b80d8 commit 60ee2143d4989e3a6897c10f998b697bd8a41cf2 Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Wed Nov 11 23:09:33 2009 +0000 A real solution for the first part of PR5445 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86895 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6bc1ebed0e03786c25f380ed0dc397013f17360e Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 11 22:48:44 2009 +0000 make LazyValueInfo actually to some stuff. This isn't very tested but improves strswitch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86889 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2deeebcd534ee7de0ea3cab6bce2dde77dfc59ce Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 11 22:31:38 2009 +0000 pass TD into a SimplifyCmpInst call. Add another case that uses LVI info when -enable-jump-threading-lvi is passed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86886 91177308-0d34-0410-b5e6-96231b3b80d8 commit e7bfb8796a10f92b4749d8c2510437693a8722e7 Author: Dan Gohman <gohman@apple.com> Date: Wed Nov 11 21:57:02 2009 +0000 Promote MergePotentialsElt and SameTailElt to be regular classes instead of typedefs for std::pair. This simplifies the type of SameTails, which previously was std::vector<std::pair<std::vector<std::pair<unsigned, MachineBasicBlock *> >::iterator, MachineBasicBlock::iterator> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86885 91177308-0d34-0410-b5e6-96231b3b80d8 commit cec9c63631255076665e2adec25fc785e6945e34 Author: Kenneth Uildriks <kennethuil@gmail.com> Date: Wed Nov 11 19:59:24 2009 +0000 x86 users can now return arbitrary sized structs. Structs too large to fit in return registers will be returned through a hidden sret parameter introduced during SelectionDAG construction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86876 91177308-0d34-0410-b5e6-96231b3b80d8 commit 36f0ea91aca18d364fde01604ebb6b1de21331b0 Author: Dan Gohman <gohman@apple.com> Date: Wed Nov 11 19:56:05 2009 +0000 Revert this line of 86871. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86875 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1b4d683a5818182cbb69cd3e4b2e7a7585cdefc3 Author: Devang Patel <dpatel@apple.com> Date: Wed Nov 11 19:55:08 2009 +0000 If doesSupportDebugInformation() is false then do not try to emit dwarf debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86874 91177308-0d34-0410-b5e6-96231b3b80d8 commit 47faa8df5d82bb3a11b334b589cf957ebc1e43a5 Author: Dan Gohman <gohman@apple.com> Date: Wed Nov 11 19:49:34 2009 +0000 Check in the changes to this file too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86873 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6638ea7611f1fa8da067372147aa7bbec6d2e562 Author: Dan Gohman <gohman@apple.com> Date: Wed Nov 11 19:48:59 2009 +0000 Add support for tail duplication to BranchFolding, and extend tail merging support to handle more cases. - Recognize several cases where tail merging is beneficial even when the tail size is smaller than the generic threshold. - Make use of MachineInstrDesc::isBarrier to help detect non-fallthrough blocks. - Check for and avoid disrupting fall-through edges in more cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86871 91177308-0d34-0410-b5e6-96231b3b80d8 commit 409558d2c4f941068e3d00eed5e0242ddeb90fba Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Wed Nov 11 19:31:31 2009 +0000 Fix liveness calculation when splitting critical edges during PHI elimination. - Edges are split before any phis are eliminated, so the code is SSA. - Create a proper IR BasicBlock for the split edges. - LiveVariables::addNewBlock now has same syntax as MachineDominatorTree::addNewBlock. Algorithm calculates predecessor live-out set rather than successor live-in set. This feature still causes some miscompilations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86867 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2c86b6b0413e8ddf58ffea4a9917a81835606569 Author: Devang Patel <dpatel@apple.com> Date: Wed Nov 11 19:08:42 2009 +0000 Reenable StackTracke.cpp test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86861 91177308-0d34-0410-b5e6-96231b3b80d8 commit e1ce565254502ef7472b125abc6918bd67fedcc4 Author: Devang Patel <dpatel@apple.com> Date: Wed Nov 11 19:06:06 2009 +0000 Add SetDebugLocation() variant to add debug info location to an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86859 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2621469af6386370b3bf8d41f9a76733b7a4e94b Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Nov 11 19:05:52 2009 +0000 Add TargetLowering::isLegalICmpImmediate. It tells LSR what immediate can be folded into target icmp instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86858 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9c7d61e9f372f1a6daccb4df389520193d58de67 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Nov 11 19:04:24 2009 +0000 Do jump table adjustment before constant island allocation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86857 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0fc27d2431b70c05018c84432f6bbc13ea28cf91 Author: Dan Gohman <gohman@apple.com> Date: Wed Nov 11 18:42:28 2009 +0000 Fix indentation level. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86856 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7a6aa7b82c2ce16ee86ffb5e0ccd3b6007922397 Author: Dan Gohman <gohman@apple.com> Date: Wed Nov 11 18:38:14 2009 +0000 Whitespace cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86855 91177308-0d34-0410-b5e6-96231b3b80d8 commit aa4f4fa4cae85ae252660d03d9af0b4ebe596169 Author: Dan Gohman <gohman@apple.com> Date: Wed Nov 11 18:23:17 2009 +0000 Prefix MBB numbers with "BB#" in debug output to make it clear what the numbers mean. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86854 91177308-0d34-0410-b5e6-96231b3b80d8 commit a0045b0723b852027e2a6cf3fe8a0876a7e06280 Author: Dan Gohman <gohman@apple.com> Date: Wed Nov 11 18:18:34 2009 +0000 Minor code simplification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86853 91177308-0d34-0410-b5e6-96231b3b80d8 commit 333246bfa9cfc484925a0b1487dd316e00a6cf50 Author: Dan Gohman <gohman@apple.com> Date: Wed Nov 11 18:14:02 2009 +0000 Fix a copy+pasto in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86852 91177308-0d34-0410-b5e6-96231b3b80d8 commit 40685553381a0c38ff0c6c79d191f9df5caec623 Author: Dan Gohman <gohman@apple.com> Date: Wed Nov 11 18:11:07 2009 +0000 Set isBarrier = 1 on return instructions, as they are control barriers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86851 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8112b94b215d777db473b38ece871f3f6ed09032 Author: Dan Gohman <gohman@apple.com> Date: Wed Nov 11 18:07:16 2009 +0000 Use a tab in INT3's asm string, for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86850 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4adaab13a9902c5c02c85afc051a6f858e003128 Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 11 17:54:02 2009 +0000 another const prop failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86848 91177308-0d34-0410-b5e6-96231b3b80d8 commit d6b0ee1baa2aeaeaf8334d0c4e2b71ca0872712e Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 11 17:51:27 2009 +0000 add a note git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86847 91177308-0d34-0410-b5e6-96231b3b80d8 commit 16d2fcb1d839722c7f4458425eaa029faba019a2 Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 11 17:37:02 2009 +0000 Reject duplicate case values in a switch, PR5450. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86846 91177308-0d34-0410-b5e6-96231b3b80d8 commit 87825dc679818a7b0a12be3832da6a8ed2358578 Author: Duncan Sands <baldrick@free.fr> Date: Wed Nov 11 15:34:13 2009 +0000 Don't trivially delete unused calls to llvm.invariant.start. This allows llvm.invariant.start to be used without necessarily being paired with a call to llvm.invariant.end. If you run the entire optimization pipeline then such calls are in fact deleted (adce does it), but that's actually a good thing since we probably do want them to be zapped late in the game. There should really be an integration test that checks that the llvm.invariant.start call lasts long enough that all passes that do interesting things with it get to do their stuff before it is deleted. But since no passes do anything interesting with it yet this will have to wait for later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86840 91177308-0d34-0410-b5e6-96231b3b80d8 commit 808b980ce8e153f4718b2b9f5210bd9a1aa03e3b Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Nov 11 07:11:02 2009 +0000 Add nounwind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86814 91177308-0d34-0410-b5e6-96231b3b80d8 commit 124efd4dc3d0638c2eee94d105b5f2a7a58bf80b Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 11 05:56:35 2009 +0000 remove the now dead condprop pass, PR3906. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86810 91177308-0d34-0410-b5e6-96231b3b80d8 commit 223f53f58f5b3de1b341e25802920048751aaf15 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Wed Nov 11 05:30:02 2009 +0000 Fix JITTest.ModuleDeletion in -Asserts mode (which turns off JITEmitDebugInfo by default). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86807 91177308-0d34-0410-b5e6-96231b3b80d8 commit e1c54d796895b812ca506547359d1fe6a07dc62f Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 11 05:25:16 2009 +0000 remove condprop testcases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86804 91177308-0d34-0410-b5e6-96231b3b80d8 commit c731e6c716e7193f0e3e0da2d5622e4e85c24802 Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Nov 11 05:19:11 2009 +0000 Add StringRef::split(StringRef), to complement StringRef::split(char). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86803 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6051856ac7cb0552bf0d1132f37cbb9b65153ae1 Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Wed Nov 11 04:10:24 2009 +0000 Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86802 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8e51aebc45d335f03d31525f2c41130cd6068c9a Author: Sandeep Patel <deeppatel1987@gmail.com> Date: Wed Nov 11 03:23:46 2009 +0000 Show command-line args and features passed into backend in debug output. Approved by Evan Cheng. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86797 91177308-0d34-0410-b5e6-96231b3b80d8 commit 046dc77ed41a73b26064791659fed94e7a7ef86a Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Nov 11 03:10:03 2009 +0000 Add missing run line. Devang, please check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86795 91177308-0d34-0410-b5e6-96231b3b80d8 commit c9f2d2426db8ea833e540eeb26ac3e25f1741e4a Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Nov 11 03:09:50 2009 +0000 Fix -Asserts warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86794 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6ae593cd1381ab2f6aff6eb1309a1a7b5270c8c6 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Nov 11 02:47:19 2009 +0000 The TBB and TBH instructions for Thumb2 are really handy for jump tables, but can only branch forward. To best take advantage of them, we'd like to adjust the basic blocks around a bit when reasonable. This patch puts basics in place to do that, with a super-simple algorithm for backwards jump table targets that creates a new branch after the jump table which branches backwards. Real heuristics for reordering blocks or other modifications rather than inserting branches will follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86791 91177308-0d34-0410-b5e6-96231b3b80d8 commit 42677804895d83660b0ba380227e0ed1dc1b522f Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 11 02:08:33 2009 +0000 stub out some LazyValueInfo interfaces, and have JumpThreading start using them in a trivial way when -enable-jump-threading-lvi is passed. enable-jump-threading-lvi will be my playground for awhile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86789 91177308-0d34-0410-b5e6-96231b3b80d8 commit db541c3878dc672baaef7a0f9fa6894b72b3d67a Author: Bill Wendling <isanbard@gmail.com> Date: Wed Nov 11 01:44:22 2009 +0000 Fix test to work on every platform. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86786 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5198ca6c3aa6c3c4ba06123da6193f856b5e37fa Author: Bill Wendling <isanbard@gmail.com> Date: Wed Nov 11 01:41:32 2009 +0000 Fix test to work on every platform. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86785 91177308-0d34-0410-b5e6-96231b3b80d8 commit 01267264dd298b39aaeacb3e97796c87084cd491 Author: Devang Patel <dpatel@apple.com> Date: Wed Nov 11 01:41:10 2009 +0000 XFAIL for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86784 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6c9df2b8d4ebb458bf3bd6088f0b9be26b2abc86 Author: Bill Wendling <isanbard@gmail.com> Date: Wed Nov 11 01:24:59 2009 +0000 Make sure that the exception handling data has the same visibility as the function it's generated for. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86779 91177308-0d34-0410-b5e6-96231b3b80d8 commit ae1135926a1e4e2e3a7f812fad28b66305b271cc Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Nov 11 00:43:14 2009 +0000 Add Triple::str() which returns the contents of the Triple as a string, as a more readable alternative to getTriple(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86773 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce8986f9627a92ccebb067284b3cf4092d737149 Author: Devang Patel <dpatel@apple.com> Date: Wed Nov 11 00:31:36 2009 +0000 Do not assume first function scope seen represents current function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86771 91177308-0d34-0410-b5e6-96231b3b80d8 commit 609f3f8a0e727ee25be1f4ef17ab81b5db72fa24 Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Nov 11 00:28:53 2009 +0000 Add From arguments to StringRef search functions, and tweak doxyments. Also, add unittests for find_first_of and find_first_not_of. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86770 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7eef4c72249fd13ce9e766fc463efa6c44d25c0c Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Nov 11 00:28:38 2009 +0000 llvm-gcc/clang don't (won't?) need this hack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86769 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1a0948830344dae797979c37dfc904cd932a43be Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 11 00:27:54 2009 +0000 oops, didn't mean to commit this, no harm, but add a todoops, didn't mean to commit this, no harm, but add a todoo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86768 91177308-0d34-0410-b5e6-96231b3b80d8 commit 73c80094c819a5266794496cf39fa4b6a9b39e14 Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 11 00:22:30 2009 +0000 Stub out a new lazy value info pass, which will eventually vend value constraint information to the optimizer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86767 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5a0858228d368aaf25e514c8fbb857c0808c22dc Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 11 00:21:58 2009 +0000 add a fixme git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86766 91177308-0d34-0410-b5e6-96231b3b80d8 commit b0585b20d136dd5ac675f7664dcb84d76c04ec26 Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 11 00:21:21 2009 +0000 remove redundant foward declaration. This function is already in Analysis/Passes.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86765 91177308-0d34-0410-b5e6-96231b3b80d8 commit 53addbf446f848c0f165e5d2cbaca31fff796b36 Author: Devang Patel <dpatel@apple.com> Date: Wed Nov 11 00:18:40 2009 +0000 While creating DbgScopes, do not forget parent scope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86763 91177308-0d34-0410-b5e6-96231b3b80d8 commit b31ea598704a4e5a07fbe3b9d8b2f4b95f713088 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Nov 11 00:00:21 2009 +0000 Block terminator may be a switch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86761 91177308-0d34-0410-b5e6-96231b3b80d8 commit de578195f23510abf1bb3d29994f4835798ee5d2 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 23:54:10 2009 +0000 jump threading does everything that condprop does any more. This passes bootstrap on darwin i386. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86758 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8106001c35356931ca296340ca27253d7c25c51a Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 23:47:45 2009 +0000 add a note git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86756 91177308-0d34-0410-b5e6-96231b3b80d8 commit 759f058d1ef755e2bbfa851797e70a2c90bb93d9 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 23:40:49 2009 +0000 I did this a week or two ago git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86754 91177308-0d34-0410-b5e6-96231b3b80d8 commit bad42264107804ba40844000f12d9e0a23ea563b Author: Devang Patel <dpatel@apple.com> Date: Tue Nov 10 23:20:04 2009 +0000 Ignore variable if scope info is not available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86753 91177308-0d34-0410-b5e6-96231b3b80d8 commit 263c64f826938b1d5cdd747317a66898a1ad7031 Author: Bill Wendling <isanbard@gmail.com> Date: Tue Nov 10 23:18:33 2009 +0000 Test this on Darwin only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86752 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8b8c35b2d8a380c7ce06cce6618bb5875f5c5294 Author: Dale Johannesen <dalej@apple.com> Date: Tue Nov 10 23:16:41 2009 +0000 Emit correct code when making a ConstantPool entry for a vector constant whose component type is not a legal type for the target. (If the target ConstantPool cannot handle this type either, it has an opportunity to merge elements. In practice any target with 8-bit bytes must support i8 *as data*). 7320806 (partial). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86751 91177308-0d34-0410-b5e6-96231b3b80d8 commit 90a0fe3bd6043f897285b967b196f6ab26dfdcae Author: Devang Patel <dpatel@apple.com> Date: Tue Nov 10 23:06:00 2009 +0000 Implement support to debug inlined functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86748 91177308-0d34-0410-b5e6-96231b3b80d8 commit d2df0e391758a9c98d063c8e44c0cf1021383a02 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 22:56:15 2009 +0000 in -dot-cfg and -dot-cfg-only, when rendering switch instructions, put the switch value in the successor boxes like we put T/F for branches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86747 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5df5bb90f8aa6a3f5eab335cf87cdb9f928d6f93 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 22:39:16 2009 +0000 implement a TODO by teaching jump threading about "xor x, 1". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86739 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe96c5f78e17e7562622fe026d641d31f948de1c Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 22:26:15 2009 +0000 move some generally useful functions out of jump threading into libanalysis and transformutils. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86735 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7a94dac821f39910b311b206a4b0f23649c826e2 Author: Dan Gohman <gohman@apple.com> Date: Tue Nov 10 22:16:57 2009 +0000 Don't mark conditional branch instructions as control barriers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86732 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7562d076e99129679edb7037d7a6a840448be217 Author: Bill Wendling <isanbard@gmail.com> Date: Tue Nov 10 22:14:04 2009 +0000 Modify how the prologue encoded the "move" information for the FDE. GCC generates a sequence similar to this: __Z4funci: LFB2: mflr r0 LCFI0: stmw r30,-8(r1) LCFI1: stw r0,8(r1) LCFI2: stwu r1,-80(r1) LCFI3: mr r30,r1 LCFI4: where LCFI3 and LCFI4 are used by the FDE to indicate what the FP, LR, and other things are. We generated something more like this: Leh_func_begin1: mflr r0 stw r31, 20(r1) stw r0, 8(r1) Llabel1: stwu r1, -80(r1) Llabel2: mr r31, r1 Note that we are missing the "mr" instruction. This patch makes it more like the GCC output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86729 91177308-0d34-0410-b5e6-96231b3b80d8 commit e940b1d8d14af6d3006f6fbad95b9ff332469df4 Author: Devang Patel <dpatel@apple.com> Date: Tue Nov 10 22:05:35 2009 +0000 Process InlinedAt location info. Update InsertDeclare to return newly inserted llvm.dbg.declare intrinsic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86727 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1b8b05938fb8d9aacc01f526f010580668e028f5 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 22:02:09 2009 +0000 fix a crash in SCCP handling extractvalue of an array, pointed out and tracked down by Stephan Reiter! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86726 91177308-0d34-0410-b5e6-96231b3b80d8 commit be9cdbf981991737b49e4474701e820bc881cbfd Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Tue Nov 10 22:01:05 2009 +0000 Teach PHIElimination to split critical edges when -split-phi-edges is enabled. Critical edges leading to a PHI node are split when the PHI source variable is live out from the predecessor block. This help the coalescer eliminate more PHI joins. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86725 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4e45f87bcb425c0f18e92f80eac28a2dbc6be555 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Tue Nov 10 22:00:56 2009 +0000 Refactoring: Extract method PHIElimination::isLiveOut(). Clean up some whitespace. No functional changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86724 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c89abd1e17beb5886a27ec0e45615e0d21de7fb Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 21:45:09 2009 +0000 improve comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86723 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7ca174c49440e447ac90ce2cc4c70d950db28cb2 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 21:40:01 2009 +0000 Make jump threading eliminate blocks that just contain phi nodes, debug intrinsics, and an unconditional branch when possible. This reuses the TryToSimplifyUncondBranchFromEmptyBlock function split out of simplifycfg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86722 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8a0ab8392c91e1bae7901cedd6a12ba3aee2a1fd Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 10 21:14:05 2009 +0000 Generalize lsr code that optimize loop to count down towards zero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86715 91177308-0d34-0410-b5e6-96231b3b80d8 commit fc6409ff5b7c36c6e4fb3c3c03c4766554296a57 Author: Dan Gohman <gohman@apple.com> Date: Tue Nov 10 21:02:18 2009 +0000 Optimize test more. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86714 91177308-0d34-0410-b5e6-96231b3b80d8 commit 053fd3c45f72e248641e349197db27d717c2be6e Author: Victor Hernandez <vhernandez@apple.com> Date: Tue Nov 10 19:53:28 2009 +0000 make this handle redefinition of malloc function with different prototype correctly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86712 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4137d7cdf726c8d94ef376603d909b69037a9e91 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 10 19:48:13 2009 +0000 Change Thumb1 address mode printing, instead of [r0, #2 * 4] Now [r0, #8] This makes Thumb2 assembly more uniform and frankly the scale doesn't add much. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86707 91177308-0d34-0410-b5e6-96231b3b80d8 commit 979c7ab12dfb8913593c05cb303b947c5b06d1f8 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 10 19:44:56 2009 +0000 Add a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86706 91177308-0d34-0410-b5e6-96231b3b80d8 commit 260558f8510c33aa746818f43259bcdc74597ebc Author: Duncan Sands <baldrick@free.fr> Date: Tue Nov 10 19:36:40 2009 +0000 Add defensive break. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86705 91177308-0d34-0410-b5e6-96231b3b80d8 commit 95734fc03391268e8791350141b2e4bb4f11bb03 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Nov 10 18:24:37 2009 +0000 Add a monstrous hack to improve X86ISelDAGToDAG compile time. - Force NDEBUG on in any Release build. This drops the compile time to ~100s from ~600s, in Release mode. - This may just be a temporary workaround, I don't know the true nature of the gcc-4.2 compile time performance problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86695 91177308-0d34-0410-b5e6-96231b3b80d8 commit df5999a933bdc33038405dded11d5df3f9dd5ff6 Author: Duncan Sands <baldrick@free.fr> Date: Tue Nov 10 18:21:37 2009 +0000 Fix obvious typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86694 91177308-0d34-0410-b5e6-96231b3b80d8 commit bc5d013abcc18fb77376ed402e24d3b8d22252d6 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 17:00:47 2009 +0000 clarify logic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86689 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7e7b7d7c190786cc8844432d23e0bd0beed8c191 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Tue Nov 10 15:30:33 2009 +0000 CMake: Add Darwin-specific linker flags for building loadable modules git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86684 91177308-0d34-0410-b5e6-96231b3b80d8 commit b73594ca0d4eff2cc6ec0d9a7fa234b0a31a2bdf Author: Duncan Sands <baldrick@free.fr> Date: Tue Nov 10 13:49:50 2009 +0000 Teach DSE to eliminate useless trampolines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86683 91177308-0d34-0410-b5e6-96231b3b80d8 commit ebb5cc581b2298046a670bfd273ffc3d0e47ac0f Author: Duncan Sands <baldrick@free.fr> Date: Tue Nov 10 09:32:10 2009 +0000 Add brackets to make gcc-4.4 happy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86681 91177308-0d34-0410-b5e6-96231b3b80d8 commit bb0ae064da8981a29f17d289d341d6fa981e2976 Author: Duncan Sands <baldrick@free.fr> Date: Tue Nov 10 09:08:09 2009 +0000 Codegen support for the llvm.invariant/lifetime.start/end intrinsics: just throw them away. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86678 91177308-0d34-0410-b5e6-96231b3b80d8 commit 43af76a34cd64afcaf7579be626b0309a6f1cc0d Author: Victor Hernandez <vhernandez@apple.com> Date: Tue Nov 10 08:32:25 2009 +0000 Update computeArraySize() to use ComputeMultiple() to determine the array size associated with a malloc; also extend PerformHeapAllocSRoA() to check if the optimized malloc's arg had its highest bit set, so that it is safe for ComputeMultiple() to look through sext instructions while determining the optimized malloc's array size git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86676 91177308-0d34-0410-b5e6-96231b3b80d8 commit fc57ab9a76f2ed92b1cc169e1feab30b920e6d87 Author: Victor Hernandez <vhernandez@apple.com> Date: Tue Nov 10 08:28:35 2009 +0000 Add ComputeMultiple() analysis function that recursively determines if a Value V is a multiple of unsigned Base git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86675 91177308-0d34-0410-b5e6-96231b3b80d8 commit 34d37223ac5283d3e95010a858ffd905d6e79b36 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 07:44:36 2009 +0000 optimize test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86672 91177308-0d34-0410-b5e6-96231b3b80d8 commit d001109874b60167b56116a54c0a08bf935cd062 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 07:23:37 2009 +0000 unify the code that determines whether it is a good idea to change the type of a computation. This fixes some infinite loops when dealing with TD that has no native types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86670 91177308-0d34-0410-b5e6-96231b3b80d8 commit 754b8dd86b9602a6fd2a01ae824d7f6abc3b8da3 Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Nov 10 07:00:43 2009 +0000 Simplify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86668 91177308-0d34-0410-b5e6-96231b3b80d8 commit f55c62cdb87a0d5bab5dc9a2aff770d6323f5831 Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Nov 10 06:46:40 2009 +0000 Reapply r86359, "Teach dead store elimination that certain intrinsics write to memory just like a store" with bug fixed (partial-overwrite.ll is the regression test). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86667 91177308-0d34-0410-b5e6-96231b3b80d8 commit c006fc03f5592d1eaeef4eb090b0056e2420e9a6 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 05:59:26 2009 +0000 refactor TryToSimplifyUncondBranchFromEmptyBlock out of SimplifyCFG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86666 91177308-0d34-0410-b5e6-96231b3b80d8 commit dc174b18352c1bb89d7871fb4d0de7998472e60f Author: Oscar Fuentes <ofv@wanadoo.es> Date: Tue Nov 10 02:45:37 2009 +0000 CMake: Support for building llvm loadable modules. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86656 91177308-0d34-0410-b5e6-96231b3b80d8 commit 861f9d4ecfe8412da341a88fd38c5e2ba0ac990e Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Nov 10 02:41:27 2009 +0000 lit: Start documentation testing architecture. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86655 91177308-0d34-0410-b5e6-96231b3b80d8 commit de18cd2603d56c4d99ae5f3659bb133ffa1b07c7 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Nov 10 02:41:17 2009 +0000 lit: Add ExampleTests, for testing lit and demonstrating test suite features. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86654 91177308-0d34-0410-b5e6-96231b3b80d8 commit 25869df0693d50591c28c86424341ffc64a2522f Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Nov 10 02:40:21 2009 +0000 lit: Fix bug in --show-suites which accidentally override the list of tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86653 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1700ffa4eaeb0f11cdd6d8ef6537ec0cf08ffc5a Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Tue Nov 10 02:35:13 2009 +0000 Fix PR5445 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86651 91177308-0d34-0410-b5e6-96231b3b80d8 commit 70f4e8f2d2740f7233c85726450a253c806ebfff Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 02:04:54 2009 +0000 I misread the parens, not so redundant after all. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86648 91177308-0d34-0410-b5e6-96231b3b80d8 commit a66ac18f9e84664d748f52a82d350287b6a0b629 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 01:57:31 2009 +0000 make jump threading recursively simplify expressions instead of doing it just one level deep. On the testcase we go from getting this: F1: ; preds = %T2 %F = and i1 true, %cond ; <i1> [#uses=1] br i1 %F, label %X, label %Y to a fully threaded: F1: ; preds = %T2 br label %Y This changes gets us to the point where we're forming (too many) switch instructions on doug's strswitch testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86646 91177308-0d34-0410-b5e6-96231b3b80d8 commit c0e5b0cbed7a7bb83ef652042d1964d263f3c89f Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 01:56:04 2009 +0000 remove some redundant parens. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86645 91177308-0d34-0410-b5e6-96231b3b80d8 commit 42d0954b5c5a3e29f7e010b48f0f47ea83f6d4a5 Author: Oscar Fuentes <ofv@wanadoo.es> Date: Tue Nov 10 01:45:05 2009 +0000 CMake: Remove unnecessary `unset' which was not supported by old cmake releases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86644 91177308-0d34-0410-b5e6-96231b3b80d8 commit 91f5efc47691a931743775b97103f84879d121e5 Author: Dan Gohman <gohman@apple.com> Date: Tue Nov 10 01:37:57 2009 +0000 Remove an unused variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86642 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9b3225207423344cbac9fa367c077055d0cdeaf9 Author: Dan Gohman <gohman@apple.com> Date: Tue Nov 10 01:36:20 2009 +0000 Minor code simplification. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86641 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1439df1156885faa7395fba6671731fa12ef6f31 Author: Dan Gohman <gohman@apple.com> Date: Tue Nov 10 01:33:08 2009 +0000 Trim a bunch of unneeded code from this testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86640 91177308-0d34-0410-b5e6-96231b3b80d8 commit e9b70547cbc08570254283673cfe0873fd8c935f Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 01:19:06 2009 +0000 don't invalidate PN, rewrite of this code is in progress anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86639 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2d8a0bbc8ec438abd9c9daa1387ac7e2fa2255c0 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 01:08:51 2009 +0000 add a new SimplifyInstruction API, which is like ConstantFoldInstruction, except that the result may not be a constant. Switch jump threading to use it so that it gets things like (X & 0) -> 0, which occur when phi preds are deleted and the remaining phi pred was a zero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86637 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8154d2e023fe3137363f8bbc9dae2dff7188dccb Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Nov 10 01:02:17 2009 +0000 Fix DenseMap iterator constness. This patch forbids implicit conversion of DenseMap::const_iterator to DenseMap::iterator which was possible because DenseMapIterator inherited (publicly) from DenseMapConstIterator. Conversion the other way around is now allowed as one may expect. The template DenseMapConstIterator is removed and the template parameter IsConst which specifies whether the iterator is constant is added to DenseMapIterator. Actually IsConst parameter is not necessary since the constness can be determined from KeyT but this is not relevant to the fix and can be addressed later. Patch by Victor Zverovich! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86636 91177308-0d34-0410-b5e6-96231b3b80d8 commit a3e46f6405c5b7c3284325514b8f573e197d9b4a Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 10 00:55:12 2009 +0000 factor simplification logic for AND and OR out to InstSimplify from instcombine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86635 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2a0ca3b82e4e78705e37f2b3d9092bc9767b8306 Author: David Goodwin <david_goodwin@apple.com> Date: Tue Nov 10 00:48:55 2009 +0000 Fixed to address code review. No functional changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86634 91177308-0d34-0410-b5e6-96231b3b80d8 commit 80ab6551aafc61c32f496dcce7531a4621be653b Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Nov 10 00:43:58 2009 +0000 Fix MemoryBuffer::getSTDIN to *not* return null if stdin is empty, this is a lame API. Also, Stringrefify some more MemoryBuffer functions, and add two performance FIXMEs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86630 91177308-0d34-0410-b5e6-96231b3b80d8 commit 526dd742a7832e90f52ac99c24a4370d3d98d347 Author: David Goodwin <david_goodwin@apple.com> Date: Tue Nov 10 00:15:47 2009 +0000 Allow targets to specify register classes whose member registers should not be renamed to break anti-dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86628 91177308-0d34-0410-b5e6-96231b3b80d8 commit 54c21357f32f867012ff2556b4a7c9be21ffa759 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 9 23:55:12 2009 +0000 pull a bunch of logic out of instcombine into instsimplify for compare simplification, this handles the foldable fcmp x,x cases among many others. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86627 91177308-0d34-0410-b5e6-96231b3b80d8 commit 51568464cf57a67ff3d07caae6d47dddc761c614 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 9 23:34:17 2009 +0000 Pass the (optional) TargetData object to ConstantFoldInstOperands and ConstantFoldCompareInstOperands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86626 91177308-0d34-0410-b5e6-96231b3b80d8 commit 454d7a02c0d2ca8f3a2ce2b6ba64f7f271a9f391 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 9 23:31:49 2009 +0000 inline a simple function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86625 91177308-0d34-0410-b5e6-96231b3b80d8 commit a9333562d9551aa8c14a2dc3a463c73a1531dc3c Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 9 23:28:39 2009 +0000 rename SimplifyCompare -> SimplifyCmpInst and split it into Simplify[IF]Cmp pieces. Add some predicates to CmpInst to determine whether a predicate is fp or int. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86624 91177308-0d34-0410-b5e6-96231b3b80d8 commit af0ec43f7322c579e2abb859bae4cc8075ec8e0a Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 9 23:11:45 2009 +0000 Now that the default is 'enabled,' a separate command line option for ARM is not necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86621 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6e15fef0c220e7fd35df09834e3ebf761bc6e1c4 Author: Mike Stump <mrs@apple.com> Date: Mon Nov 9 23:10:49 2009 +0000 Add testcase for recent checkin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86620 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10381be95c87ab8d2ec9ac2acc7a7b7a75b45ecf Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 9 23:06:58 2009 +0000 fix ConstantFoldCompareInstOperands to take the LHS/RHS as individual operands instead of taking a temporary array git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86619 91177308-0d34-0410-b5e6-96231b3b80d8 commit b806339fc15e8fa03aedbbebefd7674bca853265 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Nov 9 23:05:44 2009 +0000 Add StringSwitch::Cases overloads, for matching multiple strings to a single value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86618 91177308-0d34-0410-b5e6-96231b3b80d8 commit a337def3a456f08bc01d114efa1bd7f4146a3150 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 9 23:00:14 2009 +0000 use instructionsimplify instead of a weak clone of ad-hoc folding stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86616 91177308-0d34-0410-b5e6-96231b3b80d8 commit a7b16df9f4ff6e92ad9bd9c70ff9e5d5ce062803 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 9 22:59:01 2009 +0000 Update test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86614 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8f6ee0a82ccfbdab33acd3fc787c04141ec05449 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 9 22:57:59 2009 +0000 stub out a new libanalysis "instruction simplify" interface that takes decimated instructions and applies identities to them. This is pretty minimal at this point, but I plan to pull some instcombine logic out into these and similar routines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86613 91177308-0d34-0410-b5e6-96231b3b80d8 commit 35294ef681cd8a790a015b5e430e62e04634bcba Author: Jeffrey Yasskin <jyasskin@google.com> Date: Mon Nov 9 22:34:19 2009 +0000 Remove dlsym stubs, with Nate Begeman's permission. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86606 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8674f03b85cbf65f4e15902a68e089341b9f1743 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 9 22:32:40 2009 +0000 Enable dynamic stack realignment by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86604 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2610615be6d53b20c12ff4e1e806b4912e5345fd Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 9 22:32:36 2009 +0000 stub out a new form of BasicBlock::RemovePredecessorAndSimplify which simplifies instruction users of PHIs when the phi is eliminated. This will be moved to transforms/utils after some other refactoring. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86603 91177308-0d34-0410-b5e6-96231b3b80d8 commit 65d8800c4b8ae965422e75b0f3309191ae23fbc3 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 9 22:32:03 2009 +0000 Set dynamic stack realignment to real values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86602 91177308-0d34-0410-b5e6-96231b3b80d8 commit de65e53debdf767545ba31e5bb8f2fd7095f9e8f Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 9 22:28:30 2009 +0000 Remove an unneeded #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86601 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0dd119b2f1709f252b0ba64f6966bc2077f14ac8 Author: Mike Stump <mrs@apple.com> Date: Mon Nov 9 22:28:21 2009 +0000 Fix for 64-bit builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86600 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5019fe068d1092dbe9276b45b487fa0db337c70a Author: Bill Wendling <isanbard@gmail.com> Date: Mon Nov 9 21:45:26 2009 +0000 Similar to r86588, but for Darwin this time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86592 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6fb58e1e57b08abe754ef2de14a01012acaaecc5 Author: Bill Wendling <isanbard@gmail.com> Date: Mon Nov 9 21:20:14 2009 +0000 The jump table was being generated before the end label for exception handling was generated. This caused code like this: ## The asm code for the function .section __TEXT,__const .align 2 lJTI11_0: LJTI11_0: .long LBB11_16 .long LBB11_4 .long LBB11_5 .long LBB11_6 .long LBB11_7 .long LBB11_8 .long LBB11_9 .long LBB11_10 .long LBB11_11 .long LBB11_12 .long LBB11_13 .long LBB11_14 Leh_func_end11: ## <---now in the wrong section! The `Leh_func_end11' would then end up in the wrong section, causing the resulting EH frame information to be wrong: __ZL11CheckRightsjPKcbRbRP6NSData.eh: .set Lset500eh,Leh_frame_end11-Leh_frame_begin11 .long Lset500eh ; Length of Frame Information Entry Leh_frame_begin11: .long Leh_frame_begin11-Leh_frame_common .long Leh_func_begin11-. .set Lset501eh,Leh_func_end11-Leh_func_begin11 .long Lset501eh ; FDE address range `Lset501eh' is now something huge instead of the real value. The X86 back-end generates the jump table after the EH information is emitted. Do the same here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86588 91177308-0d34-0410-b5e6-96231b3b80d8 commit 80164f2cd037e165924e023aa3a8b8b9b533e8f7 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 9 19:38:45 2009 +0000 Print "..." instead of all the uninteresting register clobbers on call instructions. This makes CodeGen dumps significantly less noisy. Example before: BL <ga:@bar>, %R0<imp-def>, %R1<imp-def,dead>, %R2<imp-def,dead>, %R3<imp-def,dead>, %R12<imp-def,dead>, %LR<imp-def,dead>, %D0<imp-def,dead>, %D1<imp-def,dead>, %D2<imp-def,dead>, %D3<imp-def,dead>, %D4<imp-def,dead>, %D5<imp-def,dead>, %D6<imp-def,dead>, %D7<imp-def,dead>, %D16<imp-def,dead>, %D17<imp-def,dead>, %D18<imp-def,dead>, %D19<imp-def,dead>, %D20<imp-def,dead>, %D21<imp-def,dead>, %D22<imp-def,dead>, %D23<imp-def,dead>, %D24<imp-def,dead>, %D25<imp-def,dead>, %D26<imp-def,dead>, %D27<imp-def,dead>, %D28<imp-def,dead>, %D29<imp-def,dead>, %D30<imp-def,dead>, %D31<imp-def,dead>, %CPSR<imp-def,dead>, %FPSCR<imp-def,dead> Same example after: BL <ga:@bar>, %R0<imp-def>, %R1<imp-def,dead>, %LR<imp-def,dead>, %CPSR<imp-def,dead>, ... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86583 91177308-0d34-0410-b5e6-96231b3b80d8 commit 35b0b02d641f0a7035fc325a0cd1dd91b2358be4 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 9 19:29:11 2009 +0000 Default-addressspace null pointers don't alias anything. This allows GVN to be more aggressive. Patch by Hans Wennborg! (with a comment added by me) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86582 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1eb5ad3173bac40e253c4bd8346745a0b9d35217 Author: David Goodwin <david_goodwin@apple.com> Date: Mon Nov 9 19:22:17 2009 +0000 Fix dependencies added to model memory aliasing for post-RA scheduling. The dependencies were overly conservative for memory access that are known not to alias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86580 91177308-0d34-0410-b5e6-96231b3b80d8 commit 87ec5ad9f1b09e47d8fd16fdd671787052782566 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 9 19:01:53 2009 +0000 The inbounds keyword isn't relevant to overindexing of static array types. Thanks to Duncan for pointing this out! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86576 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0273f182cb12b8627e629784e04b2e05d982eddd Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 9 18:59:22 2009 +0000 Fix a comment in a typo that Duncan noticed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86575 91177308-0d34-0410-b5e6-96231b3b80d8 commit c668e25ae2f85eb43d2240723bf86e8d2d827bae Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 9 18:40:39 2009 +0000 Remove the "special case" for zero-length arrays, and rephrase this paragraph to be more precise. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86572 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2fb4ae554502621f3d5b3945f650e6b5ee66ffc7 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 9 18:28:24 2009 +0000 Generalize LCSSA to handle loops with exits with predecessors outside the loop. This is needed because with indirectbr it may not be possible for LoopSimplify to guarantee that all loop exit predecessors are inside the loop. This fixes PR5437. LCCSA no longer actually requires LoopSimplify form, but for now it must still have the dependency because the PassManager doesn't know how to schedule LoopSimplify otherwise. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86569 91177308-0d34-0410-b5e6-96231b3b80d8 commit af255824880d1a779f31df72f5a52e1419f773f7 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 9 18:20:38 2009 +0000 Fix an 80-column violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86567 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe7d6aaba103e48c15cbf44070b99562039ae29d Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 9 18:19:43 2009 +0000 Minor tidiness fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86565 91177308-0d34-0410-b5e6-96231b3b80d8 commit a39e7acd54fdc09f0b8b3db176a4fbf53c1679a1 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 9 18:18:49 2009 +0000 Constify MachineFunctionAnalysis' TargetMachine reference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86564 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2e2c064bd56e45608c077950636fff02033475f2 Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 9 17:06:51 2009 +0000 Fix a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86558 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7740e0f64d3b91e6579b3595340a993da0abc84e Author: Dan Gohman <gohman@apple.com> Date: Mon Nov 9 17:06:23 2009 +0000 Suppress implicit copy ctor and copy assignment for MachineFunction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86557 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5a7b8f0a83d0b584cfb5a565011fa500e7260638 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Nov 9 16:38:15 2009 +0000 Use ',' separation in XFAILs, lit doesn't evaluate them as regexs (easy to add, but might as well use the more standard syntax). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86553 91177308-0d34-0410-b5e6-96231b3b80d8 commit d49d0fd052f4f586956ffba0cb5c7b146632c3ef Author: Nuno Lopes <nunoplopes@sapo.pt> Date: Mon Nov 9 15:36:28 2009 +0000 add zextOrTrunc and sextOrTrunc methods, that are similar to the ones in APInt git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86549 91177308-0d34-0410-b5e6-96231b3b80d8 commit cdc498061580523723269ee368d6b7adbbb02699 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 9 15:27:51 2009 +0000 Work around assembler not recognizing #0.0 form immediate for vmcp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86548 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5b35c97ee4fc66ebee2771ddef1dfdc3eff92077 Author: Oscar Fuentes <ofv@wanadoo.es> Date: Mon Nov 9 15:26:40 2009 +0000 CMake: Detect gv, circo, twopi, neato, fdo, dot and dotty. Patch by Arnaud Allard de Grandmaison! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86547 91177308-0d34-0410-b5e6-96231b3b80d8 commit 666eecfd9e3463f981d935d8fb082a3716604f61 Author: Xerxes Ranby <xerxes@zafena.se> Date: Mon Nov 9 14:50:34 2009 +0000 Make lib/Support/Debug.cpp SetCurrentDebugType implementation part of llvm namespace to match function declaration in Debug.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86544 91177308-0d34-0410-b5e6-96231b3b80d8 commit b0273e0a346ffd639eb062e6cc752a2799a29826 Author: Bruno Cardoso Lopes <bruno.cardoso@gmail.com> Date: Mon Nov 9 14:27:49 2009 +0000 Fix PR5149. http://llvm.org/bugs/show_bug.cgi?id=5149 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86543 91177308-0d34-0410-b5e6-96231b3b80d8 commit e0efca5e6470972e944ea2fc546690652eb4a6ea Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 9 07:12:01 2009 +0000 make this handle redefinition of malloc with different prototype correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86525 91177308-0d34-0410-b5e6-96231b3b80d8 commit 69a7075dc8caf9332f5c105577d0ea36a1cfd00e Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 9 07:07:56 2009 +0000 if a 'with overflow' intrinsic just has the normal result used, simplify it to a normal binop. Patch by Alastair Lynn, testcase by me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86524 91177308-0d34-0410-b5e6-96231b3b80d8 commit 48ac7b971f7e6cbd60c4d1c70663cb0d328cacf2 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Nov 9 06:49:37 2009 +0000 Hide a couple of options. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86522 91177308-0d34-0410-b5e6-96231b3b80d8 commit a241af8f12c65c26a4a631c3428cc7daefed4318 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Nov 9 06:49:22 2009 +0000 80 col. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86521 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7452f6a39e6980c100521593a0b9bcee17b5ad3d Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 9 04:57:04 2009 +0000 fix PR5104: when printing a single character, return the result of putchar in case there is an error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86515 91177308-0d34-0410-b5e6-96231b3b80d8 commit acb19b052cad5c3583209cb708463a17c8dc6217 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 9 04:47:27 2009 +0000 fix some bogus asserts, PR5049 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86514 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5993faa112338898200ae47e6d9de0071b8ebde3 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 9 04:18:23 2009 +0000 random tidy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86511 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa188de533488e8238ca4b9346b9deb3b9a5a8af Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 9 04:15:28 2009 +0000 remove a redundant printout, LinkInArchive prints this as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86510 91177308-0d34-0410-b5e6-96231b3b80d8 commit 073c12c61ebbb3b88b550dc1a2ebf87abcab9927 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 9 01:38:00 2009 +0000 enhance PHI slicing to handle the case when a slicable PHI is begin used by a chain of other PHIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86503 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1675912cad699198af854de0af1bc8f93ca4730f Author: Owen Anderson <resistor@mac.com> Date: Mon Nov 9 00:48:15 2009 +0000 Small cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86499 91177308-0d34-0410-b5e6-96231b3b80d8 commit cd1c8db070a428d72c35335d4a30218e3f24c277 Author: Owen Anderson <resistor@mac.com> Date: Mon Nov 9 00:44:44 2009 +0000 Revert my previous patch to ABCD and fix things the right way. There are two problems addressed here: 1) We need to avoid processing sigma nodes as phi nodes for constraint generation. 2) We need to generate constraints for comparisons against constants properly. This includes our first working ABCD test! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86498 91177308-0d34-0410-b5e6-96231b3b80d8 commit 28075886973ba6292e5dc3964aa6206520337741 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 9 00:41:49 2009 +0000 comment typos pointed out by Duncan git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86497 91177308-0d34-0410-b5e6-96231b3b80d8 commit e2fda536ff4bd38be9f9ebea6ad90ce0b48d0e12 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 9 00:11:35 2009 +0000 Use Unified Assembly Syntax for the ARM backend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86494 91177308-0d34-0410-b5e6-96231b3b80d8 commit 57cf21e12d890dd0ac45c9369fb501bbef3a0050 Author: Owen Anderson <resistor@mac.com> Date: Sun Nov 8 22:36:55 2009 +0000 Fix an issue where the ordering of blocks within a function could lead to different constraint graphs being produced. The cause was that we were incorrectly marking sigma instructions as processed after handling the sigma-specific constraints for them, potentially neglecting to process them as normal instructions as well. Unfortunately, the testcase that inspired this still doesn't work because of a bug in the solver, which is next on the list to debug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86486 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6235a52b83705e463a0ba08e28d8a288ac462b43 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 8 21:51:53 2009 +0000 Add a 'zkill' script, which is more-or-less a fancy (although not necessarily very robust) version of killall. Because I like making shiny new wheels out of spare parts. For use by buildbots when people insist on making cc1 infinite loop. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86484 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4ca7390a7c462bb3e7cb11239e22c3ec7b93080b Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 8 21:20:06 2009 +0000 Teach an instcombine to not pull trunc instructions through PHI nodes when both the source and dest are illegal types, since it would cause the phi to grow (for example, we shouldn't transform test14b's phi to a phi on i320). This fixes an infinite loop on i686 bootstrap with phi slicing turned on, so turn it back on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86483 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5987b829927111762b6354e379f331a2476c7240 Author: Duncan Sands <baldrick@free.fr> Date: Sun Nov 8 20:55:48 2009 +0000 Revert commit 81144, and add a comment. It caused bugpoint timeouts not to work any more on linux. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86481 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1cd526bc4bb02aec231107278b004f5801e2af4b Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 8 19:23:30 2009 +0000 reapply r8644[3-5] with only the scary part (SliceUpIllegalIntegerPHI) disabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86480 91177308-0d34-0410-b5e6-96231b3b80d8 commit bfa5deef8b8798068cda5c4989793d178d6f4a4b Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 8 17:52:47 2009 +0000 Speculatively revert r8644[3-5], they seem to be leading to infinite loops in llvm-gcc bootstrap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86478 91177308-0d34-0410-b5e6-96231b3b80d8 commit c5073681095c40377e1086ea5c2d66d5a0e539e2 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Nov 8 15:33:12 2009 +0000 Add and-not (bic) patterns. Based heavily on patch by Brian Lucas! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86471 91177308-0d34-0410-b5e6-96231b3b80d8 commit 185c213be4fda6313031905f207fadb446d155de Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Nov 8 15:32:44 2009 +0000 Move OR patterns upper to all logical stuff. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86470 91177308-0d34-0410-b5e6-96231b3b80d8 commit e3b260e9514d07bd9e9b66a5a907785a1178ff27 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Nov 8 15:32:28 2009 +0000 Some nice peephole patterns. Based on patch by Brian Lucas! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86469 91177308-0d34-0410-b5e6-96231b3b80d8 commit b5d6f65c43ebfb2e77786c70c07987a9e7b12d80 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Nov 8 15:32:11 2009 +0000 Print tab before operand of jcc git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86468 91177308-0d34-0410-b5e6-96231b3b80d8 commit fc5c66b384e5ac8089737a40b97a02ae32176142 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Nov 8 14:27:38 2009 +0000 Fix invalid operand updates & implement post-inc memory operands git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86466 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4bd4ef0b0aee36cf5f4f7b1398722a2a0fe92e7e Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Nov 8 12:58:40 2009 +0000 Throw an error when stack realignment stuff fails instead of silent code miscompilation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86463 91177308-0d34-0410-b5e6-96231b3b80d8 commit e9439104f0c4bd0fb348b0739d51ddf01d2ac994 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Nov 8 12:14:54 2009 +0000 It is invalid to infer the value type from the result #0 of the node since the instruction might use the other result of different type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86462 91177308-0d34-0410-b5e6-96231b3b80d8 commit 353ad44681895cd7799966ccafa1e572ca63ec17 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 8 09:46:57 2009 +0000 Remove ByteswapSCANFResults, it is dead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86458 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6c331cc294d08c58407ae962723a85e676b04b28 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 8 09:34:14 2009 +0000 NNT: Remove DejaGNU test from NewNightlyTest reports, this aspect of testing is handled by buildbots now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86454 91177308-0d34-0410-b5e6-96231b3b80d8 commit bb3fe4a85b912f48c3b4b2e713d894387b9abc75 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 8 09:29:52 2009 +0000 Two small fixes for site.exp for cmake. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86453 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3221d7689547e97fa387f5619fef29a42a8da732 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 8 09:08:00 2009 +0000 Derive the right paths to use during testing instead of passing it in via make. Also, fix a few other details of the cmake test target and rename it to 'check'. CMake tests now work for the most part, but there are a handful of failures left due to missing site.exp bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86452 91177308-0d34-0410-b5e6-96231b3b80d8 commit b4dbd965fd3a5175f701f86ccda73bf8271ef6a5 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 8 09:07:51 2009 +0000 Switch to using 'lit.site.cfg.in' for the site config template for Unit tests, and generate it for CMake builds as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86451 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0448c48560ce06959994e7a5df6f9ff2e9eac448 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 8 09:07:42 2009 +0000 Cleanup some unused RUN lines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86450 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7948379df3422b4c9d98c3943a864293d4ff0527 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 8 09:07:33 2009 +0000 lit: Hardcode whence seek value, os.SEEK_END isn't always available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86449 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5a6655647ddb18e15038155a4565ab771fff35a6 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 8 09:07:26 2009 +0000 lit: Warn when a test suite contains no tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86448 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7613ba5737a340d3cf88311c7a954625dae0bad1 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 8 09:07:13 2009 +0000 lit: Drop require_and_and support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86447 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2a7f8c576a1490e1b2cc6bc04b5c8333435902bd Author: Lang Hames <lhames@gmail.com> Date: Sun Nov 8 08:49:59 2009 +0000 Moved some ManagedStatics out of the SlotIndexes header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86446 91177308-0d34-0410-b5e6-96231b3b80d8 commit bfdcf999c67b880b0ba6f92b2cd7c3529a216c6c Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 8 08:36:40 2009 +0000 another more interesting test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86445 91177308-0d34-0410-b5e6-96231b3b80d8 commit e9ad9a4948b4d65d68c5614b2e599b94d7ef8831 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 8 08:30:58 2009 +0000 feature test for the new transformation in r86443 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86444 91177308-0d34-0410-b5e6-96231b3b80d8 commit c42200ecbc9761eb2e237f998ebe1408ddc40104 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 8 08:21:13 2009 +0000 teach a couple of instcombine transformations involving PHIs to not turn a PHI in a legal type into a PHI of an illegal type, and add a new optimization that breaks up insane integer PHI nodes into small pieces (PR3451). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86443 91177308-0d34-0410-b5e6-96231b3b80d8 commit 16f6916607396e205984e25c26798f6bf6c4c2c9 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Nov 8 05:45:04 2009 +0000 We don't need to byteswap, the interpreter assumes the program is running native anyways. This fixes a crash using %d and similar in a scanf statement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86440 91177308-0d34-0410-b5e6-96231b3b80d8 commit e342f10769875f34a07053cf77ace1ccd9cedd42 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 8 03:43:06 2009 +0000 lit: Workaround a Win32/subprocess bug when appending. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86437 91177308-0d34-0410-b5e6-96231b3b80d8 commit 377d801fa2f6dbd4a5ccef74224c7be00cad308a Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 8 03:35:19 2009 +0000 lit: Preserve the PATHEXT variable when running subcommands, this is important on Win32 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86436 91177308-0d34-0410-b5e6-96231b3b80d8 commit c97274fc4693cd67b6e4c51ec3baa21f70f039e6 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 8 02:32:01 2009 +0000 Make TargetData::getStringRepresentation spit out native integer types, this gives llvm-gcc generated modules the right data. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86435 91177308-0d34-0410-b5e6-96231b3b80d8 commit bbf10b58aa5df695476f2be89db4b92063e1c1b0 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Nov 8 02:23:15 2009 +0000 Remove test. Execution tests are slow and generally not worth it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86434 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8f36edca3cfe963255d7766cd3f963605cabf32e Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Nov 8 01:04:45 2009 +0000 Fix run line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86429 91177308-0d34-0410-b5e6-96231b3b80d8 commit 543de5cfe67417377df9bf97f94bd27837bc3259 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Nov 8 00:45:29 2009 +0000 Fix the interpreter to not crash due to zeroext/signext git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86428 91177308-0d34-0410-b5e6-96231b3b80d8 commit 322873dbdbca38b44b0f3216dd8a0f91e81da137 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Nov 8 00:34:22 2009 +0000 Prevent warning spew about -fPIC when using CMake generated Xcode project files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86427 91177308-0d34-0410-b5e6-96231b3b80d8 commit bacc516181e4772892c2a61ce0acc17074fedf1e Author: Jim Grosbach <grosbach@apple.com> Date: Sun Nov 8 00:27:19 2009 +0000 Use aligned load/store instructions for spilling Q registers when we know the stack slot is 128 bit aligned git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86425 91177308-0d34-0410-b5e6-96231b3b80d8 commit be9db751021d3849e4cd2590e4e4c7ec4f50b221 Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Nov 8 00:15:23 2009 +0000 Refactor code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86423 91177308-0d34-0410-b5e6-96231b3b80d8 commit e8f69491b675eaea14eb21c9cea799c424e9082c Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Nov 7 23:52:27 2009 +0000 Fix CMake reporting of target triple. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86419 91177308-0d34-0410-b5e6-96231b3b80d8 commit b38d0a0852e059b49987cabec86a05f82d64979f Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Nov 7 23:52:20 2009 +0000 Stop running get_target_triple more than we need to. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86418 91177308-0d34-0410-b5e6-96231b3b80d8 commit 630690c2fe8d0efa0a7ea1f54334dd4182c34c18 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Nov 7 23:51:55 2009 +0000 Fix MSVC warning ( | with bool and unsigned int). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86417 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8acf7a18664fd8abcdd979e10354bf5d2b11b400 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Nov 7 23:21:30 2009 +0000 Fix class -> struct tag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86416 91177308-0d34-0410-b5e6-96231b3b80d8 commit b13034d606a6e67a8cb78d28574a8f9a5da681bf Author: Nate Begeman <natebegeman@mac.com> Date: Sat Nov 7 23:17:15 2009 +0000 x86 vector shuffle cleanup/fixes: 1. rename the movhp patfrag to movlhps, since thats what it actually matches 2. eliminate the bogus movhps load and store patterns, they were incorrect. The load transforms are already handled (correctly) by shufps/unpack. 3. revert a recent test change to its correct form. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86415 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0e426c27d48dd7f1890bfa71b7566a7cfb05c4e2 Author: Jim Grosbach <grosbach@apple.com> Date: Sat Nov 7 22:00:39 2009 +0000 80-column cleanup of file header comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86408 91177308-0d34-0410-b5e6-96231b3b80d8 commit 04d92822f7e9437186a873e4f6335b4c379c5d65 Author: Jim Grosbach <grosbach@apple.com> Date: Sat Nov 7 21:25:39 2009 +0000 Support alignment specifier for NEON vld/vst instructions git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86404 91177308-0d34-0410-b5e6-96231b3b80d8 commit ded7c4a4c0f0df94bd7abfc98a6e0123c5849efe Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Nov 7 21:10:15 2009 +0000 Improve tail call elimination to handle the switch statement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86403 91177308-0d34-0410-b5e6-96231b3b80d8 commit 812c299cb8ac1c341552584fbbdfca9a75ffe764 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Nov 7 19:40:04 2009 +0000 t2ldrpci_pic can be used for blockaddress as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86400 91177308-0d34-0410-b5e6-96231b3b80d8 commit 07600e1c9abb174d4984f50c79b0e45062e93c8f Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 7 19:13:17 2009 +0000 temporarily remove these tests, as they are breaking in the buildbot, Eric, please investigate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86399 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2e9f5d0556117a5d0537efa3f018ddd920f899c1 Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 7 19:11:46 2009 +0000 make instcombine only rewrite a chain of computation (eliminating some extends) if the new type of the computation is legal or if both the source and dest are illegal. This prevents instcombine from changing big chains of computation into i64 on 32-bit targets for example. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86398 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1b60b1603b3be4b41b2e3a6820fe116835ec7dd9 Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 7 19:07:32 2009 +0000 indicate what the native integer types for the target are. Please verify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86397 91177308-0d34-0410-b5e6-96231b3b80d8 commit 932568fad8ba37fec6fbab9f874d1be2d7623c8f Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 7 18:53:00 2009 +0000 all targets should be required to declare legal integer types. My plan to make it optional doesn't work out. If you don't want to specify this, don't specify a TD string at all. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86394 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8055a3c54bc88921ab4b3051a01112710ef9f215 Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 7 18:03:32 2009 +0000 remove empty files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86392 91177308-0d34-0410-b5e6-96231b3b80d8 commit f822a2f4f3b5f91ae0be604b1202622a186ea544 Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 7 17:59:32 2009 +0000 Revert r86359, it is breaking the self host on the llvm-gcc-i386-darwin9 build bot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86391 91177308-0d34-0410-b5e6-96231b3b80d8 commit a0e695bd1f1afe129a7e294b02cdba45629f0c9c Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sat Nov 7 17:15:25 2009 +0000 First try of the post-inc operands handling... Not fully worked, though :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86386 91177308-0d34-0410-b5e6-96231b3b80d8 commit a6d97be420bb6fe615998154f555b06be9cc1cf5 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sat Nov 7 17:15:06 2009 +0000 Add some dummy support for post-incremented loads git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86385 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0e459b4d02c73518bf209236d7e406259e56408e Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sat Nov 7 17:14:39 2009 +0000 Add 8 bit libcalls and make use of them for msp430 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86384 91177308-0d34-0410-b5e6-96231b3b80d8 commit daa66e5edbb1eba5a6a602200946c5e2f27c3dbd Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sat Nov 7 17:13:57 2009 +0000 Add few pseudo-source-values git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86383 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c7e166ffb74e4504175767260bd1e23e35f98b7 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sat Nov 7 17:13:35 2009 +0000 Initial support for addrmode handling. Tests by Brian Lucas! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86382 91177308-0d34-0410-b5e6-96231b3b80d8 commit c51a65b683d9ae5c0963eaa31cd0cd71241bd536 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sat Nov 7 17:12:58 2009 +0000 Some preliminary variable asmprinting git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86381 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4266e28b8b014310ee00746ff5f0e012b111720e Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sat Nov 7 17:12:38 2009 +0000 Use '.L' for global private prefix (as mspgcc) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86380 91177308-0d34-0410-b5e6-96231b3b80d8 commit db3ab2f46c9e75a41f3ba2021b7537af4bd813f4 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sat Nov 7 17:12:21 2009 +0000 Drop old asmprinter stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86379 91177308-0d34-0410-b5e6-96231b3b80d8 commit 59ab8afb46d74604f438d78213a641c038c519b8 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sat Nov 7 15:20:32 2009 +0000 It turns out that the testcase in question uncovered subreg-handling bug. Add assert in asmprinter to catch such cases and xfail the tests. PR is to be filled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86375 91177308-0d34-0410-b5e6-96231b3b80d8 commit ece4180609c6ec2e21dfef5f27eb9bf7b65351e4 Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 7 09:35:34 2009 +0000 add the ability for TargetData to return information about legal integer datatypes on a given CPU. This is intended to allow instcombine and other transformations to avoid converting big sequences of operations to an inconvenient width, and will help clean up after SRoA. See also "Adding legal integer sizes to TargetData" on Feb 1, 2009 on llvmdev, and PR3451. Comments welcome. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86370 91177308-0d34-0410-b5e6-96231b3b80d8 commit 683309f29784560cf55826b443f44503318876f1 Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 7 09:23:04 2009 +0000 more cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86369 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2aaa75e234660532df77f2a630509bfee77652d9 Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 7 09:20:54 2009 +0000 add some missing #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86367 91177308-0d34-0410-b5e6-96231b3b80d8 commit 044fe3e5132220650eda5e8f876739fb055455bc Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 7 09:13:23 2009 +0000 rewrite TargetData to use StringRef/raw_ostream instead of thrashing std::strings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86366 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9ea9331c67f53b9deb5aa58e0b27c2bddd21a200 Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 7 09:07:01 2009 +0000 prune #include / layering violation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86365 91177308-0d34-0410-b5e6-96231b3b80d8 commit e63aa1f6906831c4a1b8bf2f2bc1ee23a4e3c3c6 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Sat Nov 7 08:51:52 2009 +0000 Make the need-stub variables accurate and consistent. In the case of MachineRelocations, "stub" always refers to a far-call stub or a load-a-faraway-global stub, so this patch adds "Far" to the term. (Other stubs are used for lazy compilation and dlsym address replacement.) The variable was also inconsistent between the positive and negative sense, and the positive sense ("NeedStub") was more demanding than is accurate (since a nearby-enough function can be called directly even if the platform often requires a stub). Since the negative sense causes double-negatives, I switched to "MayNeedFarStub" globally. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86363 91177308-0d34-0410-b5e6-96231b3b80d8 commit f36502964777b9941c5a4c531990cc6f2488dc23 Author: Eric Christopher <echristo@apple.com> Date: Sat Nov 7 08:45:53 2009 +0000 Fix a couple of shuffle patterns to use movhlps instead of movhps as the constraint. Changes optimizations so update testcases as appropriate as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86360 91177308-0d34-0410-b5e6-96231b3b80d8 commit 69a3bcea684c35eb0a394e0dbcfa97b25b33c0d6 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Nov 7 08:34:40 2009 +0000 Teach dead store elimination that certain intrinsics write to memory just like a store. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86359 91177308-0d34-0410-b5e6-96231b3b80d8 commit 09a32aa09eeec1d1894333940228d2d097c10007 Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 7 08:31:52 2009 +0000 remove the win32 tree, it's stale and confusing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86358 91177308-0d34-0410-b5e6-96231b3b80d8 commit d4fddc700e7bb0387a520cbc2acbc01d29eac122 Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 7 08:05:03 2009 +0000 reapply 86289, 86278, 86270, 86267, 86266 & 86264 plus a fix (making pred factoring only happen if threading is guaranteed to be successful). This now survives an X86-64 bootstrap of llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86355 91177308-0d34-0410-b5e6-96231b3b80d8 commit 87c965591afc72dca6b805427a322cd5adf40d11 Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 7 07:50:34 2009 +0000 Fix PR5421 by APInt'izing switch lowering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86354 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5031fbdde50deb47304882f92ce6b893887cd324 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Nov 7 07:42:38 2009 +0000 Oops, FunctionContainsEscapingAllocas is really used to mean two different things. Back out part of r86349 for a moment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86353 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10b606f2cf73f5cfb1d50fa48f890c09bec38b59 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Nov 7 07:10:01 2009 +0000 Dust off tail recursion elimination. Fix a fixme by applying CaptureTracking and add a .ll to demo the new capability. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86349 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7e7dd487592ee788e07b8dc0279293969a0bda07 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Sat Nov 7 06:33:58 2009 +0000 llvmc: Add a '-time' option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86348 91177308-0d34-0410-b5e6-96231b3b80d8 commit 05858c503a855f067a256a31c7e811543765aaec Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Sat Nov 7 06:33:12 2009 +0000 Trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86347 91177308-0d34-0410-b5e6-96231b3b80d8 commit 75f7b8dca3aaaf0a4ffacfb4d4edccd80000eb4e Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Sat Nov 7 06:33:01 2009 +0000 80-col violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86346 91177308-0d34-0410-b5e6-96231b3b80d8 commit 147f0500f9f9d9e0091dc61347b094334280fd83 Author: Chris Lattner <sabre@nondot.org> Date: Sat Nov 7 06:19:20 2009 +0000 merge cmp1 into cmp0 and filecheckize. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86345 91177308-0d34-0410-b5e6-96231b3b80d8 commit a1c6ba05e0a2b1e604f2cae702a60cf8e568d40b Author: Lang Hames <lhames@gmail.com> Date: Sat Nov 7 05:50:28 2009 +0000 Update some globals to use ManagedStatic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86342 91177308-0d34-0410-b5e6-96231b3b80d8 commit e6f60f14e1adc950bfd1529325db1acedf9cf97e Author: Mon P Wang <wangmp@apple.com> Date: Sat Nov 7 04:46:25 2009 +0000 Fix memoizing of CvtRndSatSDNode git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86340 91177308-0d34-0410-b5e6-96231b3b80d8 commit 01fa52d302ba6f4939b6907d0ae10fee5d61200c Author: Mon P Wang <wangmp@apple.com> Date: Sat Nov 7 04:07:33 2009 +0000 Fixed Overload table bug noticed by Jakob git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86332 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10268e847d84c45a601e68bb02eba4dca773331b Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Nov 7 04:07:30 2009 +0000 Missed this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86331 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca529232f661d674617b7d5e51102cf4ee9a6ffb Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Nov 7 04:04:34 2009 +0000 Refactor code. Fix a potential missing check. Teach isIdentical() about tLDRpci_pic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86330 91177308-0d34-0410-b5e6-96231b3b80d8 commit 626474d3ddba098f44d1a372314418a63c152540 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Nov 7 03:52:02 2009 +0000 - Add TargetInstrInfo::isIdentical(). It's similar to MachineInstr::isIdentical except it doesn't care if the definitions' virtual registers differ. This is used by machine LICM and other MI passes to perform CSE. - Teach Thumb2InstrInfo::isIdentical() to check two t2LDRpci_pic are identical. Since pc relative constantpool entries are always different, this requires it it check if the values can actually the same. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86328 91177308-0d34-0410-b5e6-96231b3b80d8 commit 80994a152341401f8151ece592fd0a07dd14ae1f Author: Ted Kremenek <kremenek@apple.com> Date: Sat Nov 7 03:26:59 2009 +0000 Update CMake file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86325 91177308-0d34-0410-b5e6-96231b3b80d8 commit 87d0426c569d606dca1d32dc23cae9dee245fc76 Author: Kenneth Uildriks <kennethuil@gmail.com> Date: Sat Nov 7 02:11:54 2009 +0000 Add code to check at SelectionDAGISel::LowerArguments time to see if return values can be lowered to registers. Coming soon, code to perform sret-demotion if return values cannot be lowered to registers git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86324 91177308-0d34-0410-b5e6-96231b3b80d8 commit d1332dcf1421bd9a7b2e9527056cb1934aea041c Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Sat Nov 7 01:58:40 2009 +0000 Fix inverted conflict test in -early-coalesce. A non-identity copy cannot be coalesced when the phi join destination register is live at the copy site. Also verify the condition that the PHI join source register is only used in the PHI join. Otherwise the coalescing is invalid. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86322 91177308-0d34-0410-b5e6-96231b3b80d8 commit cbc9debd4e99fc06ef89fdd5817c81bc92ac6a85 Author: Devang Patel <dpatel@apple.com> Date: Sat Nov 7 01:32:59 2009 +0000 Revert following patches to fix llvmgcc bootstrap. 86289, 86278, 86270, 86267, 86266 & 86264 Chris, please take a look. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86321 91177308-0d34-0410-b5e6-96231b3b80d8 commit d139b9495d8e6a18ac8c7d3a7767f7e0db76a673 Author: Johnny Chen <johnny.chen@apple.com> Date: Sat Nov 7 00:54:36 2009 +0000 My previous patch (r84124) for setting the encoding bits 4 and 7 of DPSoRegFrm was wrong and too aggressive in the sense that DPSoRegFrm includes both constant shifts (with Inst{4} = 0) and register controlled shifts (with Inst{4} = 1 and Inst{7} = 0). The 'rr' fragment of the multiclass definitions actually means register/register with no shift, see A8-11. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86319 91177308-0d34-0410-b5e6-96231b3b80d8 commit f1e1f4c9a3c02d44a9ea7f82c986794318b20415 Author: Victor Hernandez <vhernandez@apple.com> Date: Sat Nov 7 00:41:19 2009 +0000 - new SROA mallocs should have the mallocs running-or'ed, not the malloc's bitcast - fix ProcessInternalGlobal() debug output git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86317 91177308-0d34-0410-b5e6-96231b3b80d8 commit b035016639fa72a2a698d3f362fff7f9eee4e5ca Author: Victor Hernandez <vhernandez@apple.com> Date: Sat Nov 7 00:36:50 2009 +0000 Fit in 80 columns git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86316 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7f287f83693b6f419210d1a3560c45515b9e690c Author: Jeffrey Yasskin <jyasskin@google.com> Date: Sat Nov 7 00:26:47 2009 +0000 Avoid "ambiguous 'else'" warning from gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86314 91177308-0d34-0410-b5e6-96231b3b80d8 commit 955449e468395f33a2debd72e3e6f8f5a1dc1b46 Author: Victor Hernandez <vhernandez@apple.com> Date: Sat Nov 7 00:16:28 2009 +0000 Re-commit r86077 now that r86290 fixes the 179.art and 175.vpr ARM regressions. Here is the original commit message: This commit updates malloc optimizations to operate on malloc calls that have constant int size arguments. Update CreateMalloc so that its callers specify the size to allocate: MallocInst-autoupgrade users use non-TargetData-computed allocation sizes. Optimization uses use TargetData to compute the allocation size. Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays. Extend getMallocType() to support malloc calls that have non-bitcast uses. Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses. The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly. Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses. The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use. Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use. Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86311 91177308-0d34-0410-b5e6-96231b3b80d8 commit ab81483d946285672c43aa85f78f912321e95348 Author: Jim Grosbach <grosbach@apple.com> Date: Sat Nov 7 00:13:30 2009 +0000 80-columns git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86310 91177308-0d34-0410-b5e6-96231b3b80d8 commit 49c5ea4e4216aa9545345efe476bbc2dc32db9d8 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Sat Nov 7 00:00:10 2009 +0000 Give the JITResolver a direct pointer to its JITEmitter, and use that instead of going through the global TheJIT variable. This makes it easier to use features of JITEmitter that aren't in JITCodeEmitter for fixing PR5201. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86305 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7921e58057a3a19e15877cfd18fcbeb828e919f9 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Nov 6 23:52:48 2009 +0000 - Add pseudo instructions tLDRpci_pic and t2LDRpci_pic which does a pc-relative load of a GV from constantpool and then add pc. It allows the code sequence to be rematerializable so it would be hoisted by machine licm. - Add a late pass to break these pseudo instructions into a number of real instructions. Also move the code in Thumb2 IT pass that breaks up t2MOVi32imm to this pass. This is done before post regalloc scheduling to allow the scheduler to proper schedule these instructions. It also allow them to be if-converted and shrunk by later passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86304 91177308-0d34-0410-b5e6-96231b3b80d8 commit d271d8b61f3747846a4ac40f9c49a9b9ca71bc67 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Fri Nov 6 23:45:15 2009 +0000 Honour subreg machine operands during asmprinting git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86303 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6a14a00bb348755ff7974c56ff8df9845deb68f3 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Nov 6 23:33:28 2009 +0000 Print VMOV (immediate) operands as hexadecimal values. Apple's assembler will not accept negative values for these. LLVM's default operand printing sign extends values, so that valid unsigned values appear as negative immediates. Print all VMOV immediate operands as hex values to resolve this. Radar 7372576. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86301 91177308-0d34-0410-b5e6-96231b3b80d8 commit f676a031cac638f43285ad86a7e6e884a4d399a0 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 6 23:19:58 2009 +0000 Fix a bug where we'd call SplitBlockPredecessors with a pred in the set only once even if it has multiple edges to BB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86299 91177308-0d34-0410-b5e6-96231b3b80d8 commit e9538bb41adbd94f658cbf5fdf7cabe3b4ee5920 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Nov 6 23:06:42 2009 +0000 Fix a broken test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86298 91177308-0d34-0410-b5e6-96231b3b80d8 commit cda028f643df712e635d48b9f19af6e5dad2cd54 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Nov 6 22:38:38 2009 +0000 Fix comment typos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86295 91177308-0d34-0410-b5e6-96231b3b80d8 commit e4582d9e08187fb0d75c51ddb139f3ad3a45642d Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Nov 6 22:24:13 2009 +0000 Remove ARMPCLabelIndex from ARMISelLowering. Use ARMFunctionInfo::createConstPoolEntryUId() instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86294 91177308-0d34-0410-b5e6-96231b3b80d8 commit e725b7d6aa1d922f7045b072edc1025ef3622bd0 Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Nov 6 21:43:21 2009 +0000 CallInst::CreateMalloc() and CallInst::CreateFree() need to create calls with correct calling convention git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86290 91177308-0d34-0410-b5e6-96231b3b80d8 commit c42f1cb6754214561a0eacb03feea6146ebe6f84 Author: Eli Friedman <eli.friedman@gmail.com> Date: Fri Nov 6 21:24:57 2009 +0000 Remove function left over from other jump threading cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86289 91177308-0d34-0410-b5e6-96231b3b80d8 commit c79bcffd435ca296c8006c50f2b86be1ec45a3a5 Author: Gabor Greif <ggreif@gmail.com> Date: Fri Nov 6 20:10:46 2009 +0000 fix typo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86281 91177308-0d34-0410-b5e6-96231b3b80d8 commit d67140691f38c21ee6da9b2d4d3302c31078b6a3 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 6 19:21:48 2009 +0000 Fix a problem discovered on self host. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86278 91177308-0d34-0410-b5e6-96231b3b80d8 commit 593376d7428da212386f6f583ca2973b03c13d73 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 6 18:24:32 2009 +0000 remove more code subsumed by r86264 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86270 91177308-0d34-0410-b5e6-96231b3b80d8 commit d3a1626f2fc865dceffc949662bf31dc37e64a95 Author: Devang Patel <dpatel@apple.com> Date: Fri Nov 6 18:24:05 2009 +0000 Tolerate invalid derived type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86269 91177308-0d34-0410-b5e6-96231b3b80d8 commit 52814ea97e6546388dc2460712ea6233389de475 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 6 18:22:54 2009 +0000 eliminate some more code subsumed by r86264 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86267 91177308-0d34-0410-b5e6-96231b3b80d8 commit e41dbc99d28bdadb78ae8a6515963ba62814239e Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 6 18:20:58 2009 +0000 remove now redundant code, r86264 handles this case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86266 91177308-0d34-0410-b5e6-96231b3b80d8 commit a00d671e18b86d5366609965dcc181b8995dbc8d Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 6 18:15:14 2009 +0000 Extend jump threading to support much more general threading predicates. This allows us to jump thread things like: _ZN12StringSwitchI5ColorE4CaseILj7EEERS1_RAT__KcRKS0_.exit119: %tmp1.i24166 = phi i8 [ 1, %bb5.i117 ], [ %tmp1.i24165, %_Z....exit ], [ %tmp1.i24165, %bb4.i114 ] %toBoolnot.i87 = icmp eq i8 %tmp1.i24166, 0 ; <i1> [#uses=1] %tmp4.i90 = icmp eq i32 %tmp2.i, 6 ; <i1> [#uses=1] %or.cond173 = and i1 %toBoolnot.i87, %tmp4.i90 ; <i1> [#uses=1] br i1 %or.cond173, label %bb4.i96, label %_ZN12... Where it is "obvious" that when coming from %bb5.i117 that the 'and' is always false. This triggers a surprisingly high number of times in the testsuite, and gets us closer to generating good code for doug's strswitch testcase. This also make a bunch of other code in jump threading redundant, I'll rip out in the next patch. This survived an enable-checking llvm-gcc bootstrap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86264 91177308-0d34-0410-b5e6-96231b3b80d8 commit 400718724c2abc7eab43ccf09a4e970a23846017 Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 6 18:03:10 2009 +0000 Use WriteAsOperand to print GlobalAddress MachineOperands. This prints them with the leading '@'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86261 91177308-0d34-0410-b5e6-96231b3b80d8 commit 83e42c7163cc29cf8afd36082164ffb8a2e4b454 Author: Devang Patel <dpatel@apple.com> Date: Fri Nov 6 17:58:12 2009 +0000 Do not bother to emit debug info for nameless global variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86259 91177308-0d34-0410-b5e6-96231b3b80d8 commit de46a5b60ea8cf3db0b613172667a7038470c578 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Nov 6 10:58:06 2009 +0000 Pass StringRef by value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86251 91177308-0d34-0410-b5e6-96231b3b80d8 commit d71e0318a7639a78ea87cc0f6eabf13358fd4c9e Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 6 06:33:01 2009 +0000 clang++ points out that this is pointless. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86239 91177308-0d34-0410-b5e6-96231b3b80d8 commit 002e65d73c9060d48f73b259ccfcc483352e859a Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 6 05:59:53 2009 +0000 remove some more Context arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86235 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6070c017ba421c2862fc0c25d9770169e858c7e3 Author: Chris Lattner <sabre@nondot.org> Date: Fri Nov 6 04:27:31 2009 +0000 remove a bunch of extraneous LLVMContext arguments from various APIs, addressing PR5325. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86231 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3209d11ed21bf3bc4e82a55509cfcc17f18fb6e4 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Nov 6 04:12:13 2009 +0000 NewNighlytTest: Fix timestamp format to actually make sense (it was missing the hour). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86229 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0fa6ca54e53fa3ebee13f92e1c422f8749e7b0f3 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Nov 6 04:12:07 2009 +0000 NewNightlyTest: Add -noclean option, which doesn't run 'make clean' before building LLVM (for testing). Also, switch to always running 'make clean' in the test-suite directories. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86228 91177308-0d34-0410-b5e6-96231b3b80d8 commit 59db302d26871b9aae9538e78940474cea811791 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Nov 6 04:12:02 2009 +0000 NewNightlyTest: Unbreak passing the build directory via a positional argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86227 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4c419e78067be2b1dd7f9de8cc6db5e827746b3b Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Nov 6 04:11:29 2009 +0000 NewNightlyTest: Add -llvmgccdir as alternative to environment variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86226 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2243fcd787afdb7b7f59f388778ba99d57b6a468 Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Nov 6 01:33:24 2009 +0000 Revert r86077 because it caused crashes in 179.art and 175.vpr on ARM git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86213 91177308-0d34-0410-b5e6-96231b3b80d8 commit fabc47c0671013d23e636704db0fb6a34e106615 Author: Devang Patel <dpatel@apple.com> Date: Fri Nov 6 01:30:04 2009 +0000 Do not try to emit debug info entry for dead global variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86212 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0ffe7349180f102968461625f010f1895afabe3e Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 6 00:19:43 2009 +0000 Don't print a redundant tab for inline asm, and do use the new printKill. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86206 91177308-0d34-0410-b5e6-96231b3b80d8 commit 94023e15c7231aa8362d75d5c55961314c3ff796 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Fri Nov 6 00:12:53 2009 +0000 Add a bunch of missing "template" keywords to disambiguate dependent template names. GCC eats this ill-formed code, Clang does not. I already filed PR5404 to improve recovery in this case git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86204 91177308-0d34-0410-b5e6-96231b3b80d8 commit 45535af451f897e642dcaeae79b3c8f75c125799 Author: Eric Christopher <echristo@apple.com> Date: Fri Nov 6 00:11:57 2009 +0000 Fix PR5315, original patch by Nicolas Capens! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86203 91177308-0d34-0410-b5e6-96231b3b80d8 commit bbc43963b76f8e54e6cee47defde4868586665fd Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 6 00:04:54 2009 +0000 Factor out the printing of the leading tab into printInlineAsm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86199 91177308-0d34-0410-b5e6-96231b3b80d8 commit 72dec44309783b3651a549f18637d055d54334ae Author: Dan Gohman <gohman@apple.com> Date: Fri Nov 6 00:04:05 2009 +0000 Make printImplicitDef and printKill non-virtual, since they don't need to be overridden. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86198 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3965ee217f82f6faae5b9bff7a756d2573edbe2c Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 23:53:08 2009 +0000 Use SUBREG_TO_REG instead of INSERT_SUBREG to model x86-64's implicit zero-extend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86196 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2b4eb23c3ae503dbfe2f2d14ac14a513d033755c Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 23:34:59 2009 +0000 Teach LSR to avoid calling SplitCriticalEdge on edges with indirectbr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86193 91177308-0d34-0410-b5e6-96231b3b80d8 commit cabfc80a201e5153d12f5ba18a6376b5641170b6 Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 23:31:40 2009 +0000 Update these tests for the new label names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86192 91177308-0d34-0410-b5e6-96231b3b80d8 commit ff592eced3d70159de10c5a3837e0d0fee7edb8f Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 23:14:35 2009 +0000 Fix the label name generation for address-taken labels to avoid potential problems with name collisions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86189 91177308-0d34-0410-b5e6-96231b3b80d8 commit fb99c50b72f2e9eb91d2b8ecf269210e984c98f7 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Thu Nov 5 23:01:30 2009 +0000 Make a few more LLVM headers parsable as standalone headers. Fix some problems with the hidden copy constructors for ImmutableMap/ImmutableSet found by Clang++. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86186 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2061a07c64a7bdc784d114c796369a14b557c202 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Thu Nov 5 22:58:04 2009 +0000 Teach lit's SyntaxCheckTest two new tricks: - skip .svn directories - add a set of excluded filenames so we can easily skip tests git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86185 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0d1cb01d2bfeba381f2df9e1295403c8f44527d6 Author: Lang Hames <lhames@gmail.com> Date: Thu Nov 5 22:20:57 2009 +0000 Added support for renumbering existing index list elements. Removed some junk from the initial numbering code in runOnMachineFunction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86184 91177308-0d34-0410-b5e6-96231b3b80d8 commit 934feaaf81ccedee352186013166f25def61f914 Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 21:48:32 2009 +0000 Avoid calling getUniqueExitBlocks from within LoopSimplify, as it depends on loops having dedicated exits, which LoopSimplify can no longer always guarantee. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86181 91177308-0d34-0410-b5e6-96231b3b80d8 commit daf8ec35aa03cc88dc86febffce6daf1f2ba4d53 Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 21:47:04 2009 +0000 LoopDeletion depends on loops having dedicated exits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86180 91177308-0d34-0410-b5e6-96231b3b80d8 commit 80439603bfcf5cc282adf1d4aa2e2fb0ece52bd2 Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 21:14:46 2009 +0000 The introduction of indirectbr meant the introduction of unsplittable critical edges, which means the introduction of loops which cannot be transformed to LoopSimplify form. Fix LoopSimplify to avoid transforming such loops into invalid code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86176 91177308-0d34-0410-b5e6-96231b3b80d8 commit aef6c7a849c4e8bdd07c017aef2dcfb8c019e287 Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 21:11:53 2009 +0000 Update various Loop optimization passes to cope with the possibility that LoopSimplify form may not be available. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86175 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6c41ba177e160a4c26c6c9c7c49d27cbecf1a94b Author: David Goodwin <david_goodwin@apple.com> Date: Thu Nov 5 21:06:09 2009 +0000 Fix bug in aggressive antidep breaking; liveness was not updated correctly for regions that do not have antidep candidates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86172 91177308-0d34-0410-b5e6-96231b3b80d8 commit d2691dbecbd79d0e6f4523622a2078ba10c860ef Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 19:44:06 2009 +0000 Teach LoopUnroll how to bail if LoopSimplify can't give it what it needs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86164 91177308-0d34-0410-b5e6-96231b3b80d8 commit 11bf599cd4fe54f457b4f23940dbd62bd8a70c17 Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 19:43:25 2009 +0000 Call getAnalysis<LoopInfo> the normal way, instead of asking passed-in LoopPassManager for it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86163 91177308-0d34-0410-b5e6-96231b3b80d8 commit 406a0d14c0a031fe251e4d63f6713387cdebeb13 Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 19:42:20 2009 +0000 InstrTypes.h includes Instruction.h, so it's not necessary to include both. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86162 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2c26c5bac5337d59784e0d7bfa8050b1d571a3da Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 19:41:37 2009 +0000 Fix IVUsers to avoid assuming that the loop has a unique backedge. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86161 91177308-0d34-0410-b5e6-96231b3b80d8 commit 967f370d753ef2b39eb89ffea50b1f4601958beb Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 19:33:15 2009 +0000 Delete an unused member variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86160 91177308-0d34-0410-b5e6-96231b3b80d8 commit 47927a381cd2049120ca518a5b8a879488129bf6 Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 19:21:41 2009 +0000 Factor out the predicate code for loopsimplify form exit blocks into a separate helper function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86159 91177308-0d34-0410-b5e6-96231b3b80d8 commit 355b2a31a057ac8164f0ab4ff0c3b11a38cf0205 Author: Oscar Fuentes <ofv@wanadoo.es> Date: Thu Nov 5 19:03:26 2009 +0000 CMake: Detect dotty. Patch by Arnaud Allard de Grandmaison! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86153 91177308-0d34-0410-b5e6-96231b3b80d8 commit c389f9986beace94d187e24fae9c47c4668d3eed Author: Oscar Fuentes <ofv@wanadoo.es> Date: Thu Nov 5 18:57:56 2009 +0000 CMake: do not test for pthread and dl libraries on Windows (except Cygwin). Fixes PR 5368. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86152 91177308-0d34-0410-b5e6-96231b3b80d8 commit 63e2b7e7ea21976b0922a76e4cd10ebf3a2591ea Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 18:49:11 2009 +0000 Avoid printing a redundant space in SDNode->dump(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86151 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7abf0939c0cf058c89bfdf010ebfa0377fb17034 Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 18:47:09 2009 +0000 Remove uninteresting and confusing debug output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86149 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5c2b47ac5ace2e3c08d4e37a6f9813c37ece0407 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Thu Nov 5 18:30:50 2009 +0000 Move llvm::cl::opt's conversion function into the base classes that actually need that conversion function. Silences a Clang++ warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86148 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5013522f6bb58c5591e2681e6e293ed9f3bd76e1 Author: Dan Gohman <gohman@apple.com> Date: Thu Nov 5 18:25:44 2009 +0000 Add an assertion to catch indirectbr in SplitBlockPredecessors. This makes several optimization passes abort in cases where they're currently silently miscompiling code. Remove the indirectbr assertion from SplitEdge. Indirectbr is only a problem for critical edges, and SplitEdge defers to SplitCriticalEdge to handle those, and SplitCriticalEdge has its own assertion for indirectbr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86147 91177308-0d34-0410-b5e6-96231b3b80d8 commit 586101f58224a041c3fafb356155e42e16ba793e Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 5 18:19:19 2009 +0000 add a note from PR5313 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86146 91177308-0d34-0410-b5e6-96231b3b80d8 commit 68e77880026c35f6dfd89cc28ed98b349751ea8c Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 5 17:51:44 2009 +0000 Declare classes with matched tags, pointed out by a clang++ warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86144 91177308-0d34-0410-b5e6-96231b3b80d8 commit df1353e8583730b5b576097b9c4d0a98d4b4af9b Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Nov 5 17:44:22 2009 +0000 Teach SimplifyLibCalls to fold memcmp calls with constant arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86141 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1520cef0c0cc888a54599902add7541a19133b4b Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Nov 5 16:27:33 2009 +0000 lit: Add --param NAME=VALUE option, for test suite specific use (to communicate arbitrary command line arguments to the test suite). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86137 91177308-0d34-0410-b5e6-96231b3b80d8 commit 329f7bafcebcdc487ef8bca808dacd19c0c5594e Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Nov 5 14:33:27 2009 +0000 Do map insert+find in one step. TODO -= 2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86133 91177308-0d34-0410-b5e6-96231b3b80d8 commit bf0e40c0133361f1e4f2a96a7bd6cdcc5080a695 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Nov 5 14:32:40 2009 +0000 Path::createDirectoryOnDisk should ignore existing directories on win32 too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86132 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4de7965e718bb1a3fc3b36e233e97246c32c84f8 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Thu Nov 5 13:39:23 2009 +0000 Make two more LLVM headers standalone git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86131 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4e4fe9d4baccaff88c839d9662b0b503f9d2edd0 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Thu Nov 5 13:30:28 2009 +0000 Make a few headers standalone. Plus, add a missing "template" keyword that Clang diagnoses but GCC does not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86130 91177308-0d34-0410-b5e6-96231b3b80d8 commit 22a64b22aaddff70a4563b541467b323ff0b9dd8 Author: Chris Lattner <sabre@nondot.org> Date: Thu Nov 5 05:57:34 2009 +0000 merge a few crash tests into crash.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86119 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3b0f27313e3d82ccaee3764a0513fde8e34a4c38 Author: Mon P Wang <wangmp@apple.com> Date: Thu Nov 5 03:19:08 2009 +0000 Reintroduce support for overloading target intrinsics git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86114 91177308-0d34-0410-b5e6-96231b3b80d8 commit 38e9090bf172f4eb48f6ec53f5895160515b84a9 Author: David Goodwin <david_goodwin@apple.com> Date: Thu Nov 5 01:45:50 2009 +0000 Replace std::map.at() with std::map[]. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86102 91177308-0d34-0410-b5e6-96231b3b80d8 commit 36005a2ab57baffb80e841d6d3334c41aa8ddc86 Author: David Goodwin <david_goodwin@apple.com> Date: Thu Nov 5 01:19:35 2009 +0000 Break anti-dependencies using free registers in a round-robin manner to avoid introducing new anti-dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86098 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9d112f2efc514158edea9dd883ca2885d91ef999 Author: Lang Hames <lhames@gmail.com> Date: Thu Nov 5 01:18:31 2009 +0000 Tidied some ugliness in the SlotIndex default constructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86097 91177308-0d34-0410-b5e6-96231b3b80d8 commit a192bc05ae6122d9b2921cbbb0337db8972961ea Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Nov 5 01:16:59 2009 +0000 Now that code placement optimization pass is run for JIT, make sure it's before pre-emit passes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86092 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3970a4b91a1ffac6bbcb448d4d1f5097014520e0 Author: Devang Patel <dpatel@apple.com> Date: Thu Nov 5 01:13:02 2009 +0000 Use WeakVH while storing metadata in containers. This fixes PR5393. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86091 91177308-0d34-0410-b5e6-96231b3b80d8 commit 45a329b627400a8481e9ade2288357391d2f3a25 Author: Lang Hames <lhames@gmail.com> Date: Thu Nov 5 00:52:28 2009 +0000 Removed an assert which was causing significant slowdowns in debug builds. This assert was very conservative to begin with (the error condition is well covered by tests elsewhere in the code) so we won't miss much by removing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86088 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8f43c297b8a4825f8ceace47c00c3a2491667839 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Nov 5 00:51:31 2009 +0000 Add -mtriple to llc commands, attempting to fix buildbot failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86086 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10aae1b683ac3f55b0f49787927e385cfe2cd706 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Nov 5 00:51:13 2009 +0000 Code refactoring. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86085 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9a97a7f3749e9be0bf9b91571704a5b671f9dbe6 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Nov 5 00:30:35 2009 +0000 Attempt again to fix buildbot failures: make expected output less specific and compile with -mtriple to specify *-apple-darwin targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86081 91177308-0d34-0410-b5e6-96231b3b80d8 commit c466871dfda63d07da52ca2d87279c33a1db2eca Author: David Goodwin <david_goodwin@apple.com> Date: Thu Nov 5 00:16:44 2009 +0000 Correctly add chain dependencies around calls and unknown-side-effect instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86080 91177308-0d34-0410-b5e6-96231b3b80d8 commit e67ebab906b981bb9534cd7c68fda75cb5ff57c9 Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Nov 5 00:03:03 2009 +0000 Update CreateMalloc so that its callers specify the size to allocate: MallocInst-autoupgrade users use non-TargetData-computed allocation sizes. Optimization uses use TargetData to compute the allocation size. Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays. Extend getMallocType() to support malloc calls that have non-bitcast uses. Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses. The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly. Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses. The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use. Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use. Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86077 91177308-0d34-0410-b5e6-96231b3b80d8 commit 71842a96a0af9476bb92a29534509e04f02a835d Author: Devang Patel <dpatel@apple.com> Date: Wed Nov 4 23:48:00 2009 +0000 While calculating original type size for a derived type, handle type variants encoded as DIDerivedType appropriately. This improves bitfield support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86073 91177308-0d34-0410-b5e6-96231b3b80d8 commit f1d76577adf6049e5e7b389bc928d3367e8acbc3 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Nov 4 23:20:40 2009 +0000 Grammar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86068 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5d0336c05ff61c5c2c8592e07c977cf3f9e72e46 Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 4 23:20:12 2009 +0000 improve DSE when TargetData is not around, based on work by Hans Wennborg! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86067 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8db35425f1cc0dfc5275e413a302a03d99a3c038 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Nov 4 23:11:07 2009 +0000 Now that the memory leak from McCat/08-main has been fixed (86056), re-enable aggressive testing of dynamic stack alignment. Note that this is off by default, and enabled for LLCBETA nightly results. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86064 91177308-0d34-0410-b5e6-96231b3b80d8 commit 688ef4595d8d624bb968d508432a64a2652176ae Author: Jim Grosbach <grosbach@apple.com> Date: Wed Nov 4 22:41:51 2009 +0000 If a function has no stack frame at all, dynamic realignment isn't necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86057 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6023c439e5e7ed8cfcb63488e411e3f04f2515da Author: Jim Grosbach <grosbach@apple.com> Date: Wed Nov 4 22:41:00 2009 +0000 dynamic stack realignment necessitates scanning the floating point callee- saved instructions even if no stack adjustment for those saves is needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86056 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7d9fe58ac9c54287f9894c61e361af13e6690300 Author: Devang Patel <dpatel@apple.com> Date: Wed Nov 4 22:06:12 2009 +0000 Fix DW_AT_data_member_location for bit-fields. It points to the location of annonymous field that covers respective field. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86054 91177308-0d34-0410-b5e6-96231b3b80d8 commit e8cbca94a15e7064ee043b77799d9906d8d4b324 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Nov 4 21:31:18 2009 +0000 Add PowerPC codegen for indirect branches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86050 91177308-0d34-0410-b5e6-96231b3b80d8 commit 13d4167715408b029b52ca88437321f306b057df Author: Lang Hames <lhames@gmail.com> Date: Wed Nov 4 21:24:15 2009 +0000 Handle empty/tombstone keys for LiveIndex more cleanly. Check for index sanity when constructing index list entries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86049 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5791bad4eae891bd0596cdf5b5984e42b15e693f Author: Duncan Sands <baldrick@free.fr> Date: Wed Nov 4 20:50:23 2009 +0000 A value is only assigned to errno if NumRead equals -1, so do not reason based on errno if NumRead has a different value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86046 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3e5933ce0a357d34527487908bde7c1d29a0795f Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Nov 4 20:04:11 2009 +0000 Fix broken test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86045 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4fc72f071d1541bcc6f6a5d276b728167d53359c Author: Eric Christopher <echristo@apple.com> Date: Wed Nov 4 19:57:50 2009 +0000 Add some options to disable various code gen optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86044 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ff19cf6b084b54e4f04b72f080926a4a37d953c Author: Devang Patel <dpatel@apple.com> Date: Wed Nov 4 19:37:40 2009 +0000 Array element size does not match array size but array is not a bitfield. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86043 91177308-0d34-0410-b5e6-96231b3b80d8 commit a589b3890a92196ca96b3a26e65ddafc52cbe3d5 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Nov 4 19:25:34 2009 +0000 Add test for ARM indirectbr codegen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86042 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7f251671d1a905be12347721af468b8e31ad9d6e Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Wed Nov 4 19:24:37 2009 +0000 Print out an informative comment for KILL instructions. The KILL pseudo-instruction may survive to the asm printer pass, just like the IMPLICIT_DEF. Print the KILL as a comment instead of just leaving a blank line in the output. With -asm-verbose=0, a blank line is printed, like IMPLICIT?DEF. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86041 91177308-0d34-0410-b5e6-96231b3b80d8 commit bf2c373dfc705dc218ea5dc83e8ddfe3c330702b Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 4 18:57:42 2009 +0000 Fix an iterator invalidation bug that happens when a hashtable resizes in IPSCCP. This fixes PR5394. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86036 91177308-0d34-0410-b5e6-96231b3b80d8 commit fcdde22dbb4894a8b9711ef1f921426a3eb6727a Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Nov 4 08:36:50 2009 +0000 Look for llvm-gcc under /Developer/usr/bin first. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86023 91177308-0d34-0410-b5e6-96231b3b80d8 commit a39f127c957d42f0ce408b00fb5c597fb9f766d1 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Nov 4 08:33:14 2009 +0000 RangeIsDefinedByCopyFromReg() should check for subreg_to_reg, insert_subreg, and extract_subreg as a "copy" that defines a valno. Also fixes a typo. These two issues prevent a simple subreg coalescing from happening before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86022 91177308-0d34-0410-b5e6-96231b3b80d8 commit 93e6ff9686763f528032b5c1e15153672cdde84c Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 4 08:05:20 2009 +0000 move two functions up higher in the file. Delete a useless argument to EmitGEPOffset. Implement some new transforms for optimizing subtracts of two pointer to ints into the same vector. This happens for C++ iterator idioms for example, stringmap takes a const char* that points to the start and end of a string. Once inlined, we want the pointer difference to turn back into a length. This is rdar://7362831. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86021 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0ed81a9a308da7f0b05af7887e53b913cdf8128c Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 4 07:57:05 2009 +0000 filecheckize this test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86020 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2527652d0530076c4fcfc114b4a950bbfeeaa77a Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Nov 4 07:38:48 2009 +0000 The .n suffix must go after the predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86019 91177308-0d34-0410-b5e6-96231b3b80d8 commit b3673807c7cef986331086848ace56e2a7a8a421 Author: Nick Lewycky <nicholas@mxc.ca> Date: Wed Nov 4 06:15:28 2009 +0000 The magic for our current brand of .bc files is BC. For older ones it was llvc. When was it ever "llvm"? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86009 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9f225801184a85aa03ddc3b45da5ad0eda8986ed Author: Chris Lattner <sabre@nondot.org> Date: Wed Nov 4 05:00:12 2009 +0000 make IRBuilder zap "X|0" and "X&-1" when building IR, this happens during bitfield codegen and slows down -O0 compile times by making useless IR. rdar://7362516 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86006 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca58fd8d29aa31703adf240118e6031be84c3808 Author: Daniel Dunbar <daniel@zuster.org> Date: Wed Nov 4 04:32:50 2009 +0000 configure: Add --with-optimize-option, for setting the default value of OPTIMIZE_OPTION. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86005 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3072a0705d8acd8aad61b8591362367c428a3c19 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Nov 4 03:08:57 2009 +0000 Silence implicit conversion warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86000 91177308-0d34-0410-b5e6-96231b3b80d8 commit e6fbcac2b54259df3d1f22fbbb0a0609c51cc5c9 Author: Lang Hames <lhames@gmail.com> Date: Wed Nov 4 01:52:40 2009 +0000 Another spurious friend declaration removed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85997 91177308-0d34-0410-b5e6-96231b3b80d8 commit 36b4226099ea59d8a6711a84c19cace000cc37ea Author: Lang Hames <lhames@gmail.com> Date: Wed Nov 4 01:34:22 2009 +0000 Removed an unnecessary friend declaration and some crufty comments from IndexListEntry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85995 91177308-0d34-0410-b5e6-96231b3b80d8 commit c527ba8dbb651bc60d2ea16990283d8e96e249ed Author: Douglas Gregor <doug.gregor@gmail.com> Date: Wed Nov 4 01:32:06 2009 +0000 Fix CMake makefiles git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85994 91177308-0d34-0410-b5e6-96231b3b80d8 commit 94b940d57a3e1cb133733ffa70dd7b3dec8e0d05 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Nov 4 00:42:33 2009 +0000 Fix test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85986 91177308-0d34-0410-b5e6-96231b3b80d8 commit 98fd6060b428475e227274836140601d27016a4f Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Nov 4 00:00:39 2009 +0000 Use ldr.n to workaround a darwin assembler bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85980 91177308-0d34-0410-b5e6-96231b3b80d8 commit d6a717cba117dae9a90a373698f691d9452c9c49 Author: Lang Hames <lhames@gmail.com> Date: Tue Nov 3 23:52:08 2009 +0000 The Indexes Patch. This introduces a new pass, SlotIndexes, which is responsible for numbering instructions for register allocation (and other clients). SlotIndexes numbering is designed to match the existing scheme, so this patch should not cause any changes in the generated code. For consistency, and to avoid naming confusion, LiveIndex has been renamed SlotIndex. The processImplicitDefs method of the LiveIntervals analysis has been moved into its own pass so that it can be run prior to SlotIndexes. This was necessary to match the existing numbering scheme. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85979 91177308-0d34-0410-b5e6-96231b3b80d8 commit 24a1825a08acd458d350140f0706f3cbc5bf6a2e Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Nov 3 23:44:31 2009 +0000 Fix branch folding bug for indirect branches: for a block containing only an unconditional branch (possibly from tail merging), this code is trying to redirect all of its predecessors to go directly to the branch target, but that isn't feasible for indirect branches. The other predecessors (that don't end with indirect branches) could theoretically still be handled, but that is not easily done right now. The AnalyzeBranch interface doesn't currently let us distinguish jump table branches from indirect branches, and this code is currently handling jump tables. To avoid punting on address-taken blocks, we would have to give up handling jump tables. That seems like a bad tradeoff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85975 91177308-0d34-0410-b5e6-96231b3b80d8 commit dca9e5cbeb8369bd4d8a6ea6a3232717884b1e8a Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 3 23:40:48 2009 +0000 reimplement multiple return value handling in IPSCCP, making it more aggressive an correct. This survives building llvm in 64-bit mode with optimizations and the built llvm passes make check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85973 91177308-0d34-0410-b5e6-96231b3b80d8 commit 276f816673b1257798355cedad6f1529c75af3dd Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 3 23:13:34 2009 +0000 Fix t2Int_eh_sjlj_setjmp. Immediate form of orr is a 32-bit instruction. So it should be 22 bytes instead of 20 bytes long. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85965 91177308-0d34-0410-b5e6-96231b3b80d8 commit eafe7166f828b3444172ff8d3ab2fc1f060d1004 Author: Bill Wendling <isanbard@gmail.com> Date: Tue Nov 3 22:50:10 2009 +0000 Use llvm-gcc on newer Darwins. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85963 91177308-0d34-0410-b5e6-96231b3b80d8 commit 28cf87a1ef35e19850b37d1c86e1e525041bb41a Author: Nuno Lopes <nunoplopes@sapo.pt> Date: Tue Nov 3 22:07:07 2009 +0000 set svn:ignore git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85953 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3e5ab0bd7db07a568cb543f7c78c1bc5ab70efa5 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 3 21:59:33 2009 +0000 fconsts / fconstd immediate should be proceeded with #. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85952 91177308-0d34-0410-b5e6-96231b3b80d8 commit c09ffd223afb21cb7619530e58969b34fdcf71c0 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 3 21:50:09 2009 +0000 fix broken link git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85951 91177308-0d34-0410-b5e6-96231b3b80d8 commit d6cb4521300b5d215e1363b82cdc2fd443c67088 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 3 21:40:02 2009 +0000 Re-apply 85799. It turns out my code isn't buggy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85947 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4cc5096427898be26afda67e6c1de40a98603000 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 3 21:26:26 2009 +0000 fix test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85946 91177308-0d34-0410-b5e6-96231b3b80d8 commit 339daf45dbfe2111a16d08e0068b9e3669c6684f Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 3 21:25:50 2009 +0000 merge a test into ipsccp-basic. running llvm-ld to get one pass is... bad. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85945 91177308-0d34-0410-b5e6-96231b3b80d8 commit 996892b9ed838e797c1a870e9839dfcd236a5014 Author: David Goodwin <david_goodwin@apple.com> Date: Tue Nov 3 20:57:50 2009 +0000 Do a scheduling pass ignoring anti-dependencies to identify candidate registers that should be renamed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85939 91177308-0d34-0410-b5e6-96231b3b80d8 commit a5b4c33c8bee18c293e4dbb9ce53d60bb653ad4d Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 3 20:52:57 2009 +0000 finish half thunk thought git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85937 91177308-0d34-0410-b5e6-96231b3b80d8 commit fb4ea016719ee4d21cd3c0d01f82cd12c346d870 Author: Victor Hernandez <vhernandez@apple.com> Date: Tue Nov 3 20:39:35 2009 +0000 Changes requested (avoid getFunction(), avoid Type creation via isVoidTy(), and avoid redundant isFreeCall cases) in feedback to r85176 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85936 91177308-0d34-0410-b5e6-96231b3b80d8 commit d078dfc911400195d7d2fc6961f5e684dbb1413c Author: David Goodwin <david_goodwin@apple.com> Date: Tue Nov 3 20:15:00 2009 +0000 <rdar://problem/7352605>. When building schedule graph use mayAlias information to avoid chaining loads/stores of spill slots with non-aliased memory ops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85934 91177308-0d34-0410-b5e6-96231b3b80d8 commit d3406e998920033dc225fa89d75e161c2a47c625 Author: Victor Hernandez <vhernandez@apple.com> Date: Tue Nov 3 20:02:35 2009 +0000 Changes (* location in pointer variables, avoiding include, and using APInt::getLimitedValue) based on feedback to r85814 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85933 91177308-0d34-0410-b5e6-96231b3b80d8 commit e9b50cdd8d518c6321aba8b741024fa90d1bef4a Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 3 19:35:13 2009 +0000 turn IPSCCP back on by default, try #3 or 4? Woo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85929 91177308-0d34-0410-b5e6-96231b3b80d8 commit 59dc8e6f2cea716a6f677d50bd82d96cd45ebc0e Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 3 19:24:51 2009 +0000 fix an IPSCCP bug I introduced when I changed IPSCCP to start working on functions that don't have local linkage. Basically, we need to be more careful about propagating argument information to functions whose results we aren't tracking. This fixes a miscompilation of LLVMCConfigurationEmitter.cpp when built with an llvm-gcc that has ipsccp enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85923 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3133d382edb595aed9df285f64f32a4ace8044bc Author: Duncan Sands <baldrick@free.fr> Date: Tue Nov 3 19:10:22 2009 +0000 Make this code more robust by not thinking we are making progress if zero bytes were read. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85922 91177308-0d34-0410-b5e6-96231b3b80d8 commit ad58bb3530c4ee4c2363217f515e99f700d7e52c Author: Devang Patel <dpatel@apple.com> Date: Tue Nov 3 19:06:07 2009 +0000 Parse debug info attached with insertvalue and extractvalue instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85921 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0c7403016afc834b7c310a5676de5ba5dfd1ea2c Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Tue Nov 3 18:46:11 2009 +0000 Move subtarget check upper for NEON reg-reg fixup pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85914 91177308-0d34-0410-b5e6-96231b3b80d8 commit f982ca6b74654680fb22828fc1f9573b8ecd634d Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 3 18:30:31 2009 +0000 mark some constant global const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85910 91177308-0d34-0410-b5e6-96231b3b80d8 commit 11ac7e7b5d9a4c1ede1e3485ad38eb4ca889918c Author: Devang Patel <dpatel@apple.com> Date: Tue Nov 3 18:30:27 2009 +0000 Ignore unnamed variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85909 91177308-0d34-0410-b5e6-96231b3b80d8 commit 85bc7b12e5f602c250d35c681c5639d7a56e1099 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 3 17:54:12 2009 +0000 xfail this test since daniel turned off ipsccp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85907 91177308-0d34-0410-b5e6-96231b3b80d8 commit fdca138a92bf031f1bd4fb26f0564c4ca97b5658 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 3 17:03:02 2009 +0000 testcase for r85903 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85906 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8d2a9ca1cfb732a273a4707480f7a9b11c22d0f5 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 3 16:50:11 2009 +0000 fix a subtle bug I introduced when refactoring SCCP. Testcase to follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85903 91177308-0d34-0410-b5e6-96231b3b80d8 commit a092c1232e712b8d40d71910a0bde367875bd31f Author: Kenneth Uildriks <kennethuil@gmail.com> Date: Tue Nov 3 15:29:06 2009 +0000 Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85900 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6d8f7ca741e223de15b4bc83ddc00033e5da5be1 Author: Kenneth Uildriks <kennethuil@gmail.com> Date: Tue Nov 3 15:25:20 2009 +0000 Added a comment to a function that had none git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85899 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1e96e727b2b74ae92c8d3ed6c1c786aca6f513f5 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Tue Nov 3 12:52:50 2009 +0000 Eliminate some temporaries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85896 91177308-0d34-0410-b5e6-96231b3b80d8 commit 594522ab60e8ccebd9339149714422e94e1fdf72 Author: Duncan Sands <baldrick@free.fr> Date: Tue Nov 3 09:40:08 2009 +0000 Run the functionattrs pass after the inliner, and not before. This makes both logical sense (see below) and increases the number of functions marked readnone/readonly by about 1-2% in practice. The number of functions marked nocapture goes up by about 5-10%. The reason it makes sense is shown by the following example: if you run -functionattrs -inline on it, then no attributes are assigned. But if you instead run -inline -functionattrs then @f is marked readnone because the simplifications produced by the inliner eliminate the store. @x = external global i32 define void @w(i1 %b) { br i1 %b, label %write, label %return write: store i32 1, i32 *@x br label %return return: ret void } define void @f() { call void @w(i1 0) ret void } git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85893 91177308-0d34-0410-b5e6-96231b3b80d8 commit fab6da0286f9888c0c3a10117bcdbcb4504fe99a Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Nov 3 07:49:22 2009 +0000 Speculatively redisable IPSCCP, I think its still breaking things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85884 91177308-0d34-0410-b5e6-96231b3b80d8 commit 39c2f8441685672f1b501c4fc24c22dba6e19274 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Nov 3 07:26:38 2009 +0000 lit: Update Clang's test style to use XFAIL: and XTARGET: lines that match LLVM's tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85882 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5d63848cf8c3a3b885f75dd0be11e5e217c254e9 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 3 07:08:08 2009 +0000 Trim unnecessary include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85878 91177308-0d34-0410-b5e6-96231b3b80d8 commit 74f8efd28d43839bb2513ad39c93a5ae317c3764 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Nov 3 06:29:56 2009 +0000 For Thumb indirect branches, use "mov pc, reg" which does not switch between ARM/Thumb modes and does not require the low bit of the target address to be set for Thumb. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85874 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8ea4690298176786e7a20f69755e5dadaa4f5e98 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Nov 3 06:29:36 2009 +0000 Fix a funky "declared with greater visibility than the type of its field" warning from gcc by removing VISIBILITY_HIDDEN attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85873 91177308-0d34-0410-b5e6-96231b3b80d8 commit f865754812e17df0cee7e4a1d387bac6603f015b Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 3 05:52:54 2009 +0000 Fix PR5367. QPR_8 is the super regclass of DPR_8 and SPR_8. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85871 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8ef1ec1295a24dc9ed54952005a3f2cab20165c6 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 3 05:51:39 2009 +0000 Clean up copyRegToReg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85870 91177308-0d34-0410-b5e6-96231b3b80d8 commit 89947e524969d671c7cb8763fdc333ee02727338 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Nov 3 05:50:57 2009 +0000 Add QPR_8 as a superreg class of SPR_8 and DPR_8. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85869 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7cae17293078de6851d16451c78680666157e05d Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 3 05:35:19 2009 +0000 remove unneeded checks of isFreeCall git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85866 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6679f518c4388f1b5a580f9cf6d82391a863dfd4 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 3 05:34:51 2009 +0000 remove a check of isFreeCall: the argument to free is already nocapture so the generic call code works fine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85865 91177308-0d34-0410-b5e6-96231b3b80d8 commit a856e3625f4d2486c2968afbbbc1192ae191b88f Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 3 05:33:46 2009 +0000 remove a isFreeCall check: it is a callinst that can write to memory already. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85863 91177308-0d34-0410-b5e6-96231b3b80d8 commit 53716298997391af4aa6547150f9162a942312ff Author: Ted Kremenek <kremenek@apple.com> Date: Tue Nov 3 04:14:12 2009 +0000 Update CMake file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85861 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6008c51749687d8525357ae6f75f3deebfbc032c Author: Ted Kremenek <kremenek@apple.com> Date: Tue Nov 3 04:06:58 2009 +0000 Support updating 'llvm_add_target' lists as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85860 91177308-0d34-0410-b5e6-96231b3b80d8 commit cfdce75f068a2af4fc55051c09b80119fc720a81 Author: Ted Kremenek <kremenek@apple.com> Date: Tue Nov 3 04:01:53 2009 +0000 Alphabetize. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85859 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3a2499a52b50685ed16c51d28550a09d0235dd29 Author: Chris Lattner <sabre@nondot.org> Date: Tue Nov 3 03:42:51 2009 +0000 turn IPSCCP back on now that the iterator invalidation bug is fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85858 91177308-0d34-0410-b5e6-96231b3b80d8 commit adcdd9b902b4e48f1231f8a504dd7a6871eb1515 Author: Nate Begeman <natebegeman@mac.com> Date: Tue Nov 3 03:30:51 2009 +0000 Add a couple more target nodes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85857 91177308-0d34-0410-b5e6-96231b3b80d8 commit b00cf59da47c3f365ab2834850876dfccdaf2346 Author: Nate Begeman <natebegeman@mac.com> Date: Tue Nov 3 02:19:31 2009 +0000 Declare sin & cos as readonly so they match the code in SelectionDAGBuild git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85853 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3ed3a35a6549891d3a9ef08bcc9caaf21703a537 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Tue Nov 3 01:04:26 2009 +0000 Turn neon reg-reg moves fixup code into separate pass. This should reduce the compile time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85850 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3daf4012398a2511b36cf7bd31192f098f9820b9 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Tue Nov 3 00:37:36 2009 +0000 Temporary xfail until PR5367 will be resolved git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85848 91177308-0d34-0410-b5e6-96231b3b80d8 commit b6057985f14be94252b2741f5e8ae338879395a6 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Tue Nov 3 00:24:48 2009 +0000 Revert r85049, it is causing PR5367 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85847 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c9eda2cdfdd2fa0f49365d669d74968e1a925e2 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Nov 3 00:02:05 2009 +0000 Revert previous change to a comment. The BlockAddresses go in the constant pool so they don't get wrapped separately. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85844 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd355c46afc286a3d561ac671dba1f057cde8e6f Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 23:25:39 2009 +0000 fix a nasty iterator invalidation bug from my conversion from std::map to DenseMap, exposed on release llvm-gcc bootstrap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85840 91177308-0d34-0410-b5e6-96231b3b80d8 commit da8a1abb3dc7f1fde5759ccb0fc0820c4198d94d Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Nov 2 21:49:14 2009 +0000 Revert 85799 for now. It might be breaking llvm-gcc driver. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85827 91177308-0d34-0410-b5e6-96231b3b80d8 commit d1da913d170e20cf91fd12f9da5d733f171bcb7d Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Nov 2 20:59:23 2009 +0000 Put BlockAddresses into ARM constant pools. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85824 91177308-0d34-0410-b5e6-96231b3b80d8 commit b7209bfc4cf90c88ce0d1795184e99fe54091c53 Author: Kevin Enderby <enderby@apple.com> Date: Mon Nov 2 20:14:39 2009 +0000 Fix ARMAsmParser::ParseMemoryOffsetReg() where the parameter OffsetRegNum should have been passed as a reference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85823 91177308-0d34-0410-b5e6-96231b3b80d8 commit d78dfdfe75fcfb54c65bd312ab31fec89d6741be Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 19:31:10 2009 +0000 revert r8579[56], which are causing unhappiness in buildbot land. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85818 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5bcc6637fb7f1d7a618c4fc9f981c7ae1d6cead0 Author: Oscar Fuentes <ofv@wanadoo.es> Date: Mon Nov 2 19:11:03 2009 +0000 CMake: Report an error if there is an unknown .cpp file in a source directory. This is useful in case someone who works with the config&make build system forgot to add a file to its CMakeLists.txt. Instead of obtaining undefined references at link time, cmake will complain at configure time on the first build after a svn update. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85817 91177308-0d34-0410-b5e6-96231b3b80d8 commit 529fbeb0c9987e3211c6d44d123c13e6dad5673c Author: Victor Hernandez <vhernandez@apple.com> Date: Mon Nov 2 18:51:28 2009 +0000 Set bit instead of calling pow() to compute 2 << n git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85814 91177308-0d34-0410-b5e6-96231b3b80d8 commit 76356bcc3bdfbdb0470281af5b3505a990cf1e94 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 18:28:45 2009 +0000 typo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85812 91177308-0d34-0410-b5e6-96231b3b80d8 commit c264c9eca13f6b368663f98b1cf3c3d23dc7f061 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 18:27:22 2009 +0000 merge 2008-03-10-sret.ll into ipsccp-basic.ll, and upgrade its syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85811 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3e5b03000665b0ef55d866a33f88bb8375f96695 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 18:22:51 2009 +0000 disable IPSCCP support for multiple return values, it is buggy, so just disable it until I can fix it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85810 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9a8ec820614ab5b5a0edef1297cbc4cec4b1c3d9 Author: David Goodwin <david_goodwin@apple.com> Date: Mon Nov 2 17:28:36 2009 +0000 Fix schedule model for BFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85809 91177308-0d34-0410-b5e6-96231b3b80d8 commit a07d68f6f017c73cbca1222cddd6baf40974974b Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Nov 2 17:10:37 2009 +0000 Hyphenate some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85808 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9374f78f5230bcd68f2e8b24d0b975cb86527e76 Author: David Goodwin <david_goodwin@apple.com> Date: Mon Nov 2 17:06:28 2009 +0000 Chain dependencies used to enforce memory order should have latency of 0 (except for true dependency of Store followed by aliased Load... we estimate that case with a single cycle of latency assuming the hardware will bypass) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85807 91177308-0d34-0410-b5e6-96231b3b80d8 commit 62acbf19235b3b20a24958b973538e35ec6f2d67 Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Nov 2 16:59:06 2009 +0000 Add support for BlockAddress values in ARM constant pools. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85806 91177308-0d34-0410-b5e6-96231b3b80d8 commit d737897784e400b7c2642030b362faf42493a398 Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Nov 2 16:58:31 2009 +0000 Prune unnecessary include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85805 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9a615773ca6289058893e18267c9ce4095cb3656 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Nov 2 08:09:49 2009 +0000 Initilize the machine LICM CSE map upon the first time an instruction is hoisted to the loop preheader. Add instructions which are already in the preheader block that may be common expressions of those that are hoisted out. These does get a few more instructions CSE'ed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85799 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8ff61c68cde1cf4d785362c21f4a316436d14a22 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Nov 2 07:58:25 2009 +0000 These are done / no longer care. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85798 91177308-0d34-0410-b5e6-96231b3b80d8 commit d9ca3d1e7116200fe9e62cb9397c783d1d653159 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Nov 2 07:51:19 2009 +0000 Add an entry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85797 91177308-0d34-0410-b5e6-96231b3b80d8 commit f386afd11f1c8e56d1afc8ff534bc58a2a3c29ed Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 07:34:29 2009 +0000 now that ip sccp *really* subsumes ipcp, remove ipcp again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85796 91177308-0d34-0410-b5e6-96231b3b80d8 commit 29cc27a3e256f969418198dcff1c9b28317890bb Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 07:33:59 2009 +0000 improve IPSCCP to be able to propagate the result of "!mayBeOverridden" function to calls of that function, regardless of whether it has local linkage or has its address taken. Not escaping should only affect whether we make an aggressive assumption about the arguments to a function, not whether we can track the result of it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85795 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6aed9d422dfd1b2e46a5ae63d95e2c83f5279247 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Nov 2 07:11:54 2009 +0000 Remove an irrelevant and poorly reduced test case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85794 91177308-0d34-0410-b5e6-96231b3b80d8 commit 74f9ed2fef57ffe21074042e681c7c000cb4e0a1 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 06:34:04 2009 +0000 don't mark the arguments of prototype overdefined, they will never be queried. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85793 91177308-0d34-0410-b5e6-96231b3b80d8 commit e84f1231eff713701e9d60c4b2b16f3997daa0eb Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 06:28:16 2009 +0000 restore some code I removed in r85788, refactor it into a shared place instead of duplicating it 4 times. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85792 91177308-0d34-0410-b5e6-96231b3b80d8 commit c2a4e20894cd1fa7afc1c7586c4b650ff5cd8a56 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 06:17:06 2009 +0000 remove some confused code that dates from when we had "multiple return values" but not "first class aggregates" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85791 91177308-0d34-0410-b5e6-96231b3b80d8 commit a5ffa7c6137334a259426aa4f656a6d28193a459 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 06:11:23 2009 +0000 avoid redundant lookups in BBExecutable, and make it a SmallPtrSet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85790 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0148bb29a5f14dfd9c5c94ec7144c0554cd2691f Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 06:06:14 2009 +0000 Use the libanalysis 'ConstantFoldLoadFromConstPtr' function instead of reinventing SCCP-specific logic. This gives us new powers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85789 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6367c3fa7cb3820bc31a40e9195388db37e452a0 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 05:55:40 2009 +0000 switch the main 'ValueState' map from being an std::map to being a DenseMap. Doing this required being aware of subtle iterator invalidation issues, but it provides a big speedup. In a release-asserts build, this sped up optimizing 403.gcc from 1.34s -> 0.79s (IPSCCP) and 1.11s -> 0.44s (SCCP). This commit also conflates in a bunch of general cleanups, sorry. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85788 91177308-0d34-0410-b5e6-96231b3b80d8 commit d9a5f772aa33a15e8ae9db61010ea0e347b771ca Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Nov 2 04:44:55 2009 +0000 Unbreak ARMBaseRegisterInfo::copyRegToReg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85787 91177308-0d34-0410-b5e6-96231b3b80d8 commit c9661b6764715959f2b35c795af1dfbe5a92bbb6 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 04:37:17 2009 +0000 fix a bug exposed by moving SRoA earlier which caused a crash building kc++ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85786 91177308-0d34-0410-b5e6-96231b3b80d8 commit aae7a3d378ed2f64bb369ad672439f08fb8e685c Author: Jim Grosbach <grosbach@apple.com> Date: Mon Nov 2 03:46:35 2009 +0000 Missing bit of universal built + hosted git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85785 91177308-0d34-0410-b5e6-96231b3b80d8 commit 84388f11cf36e91102b33b61b5209318e78445c8 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 03:25:55 2009 +0000 only IPSCCP incoming arguments if the function is executable, this fixes an assertion on the buildbot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85784 91177308-0d34-0410-b5e6-96231b3b80d8 commit 220571cfe77c2beb85bdf42c2e1feded607eea9f Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 03:21:36 2009 +0000 add a new ValueState::getConstantInt() helper, use it to simplify some code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85783 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4ba3276aeb2caea7729d5d792e01a9800b9208b4 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Mon Nov 2 03:20:57 2009 +0000 Fix malloc.h is deprecated warning on DragonFly BSD. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85782 91177308-0d34-0410-b5e6-96231b3b80d8 commit 97489014b43242375a4e5258472ee082a1c786ee Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Mon Nov 2 03:14:31 2009 +0000 Fix for warning seen on DF-BSD, Victor, please fix this to use a shift instead of pow() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85781 91177308-0d34-0410-b5e6-96231b3b80d8 commit b52f700e8ae038dcd38a17112f942f1be298ade2 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 03:03:42 2009 +0000 tidy up some more: remove some extraneous inline specifiers, return harder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85780 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9e974a781487f7bee54b92a541f3f682ec95e479 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Mon Nov 2 02:55:39 2009 +0000 Apply fix for PR5135, Credit to Andreas Neustifter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85779 91177308-0d34-0410-b5e6-96231b3b80d8 commit c9edab8daff6c1e9d474961b0e7c97cd57dbf2a7 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 02:54:24 2009 +0000 eliminate the SCCPSolver::getValueMapping method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85778 91177308-0d34-0410-b5e6-96231b3b80d8 commit e9474d5d76734a90e0d2e92a420e848fb435cc32 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 02:48:17 2009 +0000 fix failures introduced in r85774 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85777 91177308-0d34-0410-b5e6-96231b3b80d8 commit 14513dcc2b5d3dd742deaf0080e0995c865db87f Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 02:47:51 2009 +0000 factor duplicated code into a new DeleteInstructionInBlock function, eliminate temporary (and pointless) smallvector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85776 91177308-0d34-0410-b5e6-96231b3b80d8 commit c879800404e3705403f04009016ced1d92a2c114 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 02:33:50 2009 +0000 Chris used to use '...' instead of proper grammar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85775 91177308-0d34-0410-b5e6-96231b3b80d8 commit adaf73315966fa8ad1c5053e7ac5aa15eed7aabd Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 02:30:06 2009 +0000 remove some extraneous llvmcontext stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85774 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1eb405b598213a9ffe077d4b42c23f055568294e Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 02:20:32 2009 +0000 change LatticeVal to use PointerIntPair to save some space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85773 91177308-0d34-0410-b5e6-96231b3b80d8 commit 69fa3f564d114d4f2b4d953e736373c917c6d640 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 02:06:37 2009 +0000 fix instcombine to only do store sinking when the alignments of the two loads agree. Propagate that onto the new store. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85772 91177308-0d34-0410-b5e6-96231b3b80d8 commit d0996a2f36e9fc7a4573e296c84deb012c196ff0 Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 02:00:18 2009 +0000 merge a test into store.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85771 91177308-0d34-0410-b5e6-96231b3b80d8 commit 31cf6ca5aa61e751ceaa6c4555acb592e551d67e Author: Chris Lattner <sabre@nondot.org> Date: Mon Nov 2 01:58:03 2009 +0000 convert to filecheck git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85770 91177308-0d34-0410-b5e6-96231b3b80d8 commit b4ae2294dc77422063a9f739b27410c9f0c151e4 Author: Bill Wendling <isanbard@gmail.com> Date: Mon Nov 2 00:25:26 2009 +0000 Add missing end-tag. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85769 91177308-0d34-0410-b5e6-96231b3b80d8 commit 614b32b9c179b1e897cd953eb90fd00e374c1728 Author: Bill Wendling <isanbard@gmail.com> Date: Mon Nov 2 00:24:16 2009 +0000 Some formatting changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85768 91177308-0d34-0410-b5e6-96231b3b80d8 commit f817d7bfb1568b67a790dbae0ea05e162b6bc560 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Mon Nov 2 00:12:06 2009 +0000 Handle splats of undefs properly. This includes the testcase for PR5364 as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85767 91177308-0d34-0410-b5e6-96231b3b80d8 commit d9331217b489a204b9264bb424ebf83612e1b29e Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Mon Nov 2 00:11:39 2009 +0000 Do not infer the target type for COPY_TO_REGCLASS from dest regclass, this won't work if it can contain several types. Require explicit result type for the node for now. This fixes PR5364. PS: It seems that blackfin usage of copy_to_regclass is completely bogus! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85766 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1853b6e277b38bc8d796951f371cbc5824b21aff Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Mon Nov 2 00:11:06 2009 +0000 64-bit FP loads & stores operate on both NEON and VFP pipelines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85765 91177308-0d34-0410-b5e6-96231b3b80d8 commit eed9c14b562d5c43c787b0a74c99f3adf6238f6b Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Mon Nov 2 00:10:38 2009 +0000 Use NEON reg-reg moves, where profitable. This reduces "domain-cross" stalls, when we used to mix vfp and neon code (the former were used for reg-reg moves) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85764 91177308-0d34-0410-b5e6-96231b3b80d8 commit 87e4592785576c12930d0ffd65b33c7b7d889fc5 Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Nov 1 23:50:04 2009 +0000 Add PseudoSourceValue::mayAlias. It returns true if the object can ever alias any LLVM IR value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85762 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9b1f541793e2143762a8f08e65d46bec80fd758e Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Nov 1 22:08:51 2009 +0000 Line this up as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85748 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0f80251773274b4df99b6b5cbea024feebd9aae3 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Nov 1 22:07:54 2009 +0000 Fix whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85747 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ac1b43d80bf7bac148dd5d4ad3dd98054cf9408 Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Nov 1 22:04:35 2009 +0000 Fix a couple more places where we are creating ld / st instructions without memoperands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85746 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3e9fef42389147453ebcbe12543ae9f1c6530f7c Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Nov 1 21:12:51 2009 +0000 Make use of imm12 version of Thumb2 ldr / str instructions more aggressively. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85743 91177308-0d34-0410-b5e6-96231b3b80d8 commit 66207cc7cda2cfcda69b9ba092279e2357d94a6d Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 20:41:59 2009 +0000 fix two strange things in the default passmgr: 1. we'd run simplifycfg at the very start, even though the per function passes have already cleaned this up. 2. In the main per-function pipeline that is interlaced with inlining etc, we would do instcombine, jump threading, simplifycfg *before* doing SROA. SROA is much more likely to expose opportunities for these passes than they are for SROA, so move SRoA up earlier. also add some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85742 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5409d9dbbfaa11af8119b76ea7263c3a5a2271d7 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 20:10:11 2009 +0000 merge phi-merge.ll into phi.ll I don't know what Dan wants to do with phi-merge-gep.ll, I'll let him deal with it because instcombine may end up sinking these. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85739 91177308-0d34-0410-b5e6-96231b3b80d8 commit 52fe1bc4548599673b9040a44fe8e2aad2e65827 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 20:07:07 2009 +0000 when merging two loads, make sure to take the min of their alignment, not the max. This didn't matter until the previous patch because instcombine would refuse to sink loads with differenting alignments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85738 91177308-0d34-0410-b5e6-96231b3b80d8 commit 38751f83c7e653378da439fc511928e3a0d3fb72 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 20:04:24 2009 +0000 split load sinking out to its own function, like gep sinking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85737 91177308-0d34-0410-b5e6-96231b3b80d8 commit 310a00f632a2db7665ed388d9268af8e1f3d02f5 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 19:50:13 2009 +0000 fix a bug noticed by inspection: when instcombine sinks loads through phis, it didn't preserve the alignment of the load. This is a missed optimization of the alignment is high and a miscompilation when the alignment is low. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85736 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1f50617de31bdfc1138cbd1681bf67e59b5f5252 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 19:29:12 2009 +0000 IPSCCP apparently is not a superset of IPCP, this is bad, but I'll investigate it separately. This unbreaks test/FrontendC/weak_constant.c git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85735 91177308-0d34-0410-b5e6-96231b3b80d8 commit d05b6010946f8f7554210e983f742eb226500c40 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 19:22:20 2009 +0000 convert to filecheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85734 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0ea1608ce43d2a636745a58bd7ef0a8819609b53 Author: Duncan Sands <baldrick@free.fr> Date: Sun Nov 1 19:16:21 2009 +0000 Improve the other instance of the comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85733 91177308-0d34-0410-b5e6-96231b3b80d8 commit af5f1d6c07a358b8378b0458c81a473cefcf15cc Author: Duncan Sands <baldrick@free.fr> Date: Sun Nov 1 19:12:43 2009 +0000 Add a missing closing parenthesis, and tweak to fit in 80 columns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85732 91177308-0d34-0410-b5e6-96231b3b80d8 commit b5e2138e1894d150c0f3f830c236028ff5ad0f87 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 19:09:12 2009 +0000 only run GlobalDCE at -O3 and run it late instead of early. GlobalOpt already deletes trivially dead functions/globals, so GlobalDCE only adds values for cycles of dead things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85731 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3f2e8ec4afbba963c09dd4856258dd5cabf59112 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 19:03:42 2009 +0000 cleanups, switch GlobalDCE to SmallPtrSet instead of std::set git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85730 91177308-0d34-0410-b5e6-96231b3b80d8 commit 45ad5c40eb868d053ddbd2296a26c02882c6bd37 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 18:57:49 2009 +0000 We currently only run ipsccp at LTO time, which is silly. It subsumes ipconstprop and doesn't take much time. Just run it in its place. This adds a testcase for it, which I plan to expand to cover other "integration" cases, where we expect the optimizer to be able to eliminate various things. Due to phase order issues we've regressed in a number of areas and integration tests are the only way I see to prevent this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85729 91177308-0d34-0410-b5e6-96231b3b80d8 commit c3ce1a63e4891b7c53dbdde5dffb49b45f5672de Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 18:42:03 2009 +0000 remove a bunch of locking from LLVMContextImpl. Since only one thread can be banging on a context at a time, this isn't needed. Owen, please review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85728 91177308-0d34-0410-b5e6-96231b3b80d8 commit dda0326aa939d3dde36927286257036cd4fcb6d4 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 18:17:37 2009 +0000 improve comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85725 91177308-0d34-0410-b5e6-96231b3b80d8 commit 789eb4ae48f61b77b0ee688f12758f8e401358c1 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 18:16:30 2009 +0000 add a comment about why we don't allow inlining indbr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85724 91177308-0d34-0410-b5e6-96231b3b80d8 commit adc8e889dc20cad3cfbb3fb8d51e53c5c2b9625c Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Nov 1 18:13:29 2009 +0000 Fix tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85723 91177308-0d34-0410-b5e6-96231b3b80d8 commit b8b101895463b01ac2c4044f2d49c2d624ea2e1a Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 18:11:50 2009 +0000 the verifier shouldn't modify the IR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85722 91177308-0d34-0410-b5e6-96231b3b80d8 commit 67127294f701ddec34ccb7a5dc324817be4645e7 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Sun Nov 1 16:42:53 2009 +0000 Reverting 85714, 85715, 85716, which are breaking the build git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85717 91177308-0d34-0410-b5e6-96231b3b80d8 commit 37a513fcc2c75f3080c93e6fcd9a97be368337fc Author: Dan Gohman <gohman@apple.com> Date: Sun Nov 1 15:28:36 2009 +0000 Add a function to Passes.h to allow clients to create instances of the ScalarEvolution pass without needing to #include ScalarEvolution.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85716 91177308-0d34-0410-b5e6-96231b3b80d8 commit 47070a3479c96876132aa2ac6d17adde7a860402 Author: Dan Gohman <gohman@apple.com> Date: Sun Nov 1 15:23:35 2009 +0000 Don't #include Pass.h from CallGraph.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85715 91177308-0d34-0410-b5e6-96231b3b80d8 commit e7f59f3af13b5fdee43de653d00598ca5a53bff6 Author: Dan Gohman <gohman@apple.com> Date: Sun Nov 1 15:20:19 2009 +0000 Remove the #include of Pass.h from PassManager.h. This breaks a significant #include dependency, as frontends commonly pull in PassManager.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85714 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2f4875062faa6cad24c7ada735dba0877b5da634 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 06:11:53 2009 +0000 teach ipsccp and ipconstprop that a blockaddress doesn't 'take the address' of a function in a way that should prevent ip constprop. This allows clang/test/CodeGen/indirect-goto.c to pass with the new indirect goto lowering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85709 91177308-0d34-0410-b5e6-96231b3b80d8 commit cab3885bac1d1f297b73a1ea491eeeb870758b27 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 04:57:33 2009 +0000 change llvm::MergeBlockIntoPredecessor to not merge two blocks BB1->BB2 when BB2 has its address taken. Since it ends up doing BB2->rauw(BB1), this can cause the address of the entry block to be taken. Since it is generally undesirable to nuke blocks whose address is taken, even when we can, just unconditionally stop this xform. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85708 91177308-0d34-0410-b5e6-96231b3b80d8 commit b2b693f125e133847bd713d09e6d3894dbabe0cb Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 04:23:20 2009 +0000 strengthen an assumption: RevectorBlockTo knows that PredBB ended in an uncond branch because the pass requires BreakCriticalEdges. However, BCE doesn't eliminate critical adges from indbrs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85707 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c29feace6d1ac93295c58c29e7c7fb9ae9afc77 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 04:08:01 2009 +0000 fix an issue where the verifier would reject a function whose entry block had its address taken even if the blockaddress was dead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85706 91177308-0d34-0410-b5e6-96231b3b80d8 commit f395da4484452032c224d0d98420bbeb09b56e3b Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 03:42:55 2009 +0000 if CostMetrics says to never duplicate some code, don't unswitch a loop. This prevents unswitching from duplicating indbr's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85705 91177308-0d34-0410-b5e6-96231b3b80d8 commit 16e7f57318711bda14e78f61c275bd4d9e3e1f6d Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 03:40:38 2009 +0000 constant fold indirectbr(blockaddress(%bb)) -> br label %bb. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85704 91177308-0d34-0410-b5e6-96231b3b80d8 commit 03796eeeb9c2c303c1fa1513ce009882e355bddc Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 03:25:03 2009 +0000 improve x86 codegen support for blockaddress. We now compile the testcase into: _test1: ## @test1 ## BB#0: ## %entry leaq L_test1_bb6(%rip), %rax jmpq *%rax L_test1_bb: ## Address Taken LBB1_1: ## %bb movb $1, %al ret L_test1_bb6: ## Address Taken LBB1_2: ## %bb6 movb $2, %al ret Note, it is very very strange that BlockAddressSDNode doesn't carry around TargetFlags. Dan, please fix this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85703 91177308-0d34-0410-b5e6-96231b3b80d8 commit c1a9f7074f6a2b4e681cd895ab32f9e572bcef2e Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 03:07:53 2009 +0000 pull check for return inst out of loop, never inline a callee that contains an indirectbr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85702 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0a1444a7e6a2e0e68c72f4aac1f4e638645d9dac Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 03:03:03 2009 +0000 Fix BlockAddress::replaceUsesOfWithOnConstant to correctly maintain the block use count in SubclassData. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85701 91177308-0d34-0410-b5e6-96231b3b80d8 commit 26cc8cd188e185295429c72ccda6fb3b5003d4cf Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 02:46:39 2009 +0000 implement linker support for BlockAddress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85700 91177308-0d34-0410-b5e6-96231b3b80d8 commit 620cead9d0a40e874503c5605952c40186d585f0 Author: Chris Lattner <sabre@nondot.org> Date: Sun Nov 1 01:27:45 2009 +0000 Revert 85678/85680. The decision is to stay with the current form of indirectbr, thus we don't need "blockaddr(@func, null)". Eliminate it for simplicity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85699 91177308-0d34-0410-b5e6-96231b3b80d8 commit 538da74ec2d9bb494a7704e195515c8be8b5b373 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Oct 31 23:46:45 2009 +0000 Use cbz and cbnz instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85698 91177308-0d34-0410-b5e6-96231b3b80d8 commit 67420bf16a60b1ae36b4d38187b3dd43e73fee51 Author: Jim Grosbach <grosbach@apple.com> Date: Sat Oct 31 22:57:36 2009 +0000 vml[as].f32 cause stalls in following advanced SIMD instructions. Avoid using them for scalar floating point operations for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85697 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5859872920b063601b0acf9b30a8c7ed2872be1b Author: Jim Grosbach <grosbach@apple.com> Date: Sat Oct 31 22:20:56 2009 +0000 Consolidate test files git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85696 91177308-0d34-0410-b5e6-96231b3b80d8 commit c08430d9dfcc194964945f33245042562d740760 Author: Jim Grosbach <grosbach@apple.com> Date: Sat Oct 31 22:16:14 2009 +0000 Change to use FileCheck git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85695 91177308-0d34-0410-b5e6-96231b3b80d8 commit a7a7c531a022abcd54f4a15cbf69ad7000fe4b72 Author: Jim Grosbach <grosbach@apple.com> Date: Sat Oct 31 22:14:17 2009 +0000 Make tests more explicit about which instructions are expected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85694 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7c3c4f57135e652ad535cc4bb32cedd98ceb2834 Author: Jim Grosbach <grosbach@apple.com> Date: Sat Oct 31 22:12:44 2009 +0000 Grammar tweak to comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85693 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4790cb4896fbb204ec53b8e170d492e3e2842789 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 31 22:11:15 2009 +0000 Make sure PRE doesn't split crit edges from indirectbr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85692 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7306aa658f13e92124c7f3fd0bd6c3dbe7084fa6 Author: Jim Grosbach <grosbach@apple.com> Date: Sat Oct 31 22:10:38 2009 +0000 Update test to be more explicit about what instruction sequences are expected for each operation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85691 91177308-0d34-0410-b5e6-96231b3b80d8 commit 083a3ef68afd72bf97a4330382bc3e653f47559d Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 31 22:04:43 2009 +0000 llvm::SplitEdge should refuse to split an edge from an indirectbr. Fix CodeGenPrepare to not try to split edges from indirectbr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85690 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1a4ddea811297cd5ab6fef2d4ca9d5b1279be7f0 Author: Jim Grosbach <grosbach@apple.com> Date: Sat Oct 31 21:52:58 2009 +0000 Update test to be more explicit about what instruction sequences are expected for each operation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85689 91177308-0d34-0410-b5e6-96231b3b80d8 commit f281b470896161c227bf2d1a1be7c1f178b6e46a Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 31 21:51:10 2009 +0000 update the comment above llvm::SplitCriticalEdge, and make it abort on IndirectBrInst as describe in the comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85688 91177308-0d34-0410-b5e6-96231b3b80d8 commit a3bddfb18197f4b00b161db0c643e433f79e67e6 Author: Jim Grosbach <grosbach@apple.com> Date: Sat Oct 31 21:42:19 2009 +0000 Expand 64-bit logical shift right inline git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85687 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5480bad7b9ba0a765d937631674f2b65f8eeea1e Author: Jim Grosbach <grosbach@apple.com> Date: Sat Oct 31 21:00:56 2009 +0000 Expand 64-bit arithmetic shift right inline git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85685 91177308-0d34-0410-b5e6-96231b3b80d8 commit 70337f0e084c54af2348a7a8aee72a2823c0e5b8 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 20:59:09 2009 +0000 Fix a missing newline in the dwarf output code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85684 91177308-0d34-0410-b5e6-96231b3b80d8 commit 57b31659358cd7ae9cd045ec2ce3019b5adc234a Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 20:19:03 2009 +0000 Make -print-machineinstrs more readable. - Be consistent when referring to MachineBasicBlocks: BB#0. - Be consistent when referring to virtual registers: %reg1024. - Be consistent when referring to unknown physical registers: %physreg10. - Be consistent when referring to known physical registers: %RAX - Be consistent when referring to register 0: %reg0 - Be consistent when printing alignments: align=16 - Print jump table contents. - Don't print host addresses, in general. - and various other cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85682 91177308-0d34-0410-b5e6-96231b3b80d8 commit de4f1504bec844ec60a29d3946ff7257da0c3c50 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 20:17:39 2009 +0000 Factor out more code into addCommonCodeGenPasses. The JIT wasn't previously running CodePlacementOpt. Also print headers before each dump in -print-machineinstrs mode, so that it's clear which dump is which. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85681 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4200f2c815159e939351d5d447f7f68fb557e600 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 31 20:13:24 2009 +0000 adjust a couple xforms to work with null bb's in BlockAddress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85680 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7bc5f36e65090bc44026333e2966b720d0747a0d Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 31 20:08:37 2009 +0000 Make blockaddress(@func, null) be valid, and make 'deleting a basic block with a blockaddress still referring to it' replace the invalid blockaddress with a new blockaddress(@func, null) instead of a inttoptr(1). This changes the bitcode encoding format, and still needs codegen support (this should produce a non-zero value, referring to the entry block of the function would also be quite reasonable). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85678 91177308-0d34-0410-b5e6-96231b3b80d8 commit 12f2dae2e58e01e256f08d511bb1a8b1d46b6a95 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sat Oct 31 19:54:06 2009 +0000 Force triple; darwin's ASM syntax differs from linux's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85676 91177308-0d34-0410-b5e6-96231b3b80d8 commit 998eacce4edb2421d0b40349057d8c30c1585ade Author: Jim Grosbach <grosbach@apple.com> Date: Sat Oct 31 19:38:01 2009 +0000 Expand 64 bit left shift inline rather than using the libcall. For now, this is unconditional. Making it still use the libcall when optimizing for size would be a good adjustment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85675 91177308-0d34-0410-b5e6-96231b3b80d8 commit 55d502f2448942052449602527322a8361508307 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sat Oct 31 19:22:24 2009 +0000 Add missing colons for FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85674 91177308-0d34-0410-b5e6-96231b3b80d8 commit dde39bd81cc82e60c13053190247af4b6486845d Author: Jim Grosbach <grosbach@apple.com> Date: Sat Oct 31 19:06:53 2009 +0000 Convert to FileCheck git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85673 91177308-0d34-0410-b5e6-96231b3b80d8 commit 154b234c6da80515738cb79aee89794f05bfa0a5 Author: Jim Grosbach <grosbach@apple.com> Date: Sat Oct 31 18:00:10 2009 +0000 The universal SDKROOT should only be assigned when hosted. Otherwise the SDKROOT can refer to the target when we're building for the host. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85672 91177308-0d34-0410-b5e6-96231b3b80d8 commit d56c0cb634aa6812916307ad6f6a72e8589864b1 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 31 17:48:31 2009 +0000 add a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85671 91177308-0d34-0410-b5e6-96231b3b80d8 commit 80a0f8f856c40fcf82dafc313f76f2e7a64913c5 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 17:33:01 2009 +0000 Revert r85667. LoopUnroll currently can't call utility functions which auto-update the DominatorTree because it doesn't keep the DominatorTree current while it works. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85670 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0afbe771f831d12dccd7813ea2a5e3bdac391b0b Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 16:16:41 2009 +0000 Remove redundant code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85668 91177308-0d34-0410-b5e6-96231b3b80d8 commit 508ac4b7e797df75dfbfb2f9cf06a0d94995ac46 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 16:08:00 2009 +0000 Merge the enhancements from LoopUnroll's FoldBlockIntoPredecessor into MergeBlockIntoPredecessor. This makes SimplifyCFG slightly more aggressive, and makes it unnecessary for LoopUnroll to have its own copy of this code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85667 91177308-0d34-0410-b5e6-96231b3b80d8 commit f893ba349f3ac2b2ea4ec3418567d48301650f42 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 15:04:55 2009 +0000 Rename forgetLoopBackedgeTakenCount to forgetLoop, because it clears out more information than just the stored backedge taken count. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85664 91177308-0d34-0410-b5e6-96231b3b80d8 commit e5f0d710707ce7f9247fa70de5552cb11d1dada7 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 14:54:17 2009 +0000 Replace LoopUnrollPass.cpp's custom code-size estimation code using the new common CodeMetrics code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85663 91177308-0d34-0410-b5e6-96231b3b80d8 commit 590112e91929037815065feb50868b05e272bbcf Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 14:46:50 2009 +0000 Simplify this code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85662 91177308-0d34-0410-b5e6-96231b3b80d8 commit 73ec8db1329e8c2aa1df8f131030d84ce0c07e71 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 14:39:43 2009 +0000 Remove an unnecessary #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85661 91177308-0d34-0410-b5e6-96231b3b80d8 commit ffd9e3fc97c59c5f477eccb876fc52cb3c492778 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 14:38:25 2009 +0000 Update CMakeLists for recent renames. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85660 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe18719fbded699e8901b003f31e25378f63928b Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 14:37:31 2009 +0000 Rename UnrollLoop.cpp to LoopUnroll.cpp, and LoopUnroll.cpp to LoopUnrollPass.cpp, for consistency with other passes which are similarly split. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85659 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6d54b9847f98e0dfb58e9c7d13af4cb86a5b0812 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 14:35:41 2009 +0000 Remove CodeGenLICM. It's largely obsoleted by MachineLICM's new ability to unfold loop-invariant loads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85657 91177308-0d34-0410-b5e6-96231b3b80d8 commit fab05d2f984c70bf79e79dc059301bfdafb66378 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 14:32:25 2009 +0000 Make ScalarEvolutionAliasAnalysis slightly more aggressive, by making an underlying alias call even for non-identified-object values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85656 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2cc8e84a06c9a71a03a322deaf30691ccd0d96c0 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 14:22:52 2009 +0000 Reapply r85634, with the bug fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85655 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9c98ce3d0b7bca679abebf6c6e2e9f6de6bbb02e Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 14:14:04 2009 +0000 When discarding SrcValue information, discard all of it so that code that uses this information knows to behave conservatively. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85654 91177308-0d34-0410-b5e6-96231b3b80d8 commit 509fccf21830e93d117e482fdc5a6b18e183bd3e Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 14:12:53 2009 +0000 Fix 80-column violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85653 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6de661ad137c60e288bd4626f5817e39fc695e51 Author: Eric Christopher <echristo@apple.com> Date: Sat Oct 31 09:24:35 2009 +0000 Fix warning with gcc-4.0 and signed/unsigned. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85648 91177308-0d34-0410-b5e6-96231b3b80d8 commit 326d7242e283922daf63e607bbc84e1498f76da7 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Oct 31 03:39:36 2009 +0000 It's safe to remat t2LDRpci; Add PseudoSourceValue to load / store's to enable more machine licm. More changes coming. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85643 91177308-0d34-0410-b5e6-96231b3b80d8 commit 35f8bdcd86c0281f7b5a040e765a665774ef5b22 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Oct 31 01:28:06 2009 +0000 Revert 85634. It's breaking consumer-typeset (and others). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85641 91177308-0d34-0410-b5e6-96231b3b80d8 commit 17d892adad853cc7fea4e64d72e3717903a953cd Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 31 00:15:28 2009 +0000 Add a target triple so that this test behaves consistently across hosts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85640 91177308-0d34-0410-b5e6-96231b3b80d8 commit 61b16fbdaeb7617b779fd0df62b32b40cf68a12c Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 23:59:06 2009 +0000 Add assertion checks here to turn silent miscompiles into aborts. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85639 91177308-0d34-0410-b5e6-96231b3b80d8 commit c00047af5603cf63b34c76c740d4a29fd22ff60a Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 23:57:47 2009 +0000 Don't mark registers dead here when processing nodes with MVT::Flag results. This works around a problem affecting targets which rely on MVT::Flag to handle physical register defs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85638 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5aaaa52b972e9ef90316ecf9cb5b406dd31650f1 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 23:18:27 2009 +0000 Fix the -mattr line for this test so that it passes on hosts that lack SSSE3. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85637 91177308-0d34-0410-b5e6-96231b3b80d8 commit ac97988e5d42a2a96b08c49dffa61bbe64119db8 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 23:16:10 2009 +0000 Add a testcase for the recent duplicate PHI elimination changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85636 91177308-0d34-0410-b5e6-96231b3b80d8 commit 08cb4f2aff78d2bb1f44af7616a9117437e1eeb3 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 23:15:43 2009 +0000 Add a comment about a missed opportunity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85635 91177308-0d34-0410-b5e6-96231b3b80d8 commit 14af0e5b2284045a70c71231a4258862e911219d Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 23:15:21 2009 +0000 Optimize around the fact that pred_iterator is slow: instead of sorting PHI operands by the predecessor order, sort them by the order used by the first PHI in the block. This is still suffucient to expose duplicates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85634 91177308-0d34-0410-b5e6-96231b3b80d8 commit 13f60e83d6add4d7159c322a7ccc1c36c26a115b Author: Kevin Enderby <enderby@apple.com> Date: Fri Oct 30 22:55:57 2009 +0000 Updates to the ARM target assembler for llvm-mc per review comments from Daniel Dunbar. - Reordered the fields in the ARMOperand Mem struct to make the struct smaller. Making bool's into 1 bit fields and put the MCExpr* fields adjacent to each other. - Fixed a number of places in ARMAsmParser.cpp so they have doxygen comments. - Change the name of ARMAsmParser::ParseRegister() to MaybeParseRegister and added the bool ParseWriteBack parameter. - Changed ARMAsmParser::ParseMemory() to call MaybeParseRegister(). - Added ARMAsmParser::ParseMemoryOffsetReg to factor out parsing the offset of a memory operand. And use it for both parsing both preindexed and post indexing addressing forms in ARMAsmParser::ParseMemory. - Changed the first argument to ParseShift() to a reference. - Changed ParseShift() to check for Rrx first and return to reduce nesting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85632 91177308-0d34-0410-b5e6-96231b3b80d8 commit 17c45db8ddc97c08cb46ad669677bb0c6459f363 Author: Devang Patel <dpatel@apple.com> Date: Fri Oct 30 22:52:47 2009 +0000 If string field is empty then return NULL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85630 91177308-0d34-0410-b5e6-96231b3b80d8 commit ec080e7b221889a3b1b2616a19e4019295509627 Author: Chris Lattner <sabre@nondot.org> Date: Fri Oct 30 22:39:36 2009 +0000 if basic blocks are destroyed while there are *just* BlockAddress' hanging around, then zap them. This is analogous to dangling constantexprs hanging off functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85627 91177308-0d34-0410-b5e6-96231b3b80d8 commit 885be9130b4d9bfe1274b018e8b5c6aa667eb12c Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 22:39:04 2009 +0000 Teach SimplifyCFG how to eliminate duplicate PHI nodes within a block. This reduces codesize on a variety of codes by 1-2% on x86-64. It also helps clean up after SSAUpdater. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85626 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0fb64e96c8cb775c57cea53171ce0525da9249c5 Author: Chris Lattner <sabre@nondot.org> Date: Fri Oct 30 22:33:29 2009 +0000 make hasAddressTaken() constant time by storing a refcount in BB's subclass data. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85625 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4381e3bc06cb247d7d57658b2c6134c24021d316 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Oct 30 22:22:46 2009 +0000 Add a note about Robert Muth's alternate jump table implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85624 91177308-0d34-0410-b5e6-96231b3b80d8 commit 012d03d39d3cbb8e195b7a9ce50fc9ef6e474ec0 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 22:22:22 2009 +0000 Sort the incoming values in PHI nodes to match the predecessor order. This helps expose duplicate PHIs, which will make it easier for them to be eliminated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85623 91177308-0d34-0410-b5e6-96231b3b80d8 commit f011658a243d918c31627fddaf7ae351f2f19eb6 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 22:18:41 2009 +0000 Fix MachineLICM to use the correct virtual register class when unfolding loads for hoisting. getOpcodeAfterMemoryUnfold returns the opcode of the original operation without the load, not the load itself, MachineLICM needs to know the operand index in order to get the correct register class. Extend getOpcodeAfterMemoryUnfold to return this information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85622 91177308-0d34-0410-b5e6-96231b3b80d8 commit 68e38afb4b538f372b34f6321b020870215f3c26 Author: Chris Lattner <sabre@nondot.org> Date: Fri Oct 30 22:15:48 2009 +0000 it isn't valid to take the address of the entry block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85621 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8bda3570a26c8c3e46a95629adbf495b1144a633 Author: Devang Patel <dpatel@apple.com> Date: Fri Oct 30 22:09:30 2009 +0000 If a type is derived from a derived type then calculate size appropriately. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85619 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce7da4da5b7e55de4dc8dd381391859a2bfac309 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Oct 30 21:33:05 2009 +0000 Build in ARM mode explicitly when on ARM Darwin git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85615 91177308-0d34-0410-b5e6-96231b3b80d8 commit 54f775ff61c8a018900f30560e5de9c419d2cb03 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Oct 30 21:13:59 2009 +0000 Add missing substitution for %llvmgcc_only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85614 91177308-0d34-0410-b5e6-96231b3b80d8 commit bfb983d31495c0c21178f0ea493b149a579b62d2 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Oct 30 20:54:59 2009 +0000 Allow cross target build git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85611 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0d20d17a4707634b1973053699fa027c313c8220 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Oct 30 20:13:25 2009 +0000 Fix a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85610 91177308-0d34-0410-b5e6-96231b3b80d8 commit f036e55b68d46d66e8ee5251861c7331517fba2d Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 30 20:12:24 2009 +0000 Add option to createGVNPass to disable PRE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85609 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7a178321e28af8328c1627de479df1064df856b6 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 30 20:03:40 2009 +0000 I forgot to commit this test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85608 91177308-0d34-0410-b5e6-96231b3b80d8 commit d6d77da9dfee79811ba7d82f26adda9b5ae20922 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Oct 30 19:53:38 2009 +0000 When cross-building, the CFLAGS and CXXFLAGS are for the target, and don't apply to the build tools. If we want to allow build tool flags input, we should have separate inputs (BUILD_CFLAGS and BUILD_CXXFLAGS, perhaps). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85607 91177308-0d34-0410-b5e6-96231b3b80d8 commit 45795a3646741fea0da9973cad9e4d80e0cfc9a6 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Oct 30 19:52:05 2009 +0000 Remove extraneous comment line git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85606 91177308-0d34-0410-b5e6-96231b3b80d8 commit eebeb09c84a0685a186a5539ee01ac7e8c4315d7 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Oct 30 19:51:32 2009 +0000 update name check for Apple style builds to be more permissive git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85605 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56c480af03aad91c507eed011fd3977e81225e70 Author: Lang Hames <lhames@gmail.com> Date: Fri Oct 30 18:12:09 2009 +0000 Stop the iterator in ValueLiveAt from potentially running off the end of the interval. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85599 91177308-0d34-0410-b5e6-96231b3b80d8 commit eac0e8f344245ea3d5f7d78eac4033e8c64f18ab Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Fri Oct 30 14:33:14 2009 +0000 This fixes functions like void f (int a1, int a2, int a3, int a4, int a5,...) In ARMTargetLowering::LowerFormalArguments if the function has 4 or more regular arguments we used to set VarArgsFrameIndex using an offset of 0, which is only correct if the function has exactly 4 regular arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85590 91177308-0d34-0410-b5e6-96231b3b80d8 commit bf1bacb9000591a608241f87f1e231ae5165156e Author: Oscar Fuentes <ofv@wanadoo.es> Date: Fri Oct 30 11:42:08 2009 +0000 CMake: install .def files from source `include/llvm' directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85587 91177308-0d34-0410-b5e6-96231b3b80d8 commit f9eeeee14b7945c133fdaed19ce62be2a18b0457 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 30 07:23:49 2009 +0000 Rather than having llvm-gcc changing the meaning of OptimizeSize, just make sure loop unswitch is conservative when optimization level is < 3. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85581 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8f743387c77dd5cdd20a6441e5da8271b52ca233 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Oct 30 05:45:42 2009 +0000 Add ARM codegen for indirect branches. clang/test/CodeGen/indirect-goto.c runs! (unoptimized) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85577 91177308-0d34-0410-b5e6-96231b3b80d8 commit a7a4db28ffff0b028558ab1dc92619f2804b9366 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 02:45:10 2009 +0000 Most stack straces don't need 3 digits worth of levels. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85575 91177308-0d34-0410-b5e6-96231b3b80d8 commit 21d49aa0bac191a9c3dc3b7a6fba8805209d1dff Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 02:13:27 2009 +0000 Don't delete blocks which have their address taken. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85572 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8f38bef9785b0d126ffac7a6dbe9050daff1a786 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 02:08:26 2009 +0000 Mention if a block has its address taken in debug output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85571 91177308-0d34-0410-b5e6-96231b3b80d8 commit b4b367821511e04319a7ac0c59bb8d8f11be3345 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 02:01:10 2009 +0000 Simplify this code and avoid an extra space character in the output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85568 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1995be14a415ae124e42dec505a9c5fa6f83a8d1 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 01:45:18 2009 +0000 Add support for BlockAddress static initializers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85562 91177308-0d34-0410-b5e6-96231b3b80d8 commit d8e273feafff0c64aac1587298390f0a91f147af Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 01:38:20 2009 +0000 Add a FIXME comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85559 91177308-0d34-0410-b5e6-96231b3b80d8 commit 65e3b3e189325686c5cb6b38e9cf6446d5fb9952 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 01:34:35 2009 +0000 Add some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85558 91177308-0d34-0410-b5e6-96231b3b80d8 commit 064403ea743b1457fbc71477feeb1b2f8c5cb3b1 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 01:28:02 2009 +0000 Initial x86 support for BlockAddresses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85557 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9105751c7ce64082e5769142e14b0c65cd06bb0a Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 01:27:03 2009 +0000 Initial target-independent CodeGen support for BlockAddresses. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85556 91177308-0d34-0410-b5e6-96231b3b80d8 commit 99ffec19f61ce7ff2a52a524bfa92207eb680e7c Author: Devang Patel <dpatel@apple.com> Date: Fri Oct 30 00:39:25 2009 +0000 Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85551 91177308-0d34-0410-b5e6-96231b3b80d8 commit 35264272bed55d2ec0b75079b25a11d9af8f74b5 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 00:20:08 2009 +0000 Add a BlockAddress MachineOperand kind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85549 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed56bc7692cc05f851ce4f9331e1af5299b7c97c Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 00:17:14 2009 +0000 Add svn:ignore properties. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85548 91177308-0d34-0410-b5e6-96231b3b80d8 commit 07188d85626733b44f77fbee4b1d23e8faa24624 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 30 00:14:33 2009 +0000 Remove a redundant copy constructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85547 91177308-0d34-0410-b5e6-96231b3b80d8 commit ebb14ff86fe1abf66d63985844fed583fb2044a5 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Oct 30 00:08:40 2009 +0000 Dial back the realignment a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85546 91177308-0d34-0410-b5e6-96231b3b80d8 commit fffff4408557f721ab7ff680bcdcca2c2534aaae Author: David Goodwin <david_goodwin@apple.com> Date: Thu Oct 29 23:30:59 2009 +0000 Between scheduling regions, correctly maintain anti-dep breaking state so that we don't incorrectly rename registers that span these regions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85537 91177308-0d34-0410-b5e6-96231b3b80d8 commit 438d4105eeb47c5bc1c5e5464b47a3df46ff2bbd Author: Dan Gohman <gohman@apple.com> Date: Thu Oct 29 23:30:06 2009 +0000 Remove some unnecessary spaces in debug output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85536 91177308-0d34-0410-b5e6-96231b3b80d8 commit b65e3acb4a07cbc809bc22fbc67675c7233d0f79 Author: Dan Gohman <gohman@apple.com> Date: Thu Oct 29 22:30:23 2009 +0000 Move some code from being emitted as boilerplate duplicated in every *ISelDAGToDAG.cpp to being regular code in SelectionDAGISel.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85530 91177308-0d34-0410-b5e6-96231b3b80d8 commit e2471f2abaa8edb55f5d8252cab8fe08ef09618f Author: David Goodwin <david_goodwin@apple.com> Date: Thu Oct 29 19:17:04 2009 +0000 Fix a couple of bugs in aggressive anti-dep breaking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85522 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4b7a76d7d57c0140e80d5e3f74d929fc909aa8b5 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 29 18:40:06 2009 +0000 Refactor complicated predicate into a separate function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85519 91177308-0d34-0410-b5e6-96231b3b80d8 commit befd0170cc6b611f1671310557aaba84feb18a2d Author: Devang Patel <dpatel@apple.com> Date: Thu Oct 29 18:20:34 2009 +0000 First bitcase use may not lead to a dbg.declare intrinsic. Iterate uses until one find's dbg.declare intrinsic. Patch by Sunae Seo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85518 91177308-0d34-0410-b5e6-96231b3b80d8 commit 30afe01e7ef78e1d2c01c924161ebe53bf02a3de Author: Dan Gohman <gohman@apple.com> Date: Thu Oct 29 18:10:34 2009 +0000 Rename usesCustomDAGSchedInserter to usesCustomInserter, and update a bunch of associated comments, because it doesn't have anything to do with DAGs or scheduling. This is another step in decoupling MachineInstr emitting from scheduling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85517 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5e0e60ac697c23819629d0fb2cc8a04bcfe1cf75 Author: Dan Gohman <gohman@apple.com> Date: Thu Oct 29 17:47:20 2009 +0000 Refactor the code for unfolding a load into a separate function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85515 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c91dd9cb7e0acb0b92309cbf8b3c75a469ff18b Author: Bill Wendling <isanbard@gmail.com> Date: Thu Oct 29 17:39:46 2009 +0000 Reapply r85338. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85514 91177308-0d34-0410-b5e6-96231b3b80d8 commit dbd28a3a3b8657faad8b2fdbb2d505d63e229121 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Oct 29 12:55:32 2009 +0000 Fix MSVC build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85505 91177308-0d34-0410-b5e6-96231b3b80d8 commit b7f1f1053add0239195844f748833c58565c569a Author: Nick Lewycky <nicholas@mxc.ca> Date: Thu Oct 29 07:35:15 2009 +0000 Apply some cleanups. No functionality changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85498 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6c633c5a850ed50e123bd975990e59d0e60d4614 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 29 05:53:32 2009 +0000 add sanity check for indbr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85496 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f2bbd66a9e049f60c8187a201f18d0df80c2e12 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 29 05:51:50 2009 +0000 just for the hell of it, allow globalopt to statically evaluate static constructors with indirect gotos :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85495 91177308-0d34-0410-b5e6-96231b3b80d8 commit bfa6b8573272eb5396dce856f5259d63f7d5fc48 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 29 05:26:09 2009 +0000 add interpreter support for indirect goto / blockaddress. The interpreter now correctly runs clang's test/CodeGen/indirect-goto.c. The JIT will abort on it until someone feels compelled to implement this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85488 91177308-0d34-0410-b5e6-96231b3b80d8 commit 936e59eb5b9d2d5648249ab6c7b14619ae0662e2 Author: Zhongxing Xu <xuzhongxing@gmail.com> Date: Thu Oct 29 05:07:14 2009 +0000 add newline to make cl.exe happy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85483 91177308-0d34-0410-b5e6-96231b3b80d8 commit cfb73b384ae5f97a4796fc91602d50a474c1e1c7 Author: Zhongxing Xu <xuzhongxing@gmail.com> Date: Thu Oct 29 04:41:24 2009 +0000 fix 80-col. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85480 91177308-0d34-0410-b5e6-96231b3b80d8 commit c63a779b48206fdcef692203002b990609f5734f Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 29 04:25:46 2009 +0000 greatly improve the LLVM IR bitcode encoding documentation, patch by Peter Housel! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85479 91177308-0d34-0410-b5e6-96231b3b80d8 commit 29c4d45951c300e27374dabc7470b841a2fcd37a Author: Zhongxing Xu <xuzhongxing@gmail.com> Date: Thu Oct 29 03:43:06 2009 +0000 Explicitly convert to double to suppress Visual C++ 2008 build error C2668 pow is ambiguous call to overloaded function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85478 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9823cc9df2fbd6e8bd106e223718996f0a68a1d2 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Oct 29 02:41:21 2009 +0000 To get more thorough testing from llc-beta nightly runs, do dynamic stack realignment regardless of whether it's strictly necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85476 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ba150df4bd9907b5820fb1d805aa8e4e6a0a0b0 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Oct 29 02:33:47 2009 +0000 When the function is doing dynamic stack realignment, the spill slot will be indexed via the stack pointer, even if a frame pointer is present. Update the heuristic to place it nearest the stack pointer in that case, rather than nearest the frame pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85474 91177308-0d34-0410-b5e6-96231b3b80d8 commit 212f9a9d323087354f9fcba897c66db5b517eba9 Author: Johnny Chen <johnny.chen@apple.com> Date: Thu Oct 29 02:04:53 2009 +0000 Sorry to break the build. I was trying to check the WIP file to some local repository, but ended up checking in the llvm repository. Oops! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85470 91177308-0d34-0410-b5e6-96231b3b80d8 commit d8805c02dcf8c349967529d34add7641dc2f261f Author: Johnny Chen <johnny.chen@apple.com> Date: Thu Oct 29 01:45:07 2009 +0000 Minor tweak to forgo the the curly braces for most case blocks, except when declaring local variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85467 91177308-0d34-0410-b5e6-96231b3b80d8 commit ff1a8e5764e4f6a8c471e432a400858e849923b2 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 29 01:21:20 2009 +0000 teach various passes about blockaddress. We no longer crash on any clang tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85465 91177308-0d34-0410-b5e6-96231b3b80d8 commit 12d5a3225f1a26113673727170f9552622525325 Author: Dale Johannesen <dalej@apple.com> Date: Thu Oct 29 01:15:40 2009 +0000 When there is a 2-instruction spill sequence, record the second (store) instruction in SpillSlotToUsesMap consistently. I don't think this matters functionally, but it's cleaner and Evan wants it this way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85463 91177308-0d34-0410-b5e6-96231b3b80d8 commit ef486b10571f71e53fe3281aec3abdb3446c5245 Author: Bill Wendling <isanbard@gmail.com> Date: Thu Oct 29 00:37:35 2009 +0000 Don't put in these EH changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85460 91177308-0d34-0410-b5e6-96231b3b80d8 commit dff406469313119ba79883ea6c3b44e1c0bc5740 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Thu Oct 29 00:34:30 2009 +0000 A switch-on-string-literal construct that is a nice alternative to cascading "ifs" of strcmps/memcmps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85459 91177308-0d34-0410-b5e6-96231b3b80d8 commit 52efc3f5167aeb90927b75fc363b999a0fcd8f80 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 29 00:31:02 2009 +0000 teach ValueMapper about BlockAddress', making bugpoint a lot more useful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85458 91177308-0d34-0410-b5e6-96231b3b80d8 commit 15513ab5a548a8e64be4c2f7968c9ae6bd8a1418 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 29 00:28:30 2009 +0000 unindent massive blocks, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85457 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6577d404c19a0a80b13e358dd72b0c1b022b06c1 Author: Bill Wendling <isanbard@gmail.com> Date: Thu Oct 29 00:22:16 2009 +0000 Reverting r85338 for now. It's causing a bootstrap failure on PPC darwin9. --- Reverse-merging r85338 into '.': U lib/CodeGen/SimpleRegisterCoalescing.cpp U lib/CodeGen/SimpleRegisterCoalescing.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85454 91177308-0d34-0410-b5e6-96231b3b80d8 commit 41335ea37656dcfa81b37aff1c407df501884e6e Author: Dan Gohman <gohman@apple.com> Date: Thu Oct 29 00:14:44 2009 +0000 Add indirectbr and blockaddress to the vim syntax highlighting file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85451 91177308-0d34-0410-b5e6-96231b3b80d8 commit d50a560f876bc526b57305c5ec1b3478f8cb97b3 Author: Dan Gohman <gohman@apple.com> Date: Thu Oct 29 00:09:08 2009 +0000 Add a hasAddressTaken for BasicBlock. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85449 91177308-0d34-0410-b5e6-96231b3b80d8 commit 30f4c269dd65e2abaaf718261410fd7c768dfc86 Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 28 23:25:00 2009 +0000 add IRBuilder support for IndirectBr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85445 91177308-0d34-0410-b5e6-96231b3b80d8 commit e84c212b3cf2616caf6284d522b5fccdd95cbc8e Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 28 22:10:20 2009 +0000 Reimplement BranchFolding change to avoid tail merging for a 1 instruction common tail, except when the OptimizeForSize function attribute is present. Radar 7338114. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85441 91177308-0d34-0410-b5e6-96231b3b80d8 commit eaa6891fe4fe26bc3a8842ed01be52746a752393 Author: Dale Johannesen <dalej@apple.com> Date: Wed Oct 28 21:56:18 2009 +0000 When we generate spill code, then decide we don't need to spill after all, we weren't handling 2-instruction spill sequences correctly (PPC Altivec). We need to remove the store in this case. Removing the other instruction(s) would be goodness but is not needed for correctness, and isn't done here. 7331562. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85437 91177308-0d34-0410-b5e6-96231b3b80d8 commit 220daf6b5c39b425ef06192ce461538f29efabd6 Author: Eric Christopher <echristo@apple.com> Date: Wed Oct 28 21:32:16 2009 +0000 Make sure we return the right sized type here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85436 91177308-0d34-0410-b5e6-96231b3b80d8 commit 93ab5617a1e187a411418c1ea38b312b6aacf850 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 28 20:46:46 2009 +0000 Revert r85346 change to control tail merging by CodeGenOpt::Level. I'm going to redo this using the OptimizeForSize function attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85426 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9d632b6c0cc62539b5316a2861f247515d9c43a1 Author: Victor Hernandez <vhernandez@apple.com> Date: Wed Oct 28 20:18:55 2009 +0000 Extend getMallocArraySize() to determine the array size if the malloc argument is: ArraySize * ElementSize ElementSize * ArraySize ArraySize << log2(ElementSize) ElementSize << log2(ArraySize) Refactor isArrayMallocHelper and delete isSafeToGetMallocArraySize, so that there is only 1 copy of the malloc array determining logic. Update users of getMallocArraySize() to not bother calling isArrayMalloc() as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85421 91177308-0d34-0410-b5e6-96231b3b80d8 commit 071d2cfe3a5a2c1723a41b00b4cb9b831e46bf81 Author: Viktor Kutuzov <vkutuzov@accesssoftek.com> Date: Wed Oct 28 18:55:55 2009 +0000 Fix to pass options from Gold plugin to LTO codegen git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85419 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5220b2df6b1a39fbfae239f56acc10e6d8c2915c Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Wed Oct 28 18:37:31 2009 +0000 Teach cmake that mk[sd]temp is defined in stdlib.h on some systems. This fixes parallel build with clang on glibc platforms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85414 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4a8676e226cc62766c4638cb3dcd128f02e9d128 Author: David Goodwin <david_goodwin@apple.com> Date: Wed Oct 28 18:29:54 2009 +0000 Make AntiDepReg.h internal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85412 91177308-0d34-0410-b5e6-96231b3b80d8 commit ea6986525fadfd6488bc28e4ef99004d2b2aa519 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 28 18:26:41 2009 +0000 Add a Thumb BRIND pattern. Change the ARM BRIND assembly to separate the opcode and operand with a tab. Check for these instructions in the usual places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85411 91177308-0d34-0410-b5e6-96231b3b80d8 commit 116b72c4dac37340eff42e02af6e6a0b60252578 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Oct 28 18:19:56 2009 +0000 fconsts and fconstd are obviously re-materializable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85410 91177308-0d34-0410-b5e6-96231b3b80d8 commit b666f8884f79e76357655ae65a0395cc72d06400 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Oct 28 17:33:28 2009 +0000 Cleanup now that frame index scavenging via post-pass is working for ARM and Thumb2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85406 91177308-0d34-0410-b5e6-96231b3b80d8 commit d8c44710c05973817296df4b1800105768d7c2d1 Author: Devang Patel <dpatel@apple.com> Date: Wed Oct 28 16:51:52 2009 +0000 llvm.dbg.global_variables do not exist anymore. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85402 91177308-0d34-0410-b5e6-96231b3b80d8 commit 337ba4f1060c186398363a037327b85fb8b4e1d1 Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 28 15:32:19 2009 +0000 add a new 'SetCurrentDebugType' API (requested by Andrew Haley for JIT stuff) to programmatically control the current debug flavor. While I'm at it, doxygenate Debug.h and clean it up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85395 91177308-0d34-0410-b5e6-96231b3b80d8 commit 927dcecba16c04d82b567cbe00479256465bd5c2 Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 28 15:28:02 2009 +0000 Don't call SDNode::isPredecessorOf when it isn't necessary. If the load's chains have no users, they can't be predecessors of the condition. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85394 91177308-0d34-0410-b5e6-96231b3b80d8 commit 92ebb1fa248a671b76301809137a445f7e9dbb9c Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 28 15:23:36 2009 +0000 Simplify this code: if the unfolded load can't be hoisted, just delete the new instructions and leave the old one in place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85393 91177308-0d34-0410-b5e6-96231b3b80d8 commit f9f7a94e94b86030d10671cd6fe07b8c175785b5 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Wed Oct 28 15:04:53 2009 +0000 No newline at end of file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85390 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1595d6896a6d0e096c281b58e691b2c520f8bd92 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Wed Oct 28 13:29:18 2009 +0000 Update CMake file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85389 91177308-0d34-0410-b5e6-96231b3b80d8 commit b2c7314bc788f2af8bc0016d44129a63164401ac Author: Gabor Greif <ggreif@gmail.com> Date: Wed Oct 28 13:14:50 2009 +0000 use metavariable <result> instead of SSA name %result for consistency git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85388 91177308-0d34-0410-b5e6-96231b3b80d8 commit c0ea767d44bfb0c5a7f2f76552f00509885890cd Author: Gabor Greif <ggreif@gmail.com> Date: Wed Oct 28 13:05:07 2009 +0000 ooops, SSA name should not be part of the link git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85387 91177308-0d34-0410-b5e6-96231b3b80d8 commit 463c934daf5a4d57e798a65c145d8952f9115de3 Author: Gabor Greif <ggreif@gmail.com> Date: Wed Oct 28 09:21:30 2009 +0000 advertise new syntax for unnamed instructions and eliminate confusing double-use of SSA names (work in progress) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85385 91177308-0d34-0410-b5e6-96231b3b80d8 commit c07861ad19e211b9375051ea2e728b7db6ec5029 Author: Owen Anderson <resistor@mac.com> Date: Wed Oct 28 07:05:35 2009 +0000 Treat lifetime begin/end markers as allocations/frees respectively for the purposes for GVN/DSE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85383 91177308-0d34-0410-b5e6-96231b3b80d8 commit 43d273db094c46eefceb6a27748c515aafdee7aa Author: Nick Lewycky <nicholas@mxc.ca> Date: Wed Oct 28 07:03:15 2009 +0000 Add ABCD, a generalized implementation of the Elimination of Array Bounds Checks on Demand algorithm which looks at arbitrary branches instead of loop iterations. This is GSoC work by Andre Tavares with only editorial changes applied! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85382 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa281b8ec7167ba67ddcc8d441f6ff1685c83998 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Oct 28 06:55:03 2009 +0000 Give ARMISD::EH_SJLJ_LONGJMP and EH_SJLJ_SETJMP names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85381 91177308-0d34-0410-b5e6-96231b3b80d8 commit e21ca59adea038a61199913e6dbce8621516040c Author: Owen Anderson <resistor@mac.com> Date: Wed Oct 28 06:30:52 2009 +0000 Be more careful about invariance reasoning on "store" queries. Stores still need to depend on Ref and ModRef calls within the invariant region. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85380 91177308-0d34-0410-b5e6-96231b3b80d8 commit 06cd2076d346cfa4aaf012be32eb380b2f4205e9 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Oct 28 06:30:34 2009 +0000 X86 palignr intrinsics immediate field is in bits. ISel must transform it into bytes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85379 91177308-0d34-0410-b5e6-96231b3b80d8 commit a44701c008b2c54554c42aa0b46b53ceb0a8719f Author: Owen Anderson <resistor@mac.com> Date: Wed Oct 28 06:18:42 2009 +0000 Add trivial support for the invariance intrinsics to memdep. This logic is purely local for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85378 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1bd1d9e2f90724ddeb7f095ada51cc276d14125f Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 28 05:53:48 2009 +0000 add bitcode reader support for blockaddress. We can now fully round trip blockaddress through .ll and .bc files, so add a testcase. There are still a bunch of places in the optimizer and other places that need to be updated to work with these constructs, but at least the basics are in now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85377 91177308-0d34-0410-b5e6-96231b3b80d8 commit d5693a28a5d34f8adeb65c0e4b67c4c811962466 Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 28 05:24:40 2009 +0000 bitcode writer support for blockaddress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85376 91177308-0d34-0410-b5e6-96231b3b80d8 commit 67abb53946800619c549c67053d6f344d664ff27 Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 28 05:14:34 2009 +0000 Previously, all operands to Constant were themselves constant. In the new world order, BlockAddress can have a BasicBlock operand. This doesn't permute much, because if you have a ConstantExpr (or anything more specific than Constant) we still know the operand has to be a Constant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85375 91177308-0d34-0410-b5e6-96231b3b80d8 commit d22ec1cce22c5be46a150666dd5fc5da06c5ce64 Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 28 04:47:06 2009 +0000 doc bug spotted by apinski git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85372 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4fa8f3294b576c0406061df2778cdc1983693f2c Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 28 04:12:16 2009 +0000 'static const void *X = &&y' can only be put in the readonly section if a reference to the containing function is valid in the readonly section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85370 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed7cc32565a72f3a40d03cfc7e313515bca7b9e2 Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 28 03:44:30 2009 +0000 Rewrite SelectionDAG::isPredecessorOf to be iterative instead of recursive to avoid consuming extraordinary amounts of stack space when processing tall graphs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85369 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5bb63f1658aadcc4c7a414e0794d7e75a13fbd6b Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 28 03:39:23 2009 +0000 full asmparser support for blockaddress. We can now do: $ llvm-as foo.ll -d -disable-output which reads and prints the .ll file. BC encoding is the next project. Testcase will go in once that works. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85368 91177308-0d34-0410-b5e6-96231b3b80d8 commit fcbe37f591793786a110d516ed076a7a256561d9 Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 28 03:38:12 2009 +0000 asmprinter support for BlockAddress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85367 91177308-0d34-0410-b5e6-96231b3b80d8 commit 61c4ffe7c0ff88d7f81b2ac7b96382d984ccb5fb Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 28 03:37:35 2009 +0000 when we tear down a module, we need to be careful to zap BlockAddress values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85366 91177308-0d34-0410-b5e6-96231b3b80d8 commit a1e56d94ca83f00c5370cfb0b660e800356fbb37 Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 28 03:36:44 2009 +0000 basic blocks can now have non-instruction users. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85365 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6efe35213b3fca4fd9df6a35848aadf2e31923c5 Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 28 03:21:57 2009 +0000 Teach MachineLICM to unfold loads from constant memory from otherwise unhoistable instructions in order to allow the loads to be hoisted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85364 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7c7a3ff2b1b7be0f3a3f5a3ca0b01a182b0d2fba Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Oct 28 01:44:26 2009 +0000 Use fconsts and fconstd to materialize small fp constants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85362 91177308-0d34-0410-b5e6-96231b3b80d8 commit a0e6778c5f1e124bc15fceeca0c875614a082c79 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Oct 28 01:43:28 2009 +0000 Add a second ValueType argument to isFPImmLegal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85361 91177308-0d34-0410-b5e6-96231b3b80d8 commit 48c10d1e1fdd6f7d2f1ce5a9e2380b281dbe3006 Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 28 01:13:53 2009 +0000 Mark dead physregdefs dead immediately. This helps MachineSink and MachineLICM and other things which run before LiveVariables is run. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85360 91177308-0d34-0410-b5e6-96231b3b80d8 commit 114924db349324f455170178d8b1a8d34da8f4c6 Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 28 01:12:16 2009 +0000 Allow constants of different types to share constant pool entries if they have compatible encodings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85359 91177308-0d34-0410-b5e6-96231b3b80d8 commit ae9824d9490ac7373fa2cddfe0f65bc8426249eb Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Oct 28 01:08:17 2009 +0000 Remove getIEEEFloatParts and getIEEEDoubleParts. They are not needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85358 91177308-0d34-0410-b5e6-96231b3b80d8 commit fd3ac5568dcb981fe9539706bd97f427bb36ff15 Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 28 00:55:57 2009 +0000 Update SystemZ to use PSW following the way x86 uses EFLAGS. Besides eliminating a use of MVT::Flag, this is needed for an upcoming CodeGen change. This unfortunately requires SystemZ to switch to the list-burr scheduler, in order to handle the physreg defs properly, however that's what LLVM has available at this time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85357 91177308-0d34-0410-b5e6-96231b3b80d8 commit f061fc84a89aa961b3f5e25dce93fa5ac033c090 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 28 00:37:03 2009 +0000 Add an indirect branch pattern for ARM. Testcase will be coming soon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85355 91177308-0d34-0410-b5e6-96231b3b80d8 commit 523521538fe159fd1bc104a6dddf66432d8c4ef1 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Wed Oct 28 00:28:31 2009 +0000 Fix the ModuleDeletion test on PPC and ARM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85352 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4c3800f0172e2fdc0b3b2e78dbaf89b150f4e04f Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 28 00:19:10 2009 +0000 rename indbr -> indirectbr to appease the residents of #llvm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85351 91177308-0d34-0410-b5e6-96231b3b80d8 commit 746f7fd8f0fa1d3d83dc28ddfc3be561dcf09deb Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 28 00:01:44 2009 +0000 IR support for the new BlockAddress constant kind. This is untested and there is no way to use it, next up: doing battle with asmparser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85349 91177308-0d34-0410-b5e6-96231b3b80d8 commit afe63293c930f39f6f6d4ac6e76da0d3546dfca4 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Oct 27 23:49:38 2009 +0000 Record CodeGen optimization level in the BranchFolding pass so that we can use it to control tail merging when there is a tradeoff between performance and code size. When there is only 1 instruction in the common tail, we have been merging. That can be good for code size but is a definite loss for performance. Now we will avoid tail merging in that case when the optimization level is "Aggressive", i.e., "-O3". Radar 7338114. Since the IfConversion pass invokes BranchFolding, it too needs to know the optimization level. Note that I removed the RegisterPass instantiation for IfConversion because it required a default constructor. If someone wants to keep that for some reason, we can add a default constructor with a hard-wired optimization level. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85346 91177308-0d34-0410-b5e6-96231b3b80d8 commit 043667bb0ce28faf90b72737e91d23b0e4817711 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Oct 27 23:45:55 2009 +0000 Rename lib/VMCore/ConstantsContext.h:ValueMap<> to ConstantUniqueMap<> to avoid colliding with llvm/ADT/ValueMap.h:ValueMap<>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85344 91177308-0d34-0410-b5e6-96231b3b80d8 commit f9e2226cbaa0b634728b3a7a47acd1c11440fccc Author: Bill Wendling <isanbard@gmail.com> Date: Tue Oct 27 23:30:07 2009 +0000 Add new note. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85341 91177308-0d34-0410-b5e6-96231b3b80d8 commit 472ebdd60175b884d8ea2f1e77a73bcbe5a9136c Author: Lang Hames <lhames@gmail.com> Date: Tue Oct 27 23:16:58 2009 +0000 Fixed a bug in the coalescer where intervals were occasionally merged despite a real interference. This fixes rdar://problem/7157961. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85338 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe8db6e76137272e242fc806826b15aaa934845b Author: Jim Grosbach <grosbach@apple.com> Date: Tue Oct 27 22:52:29 2009 +0000 Enable virtual register based frame index scavenging by default for ARM & T2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85335 91177308-0d34-0410-b5e6-96231b3b80d8 commit 53353c479dd5642be973d6d0148ed0723ab27530 Author: Bill Wendling <isanbard@gmail.com> Date: Tue Oct 27 22:48:31 2009 +0000 Move and clarify note. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85334 91177308-0d34-0410-b5e6-96231b3b80d8 commit b004ed5cee7a2d006860c017249c16d6331c0758 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Oct 27 22:45:39 2009 +0000 Infrastructure for dynamic stack realignment on ARM. For now, this is off by default behind a command line option. This will enable better performance for vectors on NEON enabled processors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85333 91177308-0d34-0410-b5e6-96231b3b80d8 commit 030a21f58d0164737d9aadb314dc15dd279f7b1f Author: Bill Wendling <isanbard@gmail.com> Date: Tue Oct 27 22:43:24 2009 +0000 Note corrected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85332 91177308-0d34-0410-b5e6-96231b3b80d8 commit 69b37c7dd9ca765240fcb7f5f51c4ada13b8524c Author: Bill Wendling <isanbard@gmail.com> Date: Tue Oct 27 22:40:45 2009 +0000 Modify note. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85331 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8c4e2231017c5ff51cee8c7de384e7d105883287 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Oct 27 22:39:42 2009 +0000 Revert the API changes from r85295 to make it easier for people to build against both 2.6 and HEAD. The default is still changed to eager jitting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85330 91177308-0d34-0410-b5e6-96231b3b80d8 commit 85196b544a2832e3da5024dd2b9559f0791a2f86 Author: Bill Wendling <isanbard@gmail.com> Date: Tue Oct 27 22:34:43 2009 +0000 Add a note. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85329 91177308-0d34-0410-b5e6-96231b3b80d8 commit 12236e15007f962c3f9ac9496e10adf86f5bd3e4 Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 27 22:16:29 2009 +0000 Factor out redundancy from clone() implementations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85327 91177308-0d34-0410-b5e6-96231b3b80d8 commit b34bcfc17c7c84a3b9be34a99b40f7596c2174cd Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 27 22:10:34 2009 +0000 Update the MachineBasicBlock CFG for an indirect branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85325 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2b87f2ae510bb5298482aba49c63c49840b0db7d Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 27 21:56:26 2009 +0000 Add CodeGen support for indirect branches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85323 91177308-0d34-0410-b5e6-96231b3b80d8 commit fd9ff122e342300ebbd082b41439c28097d3f632 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 21:52:54 2009 +0000 typo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85322 91177308-0d34-0410-b5e6-96231b3b80d8 commit 24f2e859707fc58040b9d50759a864a6e35eac39 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 21:49:40 2009 +0000 you can't take the address of the entry block of a function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85321 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0bae7b3ef34de55a4a7ae3f88688526c05891509 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 21:44:20 2009 +0000 improvements from gabor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85320 91177308-0d34-0410-b5e6-96231b3b80d8 commit 117d16b8a7a9c2b631ac36affb6a9dcb33ffcbf7 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 21:43:39 2009 +0000 make the build build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85319 91177308-0d34-0410-b5e6-96231b3b80d8 commit 64dd7b4a31b939ecea7f037a997d54a92beeadcd Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Oct 27 21:35:42 2009 +0000 Add new APFloat methods that return sign, exp, and mantissa of ieee float and double values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85318 91177308-0d34-0410-b5e6-96231b3b80d8 commit 41fc6ad3dffe415decc911b39388fa20cff73a23 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 21:27:42 2009 +0000 Random updates to passes for indbr, I need blockaddress before I can do much more. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85316 91177308-0d34-0410-b5e6-96231b3b80d8 commit 405a71abced5cc697bff587436dea1bb2a6a18b1 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 21:24:48 2009 +0000 cppbackend support for indbr git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85312 91177308-0d34-0410-b5e6-96231b3b80d8 commit 20e88f5303d60d9105a80e24fb70ecc0ecd80856 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 21:21:06 2009 +0000 CBE support for indbr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85311 91177308-0d34-0410-b5e6-96231b3b80d8 commit 29246b5e51060717e19c0b092ddad5d07237c9be Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 21:19:13 2009 +0000 fix things pointed out by Dan! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85310 91177308-0d34-0410-b5e6-96231b3b80d8 commit d07c83760d225f8bfe864939ce7d8d3fbdde1ea4 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 21:01:34 2009 +0000 document the forthcoming blockaddress constant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85306 91177308-0d34-0410-b5e6-96231b3b80d8 commit d55c2acab4373802918c5c83eb9fcc7fd0f1349a Author: Johnny Chen <johnny.chen@apple.com> Date: Tue Oct 27 20:51:49 2009 +0000 Similar to r85280, do not clear the "S" bit for RSBri and RSBrs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85299 91177308-0d34-0410-b5e6-96231b3b80d8 commit f5278f228d564351a3f0df98a74fad48a892debc Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 27 20:47:17 2009 +0000 Do not held on to DenseMap slot accross map insertion. The insertion may cause the map to grow rending the slot invalid. Use this opportunity to use ValueMap instead of DenseMap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85298 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2b4d1db83d22c184d42fed3e4863fe6253476a01 Author: Johnny Chen <johnny.chen@apple.com> Date: Tue Oct 27 20:45:15 2009 +0000 Set condition code bits of BL and BLr9 to 0b1110 (ALways) to distinguish between BL_pred and BLr9_pred. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85297 91177308-0d34-0410-b5e6-96231b3b80d8 commit dab00f86c61d0de362877671ffb2c835e59b84a1 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 20:42:54 2009 +0000 don't use stdio git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85296 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f6ac2f5671ce45a9690e24bd753770111611166 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Oct 27 20:30:28 2009 +0000 Change the JIT to compile eagerly by default as agreed in http://llvm.org/PR5184, and beef up the comments to describe what both options do and the risks of lazy compilation in the presence of threads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85295 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1e6c6ebac9fde4ee5c0435affc89ae6f183c011c Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 20:27:24 2009 +0000 fix pasto pointed out by Rafael git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85294 91177308-0d34-0410-b5e6-96231b3b80d8 commit 932c62083ecc46064b3f9209004b359bc451f215 Author: Dale Johannesen <dalej@apple.com> Date: Tue Oct 27 20:12:38 2009 +0000 Add radar number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85290 91177308-0d34-0410-b5e6-96231b3b80d8 commit 972ec94278d281d85525a4a597274d2fdca614a3 Author: Dale Johannesen <dalej@apple.com> Date: Tue Oct 27 20:06:05 2009 +0000 Testcase for llvm-gcc patch 85284. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85287 91177308-0d34-0410-b5e6-96231b3b80d8 commit 28f4d2fb94b9057d8daba2128867fde276a37d1b Author: Victor Hernandez <vhernandez@apple.com> Date: Tue Oct 27 20:05:49 2009 +0000 Rename MallocFreeHelper as MemoryBuiltins git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85286 91177308-0d34-0410-b5e6-96231b3b80d8 commit 408a5e530b3dd17cc789c538a2f3020501a13a59 Author: Oscar Fuentes <ofv@wanadoo.es> Date: Tue Oct 27 20:04:22 2009 +0000 CMake: Install .inc files too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85285 91177308-0d34-0410-b5e6-96231b3b80d8 commit d9693e60eef5eaf6c45a498d2a7a5d05ca85b02e Author: Oscar Fuentes <ofv@wanadoo.es> Date: Tue Oct 27 19:57:29 2009 +0000 Rather than excluding quite some things, and still installing CMakeLists.txt, Makefiles, ... it's better to whitelist what we really want to install. Patch by Ingmar Vanhassel! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85282 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6337b551d01bc8239f0bd6440ac82bce2b313f4c Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Oct 27 19:56:55 2009 +0000 Do away with addLegalFPImmediate. Add a target hook isFPImmLegal which returns true if the fp immediate can be natively codegened by target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85281 91177308-0d34-0410-b5e6-96231b3b80d8 commit 66eeb81868889994314fc49be900868351d6f1a8 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Oct 27 19:52:03 2009 +0000 Do not clear the "S" bit for RSCri and RSCrs. They inherit from the "sI" instruction format that already takes care of setting this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85280 91177308-0d34-0410-b5e6-96231b3b80d8 commit e0787286429c486909bd3b01b5dfedacbc2d7394 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 19:13:16 2009 +0000 add enough support for indirect branch for the feature test to pass (assembler,asmprinter, bc reader+writer) and document it. Codegen currently aborts on it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85274 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1bf7944abd6a4205d09769377fbcd9240ab416d8 Author: Johnny Chen <johnny.chen@apple.com> Date: Tue Oct 27 18:44:24 2009 +0000 Explicitly specify 0b00, i.e, zero rotation, as the rotate filed (Inst{11-10}) for the r/rr fragment of the multiclass AI_unary_rrot/AI_bin_rrot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85271 91177308-0d34-0410-b5e6-96231b3b80d8 commit 29cbb4c46ac9a5267d9428959c737c381a5e85e6 Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Tue Oct 27 17:59:03 2009 +0000 Add missing testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85266 91177308-0d34-0410-b5e6-96231b3b80d8 commit 68c363b54790d793a5186df06de8853a2ea5e549 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 17:40:49 2009 +0000 change of mind :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85258 91177308-0d34-0410-b5e6-96231b3b80d8 commit a7f42de3ef7ce28ad6c2fa21125c6a9fa39f6024 Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Tue Oct 27 17:40:24 2009 +0000 Remove unnecessary gotos to fall-thru successors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85257 91177308-0d34-0410-b5e6-96231b3b80d8 commit b320a29fd07bb55461d20676e31cc9314f14001e Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 17:40:19 2009 +0000 rename test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85256 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5663974f0438575c0e45d0bcb5ce0391eb5a5f96 Author: Johnny Chen <johnny.chen@apple.com> Date: Tue Oct 27 17:25:15 2009 +0000 Test commit. Added '.' to the comment line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85255 91177308-0d34-0410-b5e6-96231b3b80d8 commit 85c4ec20b82b5a2702e618922d549222366907dc Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 17:08:31 2009 +0000 Type.h doesn't need to #include LLVMContext.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85254 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6d15db7cb3b93b99d16ff5d7c0b87ceb0bf02f21 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 17:02:08 2009 +0000 pseudosourcevalue is also still using getGlobalContext(), so it isn't thread safe either. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85253 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7fd81130b8b6daf7f47f808d2134732b2f9ce116 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 17:01:03 2009 +0000 apparently the X86 JIT isn't fully contextized, it is still using getGlobalContext() :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85252 91177308-0d34-0410-b5e6-96231b3b80d8 commit f8a5f3002aa72cd783cb7f4d976ddfb9da964018 Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Oct 27 16:56:58 2009 +0000 Fix reversed logic spotted by Owen Anderson. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85251 91177308-0d34-0410-b5e6-96231b3b80d8 commit 96b4e7d1e7d37ecc040b42a836a3d0b7884e839f Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 16:53:54 2009 +0000 trim another #include git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85250 91177308-0d34-0410-b5e6-96231b3b80d8 commit 622f3fc17dbcc235ef8f07f9da803eb0fe9c35bc Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 16:49:53 2009 +0000 remove an unneeded #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85248 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8af43fbca65148054b8b7d218c54ad85c8c4d6aa Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Tue Oct 27 14:54:46 2009 +0000 Convert Analysis tests to FileCheck in regards to PR5307. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85241 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8f419e24e13ef1e9090c6e96b18da9bb45338ed1 Author: Rafael Espindola <rafael.espindola@gmail.com> Date: Tue Oct 27 14:09:44 2009 +0000 Correctly align double arguments in the stack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85235 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7d91e27702ced60731f53a71cd0052e30c9cca77 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Tue Oct 27 09:02:49 2009 +0000 80-col violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85215 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56724a6b62e4bd778a91d1a44eb9f521fd6c8a78 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Oct 27 06:31:02 2009 +0000 Fix Thumb2 failures by converting them to FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85210 91177308-0d34-0410-b5e6-96231b3b80d8 commit e811eeb605587038550284216cec691a85754793 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Oct 27 06:16:45 2009 +0000 Fix the rest of the ARM failures by converting them to FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85208 91177308-0d34-0410-b5e6-96231b3b80d8 commit f59fc08fa71a5648f712d7d178a650c817008408 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Oct 27 05:50:28 2009 +0000 Fix some more failures by converting to FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85207 91177308-0d34-0410-b5e6-96231b3b80d8 commit 38dfe1cae81f30a9efe49e16700632ffd2987dec Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 05:39:41 2009 +0000 Fix a pretty serious misfeature of the inliner: if it inlines a function with multiple return values it inserts a PHI to merge them all together. However, if the return values are all the same, it ends up with a pointless PHI and this pointless PHI happens to really block SRoA from happening in at least a silly C++ example written by Doug, but probably others. This fixes rdar://7339069. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85206 91177308-0d34-0410-b5e6-96231b3b80d8 commit 468f729300f9ff4fc208650e29470e108b7e6ba0 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 05:35:35 2009 +0000 convert to filecheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85205 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8257c409ae7df2cb7641f4194b3df694e8ce552f Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Oct 27 05:30:47 2009 +0000 Convert to FileCheck, fixing failure due to tab change in the process. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85204 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9b95748848a137a23419ae1e6b4f92736af70e59 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 27 04:58:10 2009 +0000 lang points out that the comment is out of date with the code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85203 91177308-0d34-0410-b5e6-96231b3b80d8 commit f6803121c07be2467ed2dd49192e2f5432ef2ab6 Author: Mike Stump <mrs@apple.com> Date: Tue Oct 27 02:17:51 2009 +0000 Fix VS build, patch by Marius Wachtler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85198 91177308-0d34-0410-b5e6-96231b3b80d8 commit 406f493c3b956f24d4567e59443daafb7d122df9 Author: Mike Stump <mrs@apple.com> Date: Tue Oct 27 02:14:13 2009 +0000 VS build fix, patch by Marius Wachtler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85197 91177308-0d34-0410-b5e6-96231b3b80d8 commit 98d00f20a97fa2774f337d1a56fee66865eb650c Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Oct 27 01:06:51 2009 +0000 Fix OProfileJITEventListener after r85182. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85192 91177308-0d34-0410-b5e6-96231b3b80d8 commit 37115cc04ea3dc2516d34a1b0f8dc262652fbb63 Author: Eric Christopher <echristo@apple.com> Date: Tue Oct 27 00:52:25 2009 +0000 Add objectsize intrinsic and hook it up through codegen. Doesn't do anything than return "I don't know" at the moment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85189 91177308-0d34-0410-b5e6-96231b3b80d8 commit c1db4e53b11822ff3262d6b741974ef78ce04ea4 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Oct 27 00:20:49 2009 +0000 Now VFP instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85186 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1674ea5205cbc47e59849163c5992f3befbd5fb0 Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 27 00:11:02 2009 +0000 Add braces to avoid ambiguous else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85185 91177308-0d34-0410-b5e6-96231b3b80d8 commit 08540a929721efe42893675068f8a5a1767afad5 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Oct 27 00:08:59 2009 +0000 Change Thumb1 and Thumb2 instructions to separate opcode from operands with a tab instead of a space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85184 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1291fce6c0a61fb74a124ffd5b2da02c0de6ab4f Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Oct 27 00:03:05 2009 +0000 Automatically do the equivalent of freeMachineCodeForFunction(F) when F is being destroyed. This allows users to run global optimizations like globaldce even after some functions have been jitted. This patch also removes the Function* parameter to JITEventListener::NotifyFreeingMachineCode() since it can cause that to be called when the Function is partially destroyed. This change will be even more helpful later when I think we'll want to allow machine code to actually outlive its Function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85182 91177308-0d34-0410-b5e6-96231b3b80d8 commit 43a4c67a86782f5f6ad5d80dbbf29ff23f3faa08 Author: Victor Hernandez <vhernandez@apple.com> Date: Mon Oct 26 23:58:56 2009 +0000 Rename MallocHelper as MallocFreeHelper, since it now also identifies calls to free() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85181 91177308-0d34-0410-b5e6-96231b3b80d8 commit f9a7549471a1194f31d2627c8f0665eb88bb96fc Author: Owen Anderson <resistor@mac.com> Date: Mon Oct 26 23:56:52 2009 +0000 Forgot to commit these. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85180 91177308-0d34-0410-b5e6-96231b3b80d8 commit 14d033341deef1eacc39efc4f51b132356120405 Author: Owen Anderson <resistor@mac.com> Date: Mon Oct 26 23:55:47 2009 +0000 Add a straight-forward implementation of SCCVN for aggressively eliminating scalar redundancies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85179 91177308-0d34-0410-b5e6-96231b3b80d8 commit d3f9bc403327201a4cbb416f6627d1c54c0fcac8 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Oct 26 23:45:59 2009 +0000 Change ARM asm strings to separate opcode from operands with a tab instead of a space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85178 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6b05409548b99af03ebd6f92fee5337dc7ed0dc4 Author: Victor Hernandez <vhernandez@apple.com> Date: Mon Oct 26 23:44:29 2009 +0000 Remove all references to MallocInst and FreeInst git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85177 91177308-0d34-0410-b5e6-96231b3b80d8 commit f9a7a33126ed4def13851a4d77a442db55ffe307 Author: Victor Hernandez <vhernandez@apple.com> Date: Mon Oct 26 23:43:48 2009 +0000 Remove FreeInst. Remove LowerAllocations pass. Update some more passes to treate free calls just like they were treating FreeInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85176 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2aec46ede15c195de15bdafc25e9760b6d9b5c52 Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Oct 26 22:59:12 2009 +0000 Try to get ahead of Johnny Chen and pro-actively add some more ARM encoding bits. Johnny, please review -- I do not have a good track record of getting these right. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85173 91177308-0d34-0410-b5e6-96231b3b80d8 commit 67d02c9e078bd68cad7bc12fbc86ceed345aae15 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Mon Oct 26 22:52:03 2009 +0000 Convert a few tests to FileCheck for PR5307. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85171 91177308-0d34-0410-b5e6-96231b3b80d8 commit ccd00e369b68760c043986705ca45bb06e233f1e Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Oct 26 22:42:13 2009 +0000 Fix ARM encoding typo: Opcod3 is not passed to ASuI parent class. Patch by Johnny Chen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85169 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3a308521257a4c8fc6e816bdd4218ade39e1edfe Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Oct 26 22:34:44 2009 +0000 Add more ARM instruction encodings for 's' bit set and "rs" register encoding bits. Patch by Johnny Chen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85167 91177308-0d34-0410-b5e6-96231b3b80d8 commit aa644ea6cd8b6c4fa5d0442c91267cdfdab43eab Author: David Goodwin <david_goodwin@apple.com> Date: Mon Oct 26 22:31:16 2009 +0000 Allow the aggressive anti-dep breaker to process the same region multiple times. This is necessary because new anti-dependencies are exposed when "current" ones are broken. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85166 91177308-0d34-0410-b5e6-96231b3b80d8 commit c5f5512bc4ed863d9f616d7da1ff6826bcf3b3b8 Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 26 22:18:58 2009 +0000 Simplify this code. LoopDeletion doesn't need to explicit check that the loop exiting block dominates the latch block; if ScalarEvolution can prove that the trip-count is finite, that's sufficient. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85165 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4dcf7c0292231fa38ff5c0ab4a2413c7b0bbb66e Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 26 22:14:22 2009 +0000 Code that checks WillNotOverflowSignedAdd before creating an Add can safely use the NSW bit on the Add. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85164 91177308-0d34-0410-b5e6-96231b3b80d8 commit 20404788e09d71c9c6171a5f4e24f5a9be2d84bd Author: Ted Kremenek <kremenek@apple.com> Date: Mon Oct 26 22:06:01 2009 +0000 Update CMake files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85161 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6c576d14840a48ccebdb449dfdb0b7b3b95fbbc0 Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 26 21:55:43 2009 +0000 Teach BasicAA how to analyze Select instructions, and make it more aggressive on PHI instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85158 91177308-0d34-0410-b5e6-96231b3b80d8 commit f974aca5c3b657b93fd45aead3fba00100652b23 Author: Julien Lerouge <jlerouge@apple.com> Date: Mon Oct 26 20:01:35 2009 +0000 Remove / use flags that are now set in the Makefile.config. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85149 91177308-0d34-0410-b5e6-96231b3b80d8 commit c3f1ce99a96866828eaeb5f97bf4f423db2a553e Author: Julien Lerouge <jlerouge@apple.com> Date: Mon Oct 26 20:00:35 2009 +0000 Regenerate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85148 91177308-0d34-0410-b5e6-96231b3b80d8 commit c438e2b035300052b147b83dfe48dd8becd92697 Author: Julien Lerouge <jlerouge@apple.com> Date: Mon Oct 26 19:58:44 2009 +0000 Add an autoconf test to check for optional compiler flags like -Wno-missing-field-initializers or -Wno-variadic-macros. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85147 91177308-0d34-0410-b5e6-96231b3b80d8 commit 64948f805fbd7e5d69066d85f8dee30c9d84bf1f Author: David Goodwin <david_goodwin@apple.com> Date: Mon Oct 26 19:41:00 2009 +0000 Define virtual destructor in *.cpp file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85146 91177308-0d34-0410-b5e6-96231b3b80d8 commit a8b859600a76b46db61dd5fe6609f66897fe9c07 Author: David Goodwin <david_goodwin@apple.com> Date: Mon Oct 26 19:32:42 2009 +0000 Add aggressive anti-dependence breaker. Currently it is not the default for any target. Enable with -break-anti-dependencies=all. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85145 91177308-0d34-0410-b5e6-96231b3b80d8 commit 415659a34f7e7c3d0a52f2712fb449a10e0abf0a Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 26 19:12:14 2009 +0000 Check in the experimental GEP splitter pass. This pass splits complex GEPs (more than one non-zero index) into simple GEPs (at most one non-zero index). In some simple experiments using this it's not uncommon to see 3% overall code size wins, because it exposes redundancies that can be eliminated, however it's tricky to use because instcombine aggressively undoes the work that this pass does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85144 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7fcfff2099a6341e2ccb0de4eb0e75431fd40e05 Author: David Goodwin <david_goodwin@apple.com> Date: Mon Oct 26 19:00:47 2009 +0000 Add virtual destructor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85141 91177308-0d34-0410-b5e6-96231b3b80d8 commit b9839c626d35a7ad18d27f53fc5c882fe3bf2bd6 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Mon Oct 26 18:40:24 2009 +0000 Revert r85134, it breaks mingw build git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85138 91177308-0d34-0410-b5e6-96231b3b80d8 commit ddabac83a56fa9fda47c8c4ededa6560731b7304 Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 26 18:36:40 2009 +0000 Add CreateZExtOrBitCast and CreateSExtOrBitCast to TargetFolder for consistency with ConstantFolder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85137 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7080dc09b5ff61334f9a13c1eec1e0eb9c195556 Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 26 18:26:18 2009 +0000 When checking whether a def of an aliased register is dead, ask the machineinstr whether the aliased register is dead, rather than the original register is dead. This allows it to get the correct answer when examining an instruction like this: CALLpcrel32 <ga:foo>, %AL<imp-def>, %EAX<imp-def,dead> where EAX is dead but a subregister of it is still live. This fixes PR5294. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85135 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe8fe92809dd5b4c24a841947213994ffdd21899 Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Mon Oct 26 18:22:59 2009 +0000 Make PIC16 overlay a loadable pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85134 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2eb7f43741299f784b492a57d52e86702195b458 Author: Devang Patel <dpatel@apple.com> Date: Mon Oct 26 17:09:00 2009 +0000 Do not use expensive sort(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85130 91177308-0d34-0410-b5e6-96231b3b80d8 commit 59f8286f657aa97d979604e1ed4840dd9956342f Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Mon Oct 26 17:01:20 2009 +0000 Some svn:ignore tweaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85128 91177308-0d34-0410-b5e6-96231b3b80d8 commit ad5789c4fd62e77a8d27c43db98384ed9762dfe7 Author: David Goodwin <david_goodwin@apple.com> Date: Mon Oct 26 16:59:04 2009 +0000 Break anti-dependence breaking out into its own class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85127 91177308-0d34-0410-b5e6-96231b3b80d8 commit 152a24965397e1b3ed7bc62c8a3b3a036b9bf733 Author: Devang Patel <dpatel@apple.com> Date: Mon Oct 26 16:54:35 2009 +0000 Add support to encode type info using llvm::Constant. Patch by Talin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85126 91177308-0d34-0410-b5e6-96231b3b80d8 commit a6122ae09b2869474e1875ea4334c15137edb264 Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 26 15:55:24 2009 +0000 Fix a typo in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85120 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6e060dbe83b295208c3a4fce8ea278851d9720f0 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 26 15:40:07 2009 +0000 reapply r85085 with a bugfix to avoid infinite looping. All of the 'demorgan' related xforms need to use dyn_castNotVal, not m_Not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85119 91177308-0d34-0410-b5e6-96231b3b80d8 commit a25e81a52a619075c948a7fc1e8ec3f8ef9b09cb Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 26 15:32:57 2009 +0000 Make LSR's OptimizeShadowIV ignore induction variables with negative strides for now, because it doesn't handle them correctly. This fixes a miscompile of SingleSource/Benchmarks/Misc-C++/ray. This problem was usually hidden because indvars transforms such induction variables into negations of canonical induction variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85118 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9919ed02cbeac5498b21825ae4924b140784be08 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Oct 26 04:56:07 2009 +0000 - Revert some changes from 85044, 85045, and 85047 that broke x86_64 tests and bootstrapping. It's not safe to leave identity subreg_to_reg and insert_subreg around. - Relax register scavenging to allow use of partially "not-live" registers. It's common for targets to operate on registers where the top bits are undef. e.g. s0 = d0 = insert_subreg d0<undef>, s0, 1 ... = d0 When the insert_subreg is eliminated by the coalescer, the scavenger used to complain. The previous fix was to keep to insert_subreg around. But that's brittle and it's overly conservative when we want to use the scavenger to allocate registers. It's actually legal and desirable for other instructions to use the "undef" part of d0. e.g. s0 = d0 = insert_subreg d0<undef>, s0, 1 ... s1 = = s1 = d0 We probably need add a "partial-undef" marker on machine operand so the machine verifier would not complain. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85091 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5d4a07e1f97b2822c334fe0a46fabe7135037889 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Oct 26 03:51:32 2009 +0000 Revert 85085. It causes infinite looping during llvm-gcc build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85090 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2fad78bbd23df52f93797656dd8eaee63cc27896 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Mon Oct 26 02:37:56 2009 +0000 Fix gmake check for AuroraUX triple. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85088 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ec7df14990f3bdf92f8e55dcdeeca03d6802602 Author: Chandler Carruth <chandlerc@gmail.com> Date: Mon Oct 26 01:35:46 2009 +0000 Move DataTypes.h to include/llvm/System, update all users. This breaks the last direct inclusion edge from System to Support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8 commit f05d95c356337c9a85cc12acde2cdc209ba02a1b Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 26 01:06:31 2009 +0000 Implement PR3266 & PR5276, folding: not (or (icmp, icmp)) -> and(icmp, icmp) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85085 91177308-0d34-0410-b5e6-96231b3b80d8 commit d3a2943bdc41c9f2f973e74d27b965b48e538ea9 Author: Chandler Carruth <chandlerc@gmail.com> Date: Sun Oct 25 23:54:41 2009 +0000 Update the 'svn:ignore' property to remove stale file references. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85084 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd2472b097db91e662dfc71bd69a2dc05d289704 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 25 23:47:55 2009 +0000 convert or.ll to filecheck and merge or2 into it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85083 91177308-0d34-0410-b5e6-96231b3b80d8 commit 89a222bfd4ba450a0ec169f6ac72a42dbd87cd4c Author: Chandler Carruth <chandlerc@gmail.com> Date: Sun Oct 25 23:41:56 2009 +0000 Remove stale reference to ThreadSupport.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85082 91177308-0d34-0410-b5e6-96231b3b80d8 commit 85ee709efb4af23b7205eaf5b8378dc96ee6a021 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 25 23:22:50 2009 +0000 fix PR5295 where the .ll parser didn't reject a function after a global or global after a function with conflicting names. Update some testcases that were accidentally depending on this behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85081 91177308-0d34-0410-b5e6-96231b3b80d8 commit f756c166ec47173633f631b1be8d2f90e11769d6 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Oct 25 23:11:06 2009 +0000 Suppress -Asserts warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85078 91177308-0d34-0410-b5e6-96231b3b80d8 commit 79cdc2ecda3b93508190ffef80f49565093260d3 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 25 23:06:42 2009 +0000 fix PR5186: the JIT shouldn't try to codegen available_externally functions it should just look them up like declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85077 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f13bfcd9890009dcab9454992134c486fc8a126 Author: Chandler Carruth <chandlerc@gmail.com> Date: Sun Oct 25 22:38:41 2009 +0000 Remove unused includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85074 91177308-0d34-0410-b5e6-96231b3b80d8 commit 20f9924817aba90dc88c43b247671c6542fb523c Author: Jim Grosbach <grosbach@apple.com> Date: Sun Oct 25 19:14:48 2009 +0000 of -> or git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85065 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f9656021235a937c7c874487dbbb5780f3b0427 Author: Jim Grosbach <grosbach@apple.com> Date: Sun Oct 25 18:55:46 2009 +0000 80-column cleanup git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85064 91177308-0d34-0410-b5e6-96231b3b80d8 commit 27e801cd7ee5ce1b11ed9c2e6fc478747f70cc3c Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Sun Oct 25 08:14:11 2009 +0000 Reapply 85006 with a minor fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85052 91177308-0d34-0410-b5e6-96231b3b80d8 commit a45dd92bcde845b4edd7a3495eb8f3fba708a853 Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Oct 25 08:01:41 2009 +0000 Add a couple of ARM cross-rc coalescing tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85051 91177308-0d34-0410-b5e6-96231b3b80d8 commit d6a6656d22cb77cd940b25d3aaa7382e73912683 Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Oct 25 07:53:48 2009 +0000 Update tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85050 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7da9a9ca5eb152a5d570c29b6b873dda02148925 Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Oct 25 07:53:28 2009 +0000 Add ARM getMatchingSuperRegClass to handle S / D / Q cross regclass coalescing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85049 91177308-0d34-0410-b5e6-96231b3b80d8 commit 146c8488a42d45d57f0e25abccb008d7e9b8d135 Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Oct 25 07:52:27 2009 +0000 Don't forget subreg indices when folding load / store. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85048 91177308-0d34-0410-b5e6-96231b3b80d8 commit 899830995d35fa6878fd6204fce742c90b9d554b Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Oct 25 07:51:47 2009 +0000 Use isIdentityCopy. Fix a bozo bug (flipped condition) in InvalidateRegDef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85047 91177308-0d34-0410-b5e6-96231b3b80d8 commit 381f09782a49e19f142866145947405531b8d2cd Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Oct 25 07:49:57 2009 +0000 Code clean up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85046 91177308-0d34-0410-b5e6-96231b3b80d8 commit c319538252bef8bab51638c1cb6ac9beab6e0bf5 Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Oct 25 07:48:51 2009 +0000 Do not delete identity insert_subreg even if dest is virtual. Let later passes delete them. This avoids register scavenger complain. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85045 91177308-0d34-0410-b5e6-96231b3b80d8 commit a331ec82f78470eeb4c6c1e666d082a64fea5069 Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Oct 25 07:47:07 2009 +0000 Add isIdentityCopy to check for identity copy (or extract_subreg, etc.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85044 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5a44ef9fd5f7c3964ad79b94778261175dea5c33 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Oct 25 06:57:41 2009 +0000 Remove includes of Support/Compiler.h that are no longer needed after the VISIBILITY_HIDDEN removal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85043 91177308-0d34-0410-b5e6-96231b3b80d8 commit 492d06efde44a4e38a6ed321ada4af5a75494df6 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Oct 25 06:33:48 2009 +0000 Remove VISIBILITY_HIDDEN from class/struct found inside anonymous namespaces. Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85042 91177308-0d34-0410-b5e6-96231b3b80d8 commit 62d027dd4b9b60d87f7c617aac1473bf8794a5d2 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 25 06:17:51 2009 +0000 this is done. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85041 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8e39cf73d44aea2c233909dff6504362a6ccce8e Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 25 06:15:37 2009 +0000 Teach FoldBitCast to be able to handle bitcasts from (e.g.) i128 -> <4 x float>. This allows us to simplify this: union vec2d { double e[2]; double v __attribute__((vector_size(16))); }; typedef union vec2d vec2d; static vec2d a={{1,2}}, b={{3,4}}; vec2d foo () { return (vec2d){ .v = a.v + b.v * (vec2d){{5,5}}.v }; } down to: define %0 @foo() nounwind ssp { entry: %mrv5 = insertvalue %0 undef, double 1.600000e+01, 0 ; <%0> [#uses=1] %mrv6 = insertvalue %0 %mrv5, double 2.200000e+01, 1 ; <%0> [#uses=1] ret %0 %mrv6 } instead of: define %0 @foo() nounwind ssp { entry: %mrv5 = insertvalue %0 undef, double extractelement (<2 x double> fadd (<2 x double> fmul (<2 x double> bitcast (<1 x i128> <i128 85174437667405312423031577302488055808> to <2 x double>), <2 x double> <double 3.000000e+00, double 4.000000e+00>), <2 x double> <double 1.000000e+00, double 2.000000e+00>), i32 0), 0 ; <%0> [#uses=1] %mrv6 = insertvalue %0 %mrv5, double extractelement (<2 x double> fadd (<2 x double> fmul (<2 x double> bitcast (<1 x i128> <i128 85174437667405312423031577302488055808> to <2 x double>), <2 x double> <double 3.000000e+00, double 4.000000e+00>), <2 x double> <double 1.000000e+00, double 2.000000e+00>), i32 1), 1 ; <%0> [#uses=1] ret %0 %mrv6 } git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85040 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5aa9a3e9ac31b1c800daf8fd9f273ded02d4b75d Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 25 06:08:26 2009 +0000 move FoldBitCast earlier in the file, and use it instead of ConstantExpr::getBitCast in various places. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85039 91177308-0d34-0410-b5e6-96231b3b80d8 commit ea55ea084bc578f7e161343561826ae47265fdce Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 25 06:02:57 2009 +0000 refactor FoldBitCast to reduce nesting and to always return a constantexpr instead of returning null on failure. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85038 91177308-0d34-0410-b5e6-96231b3b80d8 commit b0796c6d1dbaef83b400f53bee71f2dff0bff22e Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Oct 25 05:20:17 2009 +0000 Remove ICmpInst::isSignedPredicate which was a reimplementation CmpInst::isSigned. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85037 91177308-0d34-0410-b5e6-96231b3b80d8 commit 36d0d2030275df7b40226a7979c6d7424955a2f6 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Oct 25 03:50:03 2009 +0000 Sink isTrueWhenEqual from ICmpInst to CmpInst. Add a matching isFalseWhenEqual which is equal to !isTrueWhenEqual for ints but not for floats. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85036 91177308-0d34-0410-b5e6-96231b3b80d8 commit 83410aa8c59837bafd2fcab76c33abd14e72b5c1 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Oct 25 03:30:55 2009 +0000 lit: Add --config-prefix option, to override default config file names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85035 91177308-0d34-0410-b5e6-96231b3b80d8 commit 062ddcb23b7e81787c7ae597d851e654049a6c2b Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Oct 25 03:22:00 2009 +0000 Indent. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85034 91177308-0d34-0410-b5e6-96231b3b80d8 commit 27f73ebba47a60ebdce7104e2db1991b615c8979 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Sun Oct 25 01:44:24 2009 +0000 Regenerate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85031 91177308-0d34-0410-b5e6-96231b3b80d8 commit 01b49d0c8e25ca4e719179e056be1f12370bf312 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Sun Oct 25 01:44:11 2009 +0000 Document OptionPreprocessor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85030 91177308-0d34-0410-b5e6-96231b3b80d8 commit 19e491c408463252d0a5c008a3ec02c9a15c7400 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Sun Oct 25 01:43:50 2009 +0000 Add a test for OptionPreprocessor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85029 91177308-0d34-0410-b5e6-96231b3b80d8 commit f20c0915df1dcb44682aa5380b9c88e800985bf4 Author: Daniel Dunbar <daniel@zuster.org> Date: Sun Oct 25 01:37:26 2009 +0000 lit: Allow use of /dev/null in redirects on Windows (replace by a temporary file). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85028 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9ef97dcce4891c64bef5ce217341053224a57dc5 Author: Jim Grosbach <grosbach@apple.com> Date: Sun Oct 25 00:45:07 2009 +0000 When the scavenger is looking for a good candidate location to restore from a spill, it should avoid doing so inside the live range of a virtual register. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85026 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed2a16a36af4902ada0b3f3866bbe9ec2ac5dcf3 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 24 23:52:07 2009 +0000 Update these tests to match what Loop::print now prints. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85021 91177308-0d34-0410-b5e6-96231b3b80d8 commit a5b5be1642c9ff53eb6c3596519fafa75715acd8 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 24 23:37:16 2009 +0000 MapValue doesn't needs its LLVMContext argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85020 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3a175215245c62bf37aaa117703882fcc271e72d Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 24 23:34:26 2009 +0000 Rename isLoopExit to isLoopExiting, for consistency with the wording used elsewhere - an exit block is a block outside the loop branched to from within the loop. An exiting block is a block inside the loop that branches out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85019 91177308-0d34-0410-b5e6-96231b3b80d8 commit 16be04bcdbbd17ba27ad9f3d3b404b78dc10d4c3 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 24 23:24:45 2009 +0000 Delete a spurious semicolon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85018 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6cb04ccc59e4b359a5ede29ba0a8a453b7201527 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 24 23:23:04 2009 +0000 Make these tests more interesting by using -verify-dom-info and -verify-loop-info, which enable additional (expensive) consistency checks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85017 91177308-0d34-0410-b5e6-96231b3b80d8 commit f3c12364e4fe208d7c08f2b855e56681f66528b2 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 24 23:19:52 2009 +0000 Rewrite LoopRotation's SSA updating code using SSAUpdater. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85016 91177308-0d34-0410-b5e6-96231b3b80d8 commit 30bb4a4eefbff71da7454822c921cb26b4faccfc Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Oct 24 20:32:49 2009 +0000 lit: Support '>>' redirections when executing scripts internally. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85014 91177308-0d34-0410-b5e6-96231b3b80d8 commit 19ca34a85e80831b11e053bcf39ef0975ccb3807 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Oct 24 20:32:43 2009 +0000 Update CMake dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85013 91177308-0d34-0410-b5e6-96231b3b80d8 commit 55e0f3183257cfe642d5d6d7c26f6cc993e99b1a Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Oct 24 20:32:36 2009 +0000 Teach macho-dump to dump UUIDs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85012 91177308-0d34-0410-b5e6-96231b3b80d8 commit 87767b48a2f1945330c282d08851ac1ab0e80d3d Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 24 20:01:11 2009 +0000 Make DominanceFrontierBase::print's output prettier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85011 91177308-0d34-0410-b5e6-96231b3b80d8 commit d0f9ddd94abcd8400de8a1fa707b874a7a2a04e3 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 24 19:57:58 2009 +0000 Make DominanceFrontier::addBasicBlock return the iterator for the newly inserted block. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85010 91177308-0d34-0410-b5e6-96231b3b80d8 commit b9ec1b66fb1f1560227e44cff952b0ea321022e5 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 24 19:56:23 2009 +0000 Add an explicit keyword. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85009 91177308-0d34-0410-b5e6-96231b3b80d8 commit 937a17362032cec745e3036b3b6cc3ed39b70168 Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Sat Oct 24 18:19:41 2009 +0000 Revert back 85006 for now as it breaks PIC16 tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85008 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6c4a7ca6ed4f686dcd23e4f2798d9ee8a3119a60 Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Sat Oct 24 18:02:44 2009 +0000 Adding support for placing global objects in shared data memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85006 91177308-0d34-0410-b5e6-96231b3b80d8 commit 90c418ae50b0f979ca2326777bdabdc423cae564 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 24 05:27:19 2009 +0000 various cleanups suggested by Duncan git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84993 91177308-0d34-0410-b5e6-96231b3b80d8 commit e040a936ccd5387a28b4228244f1e99fc6810d3c Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 24 05:22:15 2009 +0000 fix PR5287, a serious regression from my previous patches. Thanks to Duncan for the nice tiny testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84992 91177308-0d34-0410-b5e6-96231b3b80d8 commit 939460818ececec9e225ac70ab473c109300bbad Author: Victor Hernandez <vhernandez@apple.com> Date: Sat Oct 24 04:23:03 2009 +0000 Auto-upgrade free instructions to calls to the builtin free function. Update all analysis passes and transforms to treat free calls just like FreeInst. Remove RaiseAllocations and all its tests since FreeInst no longer needs to be raised. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84987 91177308-0d34-0410-b5e6-96231b3b80d8 commit 09549369a6f7976934e21a49befb6d9f46abb56b Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Oct 24 02:07:42 2009 +0000 80 col violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84986 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8e4c4276b78da64a7b505a83d6d0b107ade85f0e Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sat Oct 24 00:27:00 2009 +0000 Add some asserts to catch copyRegToReg() fails early git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84983 91177308-0d34-0410-b5e6-96231b3b80d8 commit 852f708684bb34dea4f22b2c46829c49e671e2b7 Author: Jim Grosbach <grosbach@apple.com> Date: Sat Oct 24 00:19:24 2009 +0000 Restrict Thumb1 register allocation to low registers, even for instructions that can access the hi regs. Our prologue and epilogue code doesn't know how to properly handle save/restore of the hi regs, so things go badly when we alloc them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84982 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8940d798e7ceec957f1dc2a2862105d4180f3bda Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 23 23:09:19 2009 +0000 Identity copies should not contribute to spill weight. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84978 91177308-0d34-0410-b5e6-96231b3b80d8 commit db980fa1680f4a52fbd9c940284df543fcac97b1 Author: Jim Grosbach <grosbach@apple.com> Date: Fri Oct 23 23:07:42 2009 +0000 FIXME no longer applies. R12 and R3 are available for allocation git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84977 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6ddfe5ce0cc40627e9b10c69b71071b4aef46f52 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Fri Oct 23 22:37:43 2009 +0000 Fix http://llvm.org/PR4822: allow module deletion after a function has been compiled. When functions are compiled, they accumulate references in the JITResolver's stub maps. This patch removes those references when the functions are destroyed. It's illegal to destroy a Function when any thread may still try to call its machine code. This patch also updates r83987 to use ValueMap instead of explicit CallbackVHs and fixes a couple "do stuff inside assert()" bugs from r84522. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84975 91177308-0d34-0410-b5e6-96231b3b80d8 commit b168730cf56bd8e8bf0c4d7f494b79ca135e973d Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Oct 23 21:09:37 2009 +0000 Remove AllocationInst. Since MallocInst went away, AllocaInst is the only subclass of AllocationInst, so it no longer is necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84969 91177308-0d34-0410-b5e6-96231b3b80d8 commit b2a663a0a3b3711679bcbac053b788a3e2ec346a Author: Jeffrey Yasskin <jyasskin@google.com> Date: Fri Oct 23 20:54:00 2009 +0000 Fix stylistic and documentation problems in ValueMap found by Nick Lewycky and Evan Cheng. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84967 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6530ae50de6d78e90f499b67ee9db01da894ff4a Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 23 17:57:43 2009 +0000 APInt-ify the gep scaling code, so that it correctly handles the case where the scale overflows pointer-sized arithmetic. This fixes PR5281. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84954 91177308-0d34-0410-b5e6-96231b3b80d8 commit af1c05ad386e69449b53582da8f2b94c044e57db Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 23 17:10:01 2009 +0000 Make LoopDeletion check the maximum backedge taken count, rather than the exact backedge taken count, when checking for infinite loops. This allows it to delete loops with multiple exit conditions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84952 91177308-0d34-0410-b5e6-96231b3b80d8 commit a737af39c9cb53e5d3c82eef853b48212e0e5e6f Author: Chris Lattner <sabre@nondot.org> Date: Fri Oct 23 07:00:55 2009 +0000 some stuff is done, we still have constantexpr simplification to do. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84943 91177308-0d34-0410-b5e6-96231b3b80d8 commit b81d5390eef32d58aac471f2d5d3d3f308c8c46b Author: Chris Lattner <sabre@nondot.org> Date: Fri Oct 23 06:57:37 2009 +0000 teach libanalysis to simplify vector loads with bitcast sources. This implements something out of Target/README.txt producing: _foo: ## @foo movl 4(%esp), %eax movapd LCPI1_0, %xmm0 movapd %xmm0, (%eax) ret $4 instead of: _foo: ## @foo movl 4(%esp), %eax movapd _b, %xmm0 mulpd LCPI1_0, %xmm0 addpd _a, %xmm0 movapd %xmm0, (%eax) ret $4 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84942 91177308-0d34-0410-b5e6-96231b3b80d8 commit bec079507e277613cbd9cd3e1dd4cde4a5e14f89 Author: Chris Lattner <sabre@nondot.org> Date: Fri Oct 23 06:50:36 2009 +0000 enhance FoldReinterpretLoadFromConstPtr to handle loads of up to 32 bytes (i256). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84941 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa97251b2ccff460d1c50ef1e954d45c8c1e43d7 Author: Chris Lattner <sabre@nondot.org> Date: Fri Oct 23 06:23:49 2009 +0000 teach libanalysis to fold int and fp loads from almost arbitrary non-type-safe constant initializers. This sort of thing happens quite a bit for 4-byte loads out of string constants, unions, bitfields, and an interesting endianness check from sqlite, which is something like this: const int sqlite3one = 1; # define SQLITE_BIGENDIAN (*(char *)(&sqlite3one)==0) # define SQLITE_LITTLEENDIAN (*(char *)(&sqlite3one)==1) # define SQLITE_UTF16NATIVE (SQLITE_BIGENDIAN?SQLITE_UTF16BE:SQLITE_UTF16LE) all of these macros now constant fold away. This implements PR3152 and is based on a patch started by Eli, but heavily modified and extended. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84936 91177308-0d34-0410-b5e6-96231b3b80d8 commit 221f9d4df58002c36af0a128282eb687b30e232c Author: Tanya Lattner <tonic@nondot.org> Date: Fri Oct 23 06:20:06 2009 +0000 Add 2.6 release note. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84934 91177308-0d34-0410-b5e6-96231b3b80d8 commit bb5d7afc9fba2575cc4ee672d30e120f7c5d4d20 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 23 05:58:34 2009 +0000 Update tests for 84931. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84932 91177308-0d34-0410-b5e6-96231b3b80d8 commit 868e7d89bcd9c39376174a0ec12e4f6ea5ec25ff Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 23 05:57:35 2009 +0000 X86 needs critical path anti-dependency breaking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84931 91177308-0d34-0410-b5e6-96231b3b80d8 commit 29a9919606a4790d496a3db568883b080ec57ff1 Author: Dale Johannesen <dalej@apple.com> Date: Fri Oct 23 04:02:51 2009 +0000 Commit fixes for half precision I noted in review, so they don't get lost; I don't think the originator has write access. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84928 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1caa0c6a612427636a06109b999b254bda758b11 Author: Bill Wendling <isanbard@gmail.com> Date: Fri Oct 23 01:37:01 2009 +0000 This is passing on Darwin PPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84921 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9167ebd0342cbb558b21d3e96a979087105af3b6 Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Oct 23 00:59:10 2009 +0000 Minor code cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84919 91177308-0d34-0410-b5e6-96231b3b80d8 commit 68e0213cf4b9f944a356cf578050cc17f19d1257 Author: Bill Wendling <isanbard@gmail.com> Date: Fri Oct 23 00:01:05 2009 +0000 Neuter stack protectors by only checking character arrays. This is what GCC does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84916 91177308-0d34-0410-b5e6-96231b3b80d8 commit e56e4a63f19ea3b7e40d84704d9b066698722db6 Author: David Goodwin <david_goodwin@apple.com> Date: Thu Oct 22 23:19:17 2009 +0000 Allow the target to select the level of anti-dependence breaking that should be performed by the post-RA scheduler. The default is none. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84911 91177308-0d34-0410-b5e6-96231b3b80d8 commit b2bdf61b5f71e0971bdaa0e4cff9647031c6d8ee Author: Ted Kremenek <kremenek@apple.com> Date: Thu Oct 22 22:16:17 2009 +0000 Use 'waitpid' instead of 'wait'. Basing Program::Wait() on 'wait()' prevents it being correct within a multithreaded context. This address: PR 5277 (Program::Wait is unsafe to call from multiple threads). Note: If waitpid() turns out to be non-portable, we can add more autoconf magic, or look into another solution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84903 91177308-0d34-0410-b5e6-96231b3b80d8 commit 50e846dbda3390610f7b414dd14000ebb170c737 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Thu Oct 22 22:11:22 2009 +0000 Try r84890 again (adding ValueMap<>), now that I've tested the compile on gcc-4.4. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84902 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6c954193474a76852f5cec1f899b8e4184a15bd0 Author: Eric Christopher <echristo@apple.com> Date: Thu Oct 22 22:06:50 2009 +0000 size_t, not unsigned here to silence a warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84900 91177308-0d34-0410-b5e6-96231b3b80d8 commit 65ca6b735393dc7d03990ecbda2a1cb4344183ed Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Oct 22 21:49:41 2009 +0000 Random include cleanup. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84898 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1d1f0f3101559a0f42c74cc854b2fd8d10e795fa Author: Jeffrey Yasskin <jyasskin@google.com> Date: Thu Oct 22 20:57:35 2009 +0000 Fix OProfileJITEventListener after r84054 renamed CompileUnit to Scope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84895 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9f6aeb72926b953e115d6fac3cbe138f569fb9a5 Author: Bill Wendling <isanbard@gmail.com> Date: Thu Oct 22 20:48:59 2009 +0000 Tidying up some code and comments. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84894 91177308-0d34-0410-b5e6-96231b3b80d8 commit 510cbea6c3ebc7702616d655d4dd1367e17b462a Author: Jeffrey Yasskin <jyasskin@google.com> Date: Thu Oct 22 20:23:43 2009 +0000 Revert r84890, which broke the linux build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84892 91177308-0d34-0410-b5e6-96231b3b80d8 commit 87ed85965251c3c6dda530e083d5c1aedd3eef54 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Thu Oct 22 20:10:20 2009 +0000 Add a ValueMap<ValueOrSubclass*, T> type. ValueMap<Value*, T> is safe to use even when keys get RAUWed and deleted during its lifetime. By default the keys act like WeakVHs, but users can pass a third template parameter to configure how updates work and whether to do anything beyond updating the map on each action. It's also possible to automatically acquire a lock around ValueMap updates triggered by RAUWs and deletes, to support the ExecutionEngine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84890 91177308-0d34-0410-b5e6-96231b3b80d8 commit b10e68d04e54b6ad9303d84ee1fb6dfbe6c7ddc2 Author: Devang Patel <dpatel@apple.com> Date: Thu Oct 22 19:36:54 2009 +0000 Hide MetadataContext implementation details. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84886 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0f6f894016256484e5ccdfa0d94cfecb51aaeca9 Author: Devang Patel <dpatel@apple.com> Date: Thu Oct 22 18:55:16 2009 +0000 Fix getMDs() interface such that it does not expose implementation details. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84885 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0aa3004c5f4b6d56619a755bab708a5b9c65cc94 Author: Devang Patel <dpatel@apple.com> Date: Thu Oct 22 18:25:28 2009 +0000 Using TrackingVH instead of WeakVH or WeakMetadataVH. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84884 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c14af970afe7672fe152780c81c6b0b2c7eb75d Author: Devang Patel <dpatel@apple.com> Date: Thu Oct 22 17:40:37 2009 +0000 Sort handler names to ensure deterministic behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84878 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8ded08a1c38a0b55a33655592d279706977ccc35 Author: Stuart Hastings <stuart@apple.com> Date: Thu Oct 22 17:22:37 2009 +0000 Trying again to tweak the top-level Makefile to facilitate an Apple-style build. Now with Clang-compatibility. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84872 91177308-0d34-0410-b5e6-96231b3b80d8 commit df6a663b5b5a592c4dffdea732db0fe0d1453e14 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 22 16:52:21 2009 +0000 Revert 84843. Evan, this was breaking some of the if-conversion tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84868 91177308-0d34-0410-b5e6-96231b3b80d8 commit 310fdba5949e9e67c177aa1335daaf63db34ca7b Author: Duncan Sands <baldrick@free.fr> Date: Thu Oct 22 16:03:32 2009 +0000 Include config.h in order to have HAVE_STDINT_H be defined. In the latest binutils the plugin-api.h needs this - without it the LLVM gold plugin fails to compile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84861 91177308-0d34-0410-b5e6-96231b3b80d8 commit e369d54068dc4c4aaed61abf7ffeabd237719267 Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr> Date: Thu Oct 22 14:35:57 2009 +0000 Verify that the function and exception table have been allocated before freeing them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84859 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed248f3628f79be217ec9403c66f7bed2e31bde2 Author: Duncan Sands <baldrick@free.fr> Date: Thu Oct 22 12:53:25 2009 +0000 Check that accessing a struct field that occurs before the start of the struct (!) works correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84853 91177308-0d34-0410-b5e6-96231b3b80d8 commit dc1fe3096ec2d5d64ae29cd465594aee276c3f7e Author: Duncan Sands <baldrick@free.fr> Date: Thu Oct 22 10:02:10 2009 +0000 Test handling of record fields with negative offsets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84851 91177308-0d34-0410-b5e6-96231b3b80d8 commit 812c4346ae2badfb759ba1a0c1187eda28092821 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Oct 22 09:28:49 2009 +0000 Shift art to the right to keep GCC from complaining about multi-line comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84849 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2147b5787db9e84e22c5d008db703ddce3ae9d86 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Oct 22 06:48:32 2009 +0000 Move if-conversion before post-regalloc scheduling so the predicated instruction get scheduled properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84843 91177308-0d34-0410-b5e6-96231b3b80d8 commit de6ba0a0863d45638958b1c0e47aab50c9fbaaa0 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Oct 22 06:47:35 2009 +0000 Load / store multiple was missing opportunites when the load / store bundles are at the end of the bb. Test case is already in, the bug is exposed by subsequent commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84842 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7bdc6d5cc22c8e45cbd1c2afec51a7d4c2597a12 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 22 06:44:07 2009 +0000 move another load optimization from instcombine -> libanalysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84841 91177308-0d34-0410-b5e6-96231b3b80d8 commit c352ed0063694702fc056d18bacec36f73761b16 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 22 06:38:35 2009 +0000 move 'loading i32 from string' optimization from instcombine to libanalysis. Instcombine shrinking... does this even make sense??? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84840 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0527483e95ddd8a4a8019337eba4b1ecf1b90196 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 22 06:25:11 2009 +0000 Move some constant folding logic for loads out of instcombine into Analysis/ConstantFolding.cpp. This doesn't change the behavior of instcombine but makes other clients of ConstantFoldInstruction able to handle loads. This was partially extracted from Eli's patch in PR3152. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84836 91177308-0d34-0410-b5e6-96231b3b80d8 commit a14a20abbaa4fa993b66ab746dfedad633e3f974 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Oct 22 05:11:00 2009 +0000 Trim more includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84832 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6e38eb0b9332d2af9d3d0db0bc94a1fdaa5c709d Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Oct 22 05:08:49 2009 +0000 Trim include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84831 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9fdaa881e8c3af817312d7bd262a07731c6b0fc7 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 22 04:47:09 2009 +0000 testcase for PR4678 & rdar://7309675 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84830 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8e73058aea1ddca356b119286f82c6b4b25d7098 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Thu Oct 22 04:15:24 2009 +0000 Forgot a declaration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84828 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1bb5da04d19ddca55a536ebdc0e3b30f606b5b98 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Thu Oct 22 04:15:07 2009 +0000 Make 'unset_option' work on list options. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84827 91177308-0d34-0410-b5e6-96231b3b80d8 commit 62b547a9ebaa6ec2a311748d9f38521ee1175230 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 22 03:42:27 2009 +0000 fix warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84826 91177308-0d34-0410-b5e6-96231b3b80d8 commit 580b86f11cbb963155f8a7706ede7835c20691ba Author: Devang Patel <dpatel@apple.com> Date: Thu Oct 22 01:01:24 2009 +0000 Fix getHandlerNames() interface. Now it populate clinet supplied small vector with handler names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84820 91177308-0d34-0410-b5e6-96231b3b80d8 commit c1a226dc19b3cfe39c1c42af2b53463c3b3d160a Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 22 00:52:28 2009 +0000 llvm-ld doesn't throw. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84819 91177308-0d34-0410-b5e6-96231b3b80d8 commit c343f9666768b6550d56792a76d0a79cb6ed508b Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 22 00:50:24 2009 +0000 this doesn't use EH either. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84818 91177308-0d34-0410-b5e6-96231b3b80d8 commit 96f3f0ea1784565c7f175c709d99fb44737a6077 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 22 00:46:41 2009 +0000 nothing opt uses can throw, remove the try block and -fexceptions when building opt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84816 91177308-0d34-0410-b5e6-96231b3b80d8 commit cd0702fb9d6f58c3d334b8a8649892b5bc1c9648 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 22 00:44:10 2009 +0000 Add some command line options for twiddling the default data layout used by opt when a module doesn't specify one. Patch from Kenneth Uildriks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84814 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8776641c8937656b395e6bf9256f90c60c616103 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Oct 22 00:40:00 2009 +0000 Don't generate sbfx / ubfx with negative lsb field. Patch by David Conrad. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84813 91177308-0d34-0410-b5e6-96231b3b80d8 commit b3254b4944c646570b94027cf701136f8a95352e Author: Devang Patel <dpatel@apple.com> Date: Thu Oct 22 00:22:05 2009 +0000 Use StringRef to construct MDString. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84811 91177308-0d34-0410-b5e6-96231b3b80d8 commit b5ed7f070696277cfa62750e4907ba65208ed66f Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 22 00:17:26 2009 +0000 fix PR5262. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84810 91177308-0d34-0410-b5e6-96231b3b80d8 commit fadf5e5953fdd1925c1d71dec4d771ab06b2e186 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Thu Oct 22 00:16:00 2009 +0000 Use special DAG-to-DAG preprocessing to allow mem-mem instructions to be selected. Yay for ASCII graphics! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84808 91177308-0d34-0410-b5e6-96231b3b80d8 commit fcfa3114e0922e6a127cd9e63dce10d98fb77757 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Thu Oct 22 00:15:17 2009 +0000 Fix null pointer dereference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84806 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9ab984e0f73ee6857fdf9222fb9b836126070b60 Author: Devang Patel <dpatel@apple.com> Date: Thu Oct 22 00:10:15 2009 +0000 Remove meaningless const. Pass StringRef by value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84804 91177308-0d34-0410-b5e6-96231b3b80d8 commit 52a7362292fcc0cf59c3d38ce8955b709b8e00e6 Author: Dan Gohman <gohman@apple.com> Date: Thu Oct 22 00:03:58 2009 +0000 Revert the main portion of r31856. It was causing BranchFolding to break up CFG diamonds by banishing one of the blocks to the end of the function, which is bad for code density and branch size. This does pessimize MultiSource/Benchmarks/Ptrdist/yacr2, the benchmark cited as the reason for the change, however I've examined the code and it looks more like a case of gaming a particular branch than of being generally applicable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84803 91177308-0d34-0410-b5e6-96231b3b80d8 commit 625fc8a70dea12493a862ff030cf63e1a3eeec8c Author: Devang Patel <dpatel@apple.com> Date: Wed Oct 21 23:57:35 2009 +0000 Derive metadata hierarchy from Value instead of User. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84801 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3980f9bdc1bef099f011b193282624140d918f4d Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 21 23:41:58 2009 +0000 revert r84754, it isn't the right approach. Edwin, please propose patches for fixes like this instead of committing them directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84799 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1190aa49e2e41435881d3a76052a29a2aff9f632 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Oct 21 23:40:56 2009 +0000 Missing piece of the ARM frame index post-scavenging conditionalization git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84798 91177308-0d34-0410-b5e6-96231b3b80d8 commit 505f7cffe7582df375c43540771e4c4970971848 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Wed Oct 21 23:29:32 2009 +0000 Fix thinko noticed by Chris. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84797 91177308-0d34-0410-b5e6-96231b3b80d8 commit d6e39eca79fc5c778baf517f159b7d47e6964818 Author: Dale Johannesen <dalej@apple.com> Date: Wed Oct 21 23:29:12 2009 +0000 Adjust testcases for msasm -> alignstack. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84796 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5ee3e4bf7e162b8daf43c2fd660f67095d00af3a Author: Dale Johannesen <dalej@apple.com> Date: Wed Oct 21 23:28:00 2009 +0000 Rename msasm to alignstack per review. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84795 91177308-0d34-0410-b5e6-96231b3b80d8 commit 87c2b24e57deea38e8cf572a0c461bfc21296996 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Wed Oct 21 23:27:54 2009 +0000 Remove pointless return; at end of function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84794 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3def926d532e753cab49cc1bacf660f49d626864 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Oct 21 22:59:56 2009 +0000 The spill restore needs to be resolved to the SP/FP just like the spill git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84792 91177308-0d34-0410-b5e6-96231b3b80d8 commit 86320274fce17431f8ad60ebd9e89c2e7bcacc04 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Oct 21 22:59:24 2009 +0000 Conditionalize ARM/T2 frame index post-scavenging while working out fixes for a few bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84791 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8e4759105fdc5ae0f14c0dce471817b59d7db268 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Wed Oct 21 22:55:51 2009 +0000 Simplify code. No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84790 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7f92d1399fe9f3df00ed1a0b0e864b2d63dc3cef Author: Devang Patel <dpatel@apple.com> Date: Wed Oct 21 21:57:13 2009 +0000 Use StringRef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84786 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2b1ec3887477e72d994e996b7e0422777172b7d0 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 21 21:36:27 2009 +0000 Most of the NEON shuffle instructions do not support 64-bit element types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84785 91177308-0d34-0410-b5e6-96231b3b80d8 commit 26c7b903a8f7ab6bf9bb75110a0ff5da74bf41fd Author: Devang Patel <dpatel@apple.com> Date: Wed Oct 21 21:25:09 2009 +0000 Do not use SmallVector to store MDNode elements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84784 91177308-0d34-0410-b5e6-96231b3b80d8 commit 11face1c79fa330d0f77be6ddb9357e2846a4dc2 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 21:15:18 2009 +0000 Revert r84764, it breaks mingw build git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84783 91177308-0d34-0410-b5e6-96231b3b80d8 commit 002646297951aab37dd7e9a1a205158d20b46196 Author: Bill Wendling <isanbard@gmail.com> Date: Wed Oct 21 21:09:48 2009 +0000 XFAIL this test for PPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84782 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1afc8e26bf2580d78e824666534049f5693c09df Author: Jim Grosbach <grosbach@apple.com> Date: Wed Oct 21 20:44:34 2009 +0000 Improve handling of immediates by splitting 32-bit immediates into two 16-bit immediate operands when they will fit into the using instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84778 91177308-0d34-0410-b5e6-96231b3b80d8 commit 85a066070801c2ab1d8a39dcb0c5033fb188e9d8 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 19:18:28 2009 +0000 Add DAG printing for RMW stuff debugging git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84776 91177308-0d34-0410-b5e6-96231b3b80d8 commit a3d275414331b53b0a3ed6490719417c016b3515 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 19:17:55 2009 +0000 RMW preprocessing stuff was incorrect. Grab the stuff from x86 backend and disable some tests until it will be clever enough to handle them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84775 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7c040a63f12f348acaa0508f75a58df839bead52 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 19:17:18 2009 +0000 Implement branch folding git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84774 91177308-0d34-0410-b5e6-96231b3b80d8 commit a791a042aabfbed7db07afd1d9475bac2b0f3cf9 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 19:16:49 2009 +0000 Cosmetic changes, no functionality changes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84773 91177308-0d34-0410-b5e6-96231b3b80d8 commit 67439f05c61cd2445416d7f4f32c4062827376da Author: Victor Hernandez <vhernandez@apple.com> Date: Wed Oct 21 19:11:40 2009 +0000 Make changes to rev 84292 as requested by Chris Lattner. Most changes are cleanup, but there is 1 correctness fix: I fixed InstCombine so that the icmp is removed only if the malloc call is removed (which requires explicit removal because the Worklist won't DCE any calls since they can have side-effects). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84772 91177308-0d34-0410-b5e6-96231b3b80d8 commit e33f252643208755c07a6b43082f20d05b15af42 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 21 17:54:01 2009 +0000 Fix NEON VST2LN instruction encoding. Patch by Johnny Chen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84767 91177308-0d34-0410-b5e6-96231b3b80d8 commit e0053d22f825bf4749beaa282a4263e945aebcbc Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 21 17:52:34 2009 +0000 Revert 84732. It was the wrong fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84766 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0d4250d2a10ec19f50c06baf6cb12f3fa97b0159 Author: Devang Patel <dpatel@apple.com> Date: Wed Oct 21 17:33:41 2009 +0000 Incorporate various suggestions Chris gave during metadata review. - i < getNumElements() instead of getNumElements() > i - Make setParent() private - Fix use of resizeOperands - Reset HasMetadata bit after removing all metadata attached to an instruction - Efficient use of iterators git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84765 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0fab1d621d58906aee98e3ab703a0aa3ffd1ffde Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Wed Oct 21 17:27:23 2009 +0000 Build shared lib instead of an archive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84764 91177308-0d34-0410-b5e6-96231b3b80d8 commit 154f22e8e4bafc4013c1f6a516b7a8102669012d Author: Jim Grosbach <grosbach@apple.com> Date: Wed Oct 21 15:26:21 2009 +0000 Cleanup of frame index scavenging. Better code flow and more accurately handles T2 and ARM use cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84761 91177308-0d34-0410-b5e6-96231b3b80d8 commit 37f42df1740fcc9fbba819648361fb2494ae6bd8 Author: Oscar Fuentes <ofv@wanadoo.es> Date: Wed Oct 21 13:22:20 2009 +0000 Two corrections for docs/CMake.html. Patch by Victor Zverovich! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84759 91177308-0d34-0410-b5e6-96231b3b80d8 commit 81548e7d913da85e324988057f52e83cf16e3714 Author: Edwin Török <edwintorok@gmail.com> Date: Wed Oct 21 10:49:00 2009 +0000 Fix PR5262: when folding select into PHI, make sure all operands are available in the PHI's Basic Block. This uses a conservative approach, because we don't have dominator info in instcombine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84754 91177308-0d34-0410-b5e6-96231b3b80d8 commit 00e8f5a671512a8647a3ac418b9d269e3a77ea63 Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Wed Oct 21 10:42:44 2009 +0000 Add a pass to overlay pic16 data sections for function frame and automatic variables. This pass can be invoked by llvm-ld or opt to traverse over the call graph to detect what function frames and their automatic variables can be overlaid. Currently this builds an archive , but needs to be changed to a loadable module. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84753 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9da99aa14b010c5fe3f9e52f53636d7c73181b2d Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Wed Oct 21 10:38:59 2009 +0000 Added more options to mcc16 driver. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84752 91177308-0d34-0410-b5e6-96231b3b80d8 commit 89ef28530fcc03f47245644eb67085b94efd0bac Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Oct 21 08:15:52 2009 +0000 Match more patterns to movt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84751 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8c56cfc79c02c68bef1c8bc37f8ee7a47c5e2e32 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Oct 21 07:56:02 2009 +0000 Need a comma after imp-use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84749 91177308-0d34-0410-b5e6-96231b3b80d8 commit 745edbe1bd3546db5109e59ea48f8a2a9ba569d8 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Wed Oct 21 06:01:54 2009 +0000 De-bork CMake build git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84744 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4334a08e041230c998dcf2f0749f05f3a27e35a1 Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 21 05:07:57 2009 +0000 Set comment string, patch by Johnny Chen! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84743 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10460aa4c6677cee572aee1692649f713e83cfc3 Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 21 04:11:19 2009 +0000 make GVN work better when TD is not around: "In the existing code, if the load and the value to replace it with are of different types *and* target data is available, it tries to use the target data to coerce the replacement value to the type of the load. Otherwise, it skips all effort to handle the type mismatch and just feeds the wrongly-typed replacement value to replaceAllUsesWith, which triggers an assertion. The patch replaces it with an outer if checking for type mismatch, and an inner if-else that checks whether target data is available and, if not, returns false rather than trying to replace the load." Patch by Kenneth Uildriks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84739 91177308-0d34-0410-b5e6-96231b3b80d8 commit 34fdb7750482a92c156acf8a4be9d1550386717c Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 21 04:10:24 2009 +0000 tidy git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84738 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6a77292423d0cc8955e56147b98b7d39c253eefa Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 21 02:27:20 2009 +0000 Fix some more NEON instruction encoding problems. Thanks to Johnny Chen for discovering the problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84732 91177308-0d34-0410-b5e6-96231b3b80d8 commit df16f21228cf99bf3e8bd192afa1a8246e70341c Author: Devang Patel <dpatel@apple.com> Date: Wed Oct 21 02:21:34 2009 +0000 Do not remove dead metadata for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84731 91177308-0d34-0410-b5e6-96231b3b80d8 commit 52e0d9d2677019df9209470c4cfcdc0a69365842 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 21 02:15:46 2009 +0000 Leave some NEON instruction encoding bits unspecified instead of setting a default value of zero. This is important for decoding the instructions. Patch by Johnny Chen, with some changes from me, too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84730 91177308-0d34-0410-b5e6-96231b3b80d8 commit 83a8e220504f71e2e88e73d866a4ca4542fc2caa Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Wed Oct 21 02:13:52 2009 +0000 Clarify documentation on multi_val options. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84729 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2155c0a5a49c4bf016e0e335ebf893d132eb7530 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Wed Oct 21 02:13:13 2009 +0000 Implement any_[not_]empty and list versions of switch_on and [not_]empty. Useful for OptionPreprocessor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84728 91177308-0d34-0410-b5e6-96231b3b80d8 commit fb035b45cbad41ccbc6190fdcc6b888528075bc5 Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 21 01:44:44 2009 +0000 Revert r84658 and r84691. They were causing llvm-gcc bootstrap to fail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84727 91177308-0d34-0410-b5e6-96231b3b80d8 commit 30a61c148accb447031985fc98a1213c3bbbc027 Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 21 01:10:37 2009 +0000 IPSCCP is missing stuff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84725 91177308-0d34-0410-b5e6-96231b3b80d8 commit ca24463d2c9df0ab7775a59ada835267a7043953 Author: Bill Wendling <isanbard@gmail.com> Date: Wed Oct 21 00:51:40 2009 +0000 This is passing on Darwin PPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84723 91177308-0d34-0410-b5e6-96231b3b80d8 commit ad525150667630fe4c47c88a2da230e283118ae0 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Wed Oct 21 00:43:48 2009 +0000 Delete the MacOSJITEventListener per echristo's request. It was disabled by default and didn't work anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84720 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2810c7f3181a3a11b0c69743a4b15cde9e69c875 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 00:14:15 2009 +0000 Add note git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84713 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd5e1eb3d54f5c045a413152fe63846176aa9bea Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 00:13:58 2009 +0000 Be crazy and assert in case of unsupported modifier passed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84712 91177308-0d34-0410-b5e6-96231b3b80d8 commit 616b9bb30f255c7531c70f3ece80402e2b0ed882 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 00:13:42 2009 +0000 Handle external symbols git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84711 91177308-0d34-0410-b5e6-96231b3b80d8 commit c9a90ae4863e130386e8e4c23c54468afc54f2f7 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 00:13:25 2009 +0000 Distinguish between pcrel imm operands and 'normal' ones. Fix fixes gross weirdness of asmprinting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84710 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7199ce5ab3517ffe7d78878bfc78e5ad3fb42054 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 00:13:05 2009 +0000 Add basic block operands & jump kinds git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84709 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3fcbbcd7945d1216a8572ad0c543ba9c98de3723 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 00:12:44 2009 +0000 Ignore all implicit reg operands git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84708 91177308-0d34-0410-b5e6-96231b3b80d8 commit eb85a3f2fa93c04bbe6c5fae910c6cfaf1180984 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 00:12:27 2009 +0000 Add a workaround for different memops prefixes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84707 91177308-0d34-0410-b5e6-96231b3b80d8 commit baffc35d25adf06f1e50d722523376eee7b31152 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 00:12:08 2009 +0000 Checkpoint MCInst printer. We (almostly) able to print global / JT / constpool entries git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84706 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8a50ba5671ff1b454db4f22d8b5d22b4354d272b Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 00:11:44 2009 +0000 Add reg-imm tests git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84705 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0f66de4cb1e6f103f3d7a5bdb4524f30a0de9ee3 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 00:11:27 2009 +0000 Add simple operand printing stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84704 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c7ceed86f92915c5244032d7ed36fe4f31c3904 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 00:11:08 2009 +0000 Add experimental MSP430 MCInstLowering stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84703 91177308-0d34-0410-b5e6-96231b3b80d8 commit 38640dd53e549765a07a47d02f628aeb39593df7 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 00:10:47 2009 +0000 Wire up MSP430 printMCInst() method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84702 91177308-0d34-0410-b5e6-96231b3b80d8 commit 425a93824d9237f0130fffad5d433789cbbec63f Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 00:10:30 2009 +0000 Add MSP430 InstPrinter stub git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84701 91177308-0d34-0410-b5e6-96231b3b80d8 commit aa315908b7d6ca9eef91b45171ca7af5e5b8f6d0 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 21 00:10:00 2009 +0000 Use proper target data git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84700 91177308-0d34-0410-b5e6-96231b3b80d8 commit 38e5be5da7a72d9318370359b20992765ce73152 Author: David Goodwin <david_goodwin@apple.com> Date: Tue Oct 20 22:50:43 2009 +0000 Respect src register allocation requirements when breaking anti-dependencies. Remove some dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84691 91177308-0d34-0410-b5e6-96231b3b80d8 commit 04480acd34c5bf3312e6ddafb36d595788a26f0f Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 20 22:50:27 2009 +0000 Cosmetic changes. s/validName/isValidName/g s/with an Instruction/to an Instruction/g s/RegisterMDKind/registerMDKind/g git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84689 91177308-0d34-0410-b5e6-96231b3b80d8 commit 38f422c8143b1a7c99796e40e295c677e11fbff9 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Oct 20 22:10:05 2009 +0000 Fix -Asserts warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84687 91177308-0d34-0410-b5e6-96231b3b80d8 commit 672de0aa03c5943cfdd1e49206326d1955c8b3a1 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Tue Oct 20 21:37:45 2009 +0000 Fix invalid for vector types fneg(bitconvert(x)) => bitconvert(x ^ sign) transform. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84683 91177308-0d34-0410-b5e6-96231b3b80d8 commit d4a322f88c5a91a151fc42f6d829e11c90ee38ce Author: Lang Hames <lhames@gmail.com> Date: Tue Oct 20 21:28:22 2009 +0000 Oops. Backing out 84681 - needs to wait for the indexing patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84682 91177308-0d34-0410-b5e6-96231b3b80d8 commit 38f4d15c5884940ea775494bb1e64d5b4b3e9e87 Author: Lang Hames <lhames@gmail.com> Date: Tue Oct 20 21:25:13 2009 +0000 Added some debugging output to pre-alloc splitting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84681 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7d7f7fb7fbcf64bc232fe800da0c1f4533485936 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 20 21:04:26 2009 +0000 add a real testcase for PR4313 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84676 91177308-0d34-0410-b5e6-96231b3b80d8 commit f3eec137dfa3cb5dd54f6d15f9606a91d8f43f99 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 20 21:00:47 2009 +0000 add a test similar to that needed for PR4313, but that doesn't fail without the patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84675 91177308-0d34-0410-b5e6-96231b3b80d8 commit c10dc49d8abaad87a2b82cd9e56e989fd7e1d020 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 20 20:57:58 2009 +0000 the date on this testcase is wrong, it is unreduced, and it passes without the fix for PR4313. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84674 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8ec5024633e3330028b469bd35301da789b77dcc Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 20 20:41:13 2009 +0000 Fix another place that calls Loop::contains a lot to construct a sorted container of the blocks and do efficient lookups. This makes isLoopSimplifyForm much faster on large loops, fixing a significant compile-time issue in builds with assertions enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84673 91177308-0d34-0410-b5e6-96231b3b80d8 commit 82ad352a6a4e1074d64e41fe3e03f70efba30858 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 20 20:39:43 2009 +0000 merge and filecheckize git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84672 91177308-0d34-0410-b5e6-96231b3b80d8 commit 55190138d93c8d975d7586f56e7b2bbf4be7cd73 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 20 20:33:46 2009 +0000 merge two tests and convert to filecheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84671 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0ea1568b4728e4de08c89594b232fa9fba80b5d4 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Oct 20 20:31:31 2009 +0000 Disable by default while debugging git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84669 91177308-0d34-0410-b5e6-96231b3b80d8 commit b95f0ead66316dc45e05b35edd21ab8069146255 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 20 20:27:49 2009 +0000 alternate fix for PR5258 which avoids worklist problems, with reduced testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84667 91177308-0d34-0410-b5e6-96231b3b80d8 commit 860507d1bbced055f324e91a18de4f5ddd650a4f Author: Jim Grosbach <grosbach@apple.com> Date: Tue Oct 20 20:19:50 2009 +0000 add cmd line opt to disable frame index reuse for ARM and T2. debug aid. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84664 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5c6665c8637d9483f51c3448941298218748f7eb Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 20 20:06:09 2009 +0000 Restore LoopUnswitch's block-oriented threshold. LoopUnswitch now checks both the estimated code size and the number of blocks when deciding whether to do a non-trivial unswitch. This protects it from some very undesirable worst-case behavior on large numbers of loop-unswitchable conditions, such as in the testcase in PR5259. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84661 91177308-0d34-0410-b5e6-96231b3b80d8 commit 11eb3a6c0dc019c8e69c7853e2d3678940714d30 Author: David Goodwin <david_goodwin@apple.com> Date: Tue Oct 20 19:54:44 2009 +0000 Checkpoint more aggressive anti-dependency breaking for post-ra scheduler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84658 91177308-0d34-0410-b5e6-96231b3b80d8 commit a10c4a8a085bff9a71ee666c2ac214c00dfee9a8 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Oct 20 19:52:35 2009 +0000 Better handle instructions that re-def a scratch register git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84657 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c28699c6e054f2033d93c04c87bf7ad88646bc1 Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 20 18:14:49 2009 +0000 Following r84485, add Defs = [EFLAGS] to the 32-bit lock instructions too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84652 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2512e357a856660a1b30766997ae046eaffe21e5 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Oct 20 18:13:21 2009 +0000 Move the Function*->allocated blocks map from the JITMemoryManager to the JITEmitter. I'm gradually making Functions auto-remove themselves from the JIT when they're destroyed. In this case, the Function needs to be removed from the JITEmitter, but the map recording which Functions need to be removed lived behind the JITMemoryManager interface, which made things difficult. This patch replaces the deallocateMemForFunction(Function*) method with a pair of methods deallocateFunctionBody(void *) and deallocateExceptionTable(void *) corresponding to the two startFoo/endFoo pairs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84651 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6caa53a1305c77e42d5099722ea05ab79ea0ab97 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Oct 20 16:33:57 2009 +0000 Register re-use for scavenged frame indices must check for re-deginition of the register in the instruction which kills the scavenged value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84641 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8ab7dd082e1d3c2e8b7ee74c56502d5d0287f624 Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 20 16:22:37 2009 +0000 Make TranslateX86CC return COND_INVALID instead of aborting when it encounters an OEQ or UNE comparison, and update its callers to check for this return status and recover. This fixes a problem resulting from the LowerOperation hooks being called from LegalizeVectorOps, because LegalizeVectorOps only lowers vectors, so OEQ and UNE comparisons may still be at large. This fixes PR5092. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84640 91177308-0d34-0410-b5e6-96231b3b80d8 commit 73b93c38b8150e9360f1089a0746e277b5ed910a Author: Edwin Török <edwintorok@gmail.com> Date: Tue Oct 20 15:42:00 2009 +0000 Fix PR5258, jump-threading creating invalid PHIs. When an incoming value for a PHI is updated, we must also updated all other incoming values for the same BB to match, otherwise we create invalid PHIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84638 91177308-0d34-0410-b5e6-96231b3b80d8 commit a617464b940cbd549e0fc6600dc3fcdd447f6abe Author: Edwin Török <edwintorok@gmail.com> Date: Tue Oct 20 15:15:09 2009 +0000 Fix PR4313: IPSCCP was not setting the lattice value for the invoke instruction when the invoke had multiple return values: it set the lattice value only on the extractvalue. This caused the invoke's lattice value to remain the default (undefined), and later propagated to extractvalue's operand, which incorrectly introduces undefined behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84637 91177308-0d34-0410-b5e6-96231b3b80d8 commit fdaec7c0cbc5d6abdf7db2561af08f90a9856742 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Tue Oct 20 11:44:38 2009 +0000 Random #include pruning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84632 91177308-0d34-0410-b5e6-96231b3b80d8 commit 02294d8ab2ac257005c9c7dc5c5039ee16d376cc Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Tue Oct 20 09:16:32 2009 +0000 This file is replaeced by PIC16Section.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84628 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4736b507e87b7690eeb2dab726367593aea226ef Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Oct 20 07:30:54 2009 +0000 NNT: Implement "config mode", use -config path/to/llvm-config - This runs the nightly test and does all the submission logic, but using the LLVM build specified by the llvm-config. - Useful for, among other things, testing NNT itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84620 91177308-0d34-0410-b5e6-96231b3b80d8 commit 955b7394b5be916e47f93865b099bd57738b4e16 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Oct 20 07:30:46 2009 +0000 NNT: Remove unused BUILDTYPE argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84619 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6d01a09e9033c335655d9652b6a609e41d4db8c4 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 20 06:22:33 2009 +0000 implement some more easy hooks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84614 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9ec22035cfa3affa2e5e5a026fe228716831a781 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 20 06:15:28 2009 +0000 Implement some hooks, make printOperand abort if unknown modifiers are present. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84613 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6cc1d3464849d68ba734f6ff8f54b934f53e218d Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 20 05:58:02 2009 +0000 t2MOVi32imm is currently always lowered by the Thumb2ITBlockPass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84611 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56f4502e733d0373166542f85ee641e9df72413e Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Oct 20 05:33:23 2009 +0000 PowerPC ifdef'ing considered more complicated than one might like. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84603 91177308-0d34-0410-b5e6-96231b3b80d8 commit 75b4315d0399ae642397f7deec028adb1802a8bb Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Oct 20 05:15:36 2009 +0000 Wire up the ARM MCInst printer, for llvm-mc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84600 91177308-0d34-0410-b5e6-96231b3b80d8 commit b457c89c5998fb359323bf27c43fa326c1016124 Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 20 04:50:37 2009 +0000 Re-apply r84295, with fixes to how the loop "top" and "bottom" blocks are tracked. Instead of trying to manually keep track of these locations while doing complex modifications, just recompute them when they're needed. This fixes a bug in which the TopMBB and BotMBB were not correctly updated, leading to invalid transformations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84598 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2894c9052cf5b91ff9d422c31c5aa68eebb869e2 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Oct 20 04:23:20 2009 +0000 Trim unnecessary includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84597 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7e3f3cec672df37935f6c651d1135657fdfe5cdd Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 20 04:16:37 2009 +0000 Add getTopBlock and getBottomBlock member functions to MachineLoopInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84596 91177308-0d34-0410-b5e6-96231b3b80d8 commit b2455d2907541391f396ae4eecd5814aecb6ce4d Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Oct 20 04:09:50 2009 +0000 Correct test for PowerPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84595 91177308-0d34-0410-b5e6-96231b3b80d8 commit a3a4de41a79969ce6e6ac96facfa9d4a01c5e7f1 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Oct 20 02:23:13 2009 +0000 Revert "Tweak top-level Makefile to facilitate Apple-style build.", this is breaking Clang's Apple-style build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84592 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3a284bff97818a9da5313655544ee6d22ff77a67 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Oct 20 02:23:05 2009 +0000 NNT: Remove duplicate verbose print. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84591 91177308-0d34-0410-b5e6-96231b3b80d8 commit 86fc0730e6c0f4c2f6fdb0a9296fa4eb2802ef53 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Oct 20 01:32:47 2009 +0000 Now that all ARM subtargets use frame index scavenging, the Thumb1 requires* functions are not needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84587 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2f576c1745fb305f8db1f583022e7e4e93706841 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Oct 20 01:31:09 2009 +0000 If the physical register being spilled does not have an interval, spill its sub-registers instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84586 91177308-0d34-0410-b5e6-96231b3b80d8 commit 81d33cdd24ad12950350365eb634134292e357e1 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Oct 20 01:26:58 2009 +0000 Enable post-pass frame index register scavenging for ARM and Thumb2 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84585 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7960fbe0b2679bda3c6db9ebf0c13d0e0f1f8a3b Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 20 01:11:37 2009 +0000 lower ARM::MOVi32imm properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84583 91177308-0d34-0410-b5e6-96231b3b80d8 commit f5044e84ffc2dfe993b050d96403ec1170645903 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 20 00:56:16 2009 +0000 add support for external symbols. The mc instprinter can now handle reasonable code like Codegen/ARM/2009-02-27-SpillerBug.ll, producing identical output except for superior formatting of constant pool entries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84582 91177308-0d34-0410-b5e6-96231b3b80d8 commit a2483d54b25eb8f19ca58419b01918eb5a4a0a1c Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 20 00:52:47 2009 +0000 get fancy: support basic block operands. Yay for jumps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84579 91177308-0d34-0410-b5e6-96231b3b80d8 commit 37cd7db2c8fa2817637d8b5ecafcc33a167865ed Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 20 00:46:11 2009 +0000 add supprort for the 'sbit' operand, MOVi apparently has one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84577 91177308-0d34-0410-b5e6-96231b3b80d8 commit 31c1d7b06d5f7ec47ec96d99275faee9624cffd0 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 20 00:42:49 2009 +0000 add support for instruction predicates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84575 91177308-0d34-0410-b5e6-96231b3b80d8 commit e4eb7345116dbb08a81742416317b707b6c2cb76 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 20 00:40:56 2009 +0000 implement printSORegOperand, add lowering for the nasty and despicable MOVi2pieces :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84573 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8d6989f39c90afddab819efd17372519278e71c Author: Jim Grosbach <grosbach@apple.com> Date: Tue Oct 20 00:38:19 2009 +0000 Refs: A8-598. Leave Inst{11-8}, which represents the starting byte index of the extracted result in the concatenation of the operands and is left unspecified. Patch by Johnny Chen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84572 91177308-0d34-0410-b5e6-96231b3b80d8 commit 77ef7774b592306694272b141712dec57a94caab Author: Jim Grosbach <grosbach@apple.com> Date: Tue Oct 20 00:19:08 2009 +0000 Add missing encoding bits to NLdSt class of instructions. Patch by Johnny Chen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84570 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6ac9153989bc41f2b4f6b20379870e7caf22b86d Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 23:35:57 2009 +0000 X86 should ignore implicit regs when lowering to MCInst also, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84567 91177308-0d34-0410-b5e6-96231b3b80d8 commit aabf5bee0bd2fc12e02937511e4e28d400c8211e Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 23:31:43 2009 +0000 handle addmode4 modifiers, fix a fixme in printRegisterList by ignoring all implicit regs when lowering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84566 91177308-0d34-0410-b5e6-96231b3b80d8 commit d9e0e2a295cd5d167dfe579d2f889f091c5e7f95 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 23:05:23 2009 +0000 simplify by using the twine form of GetOrCreateSymbol git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84565 91177308-0d34-0410-b5e6-96231b3b80d8 commit 07e97529cb7a8e1608ceedefb5ba5fde32cdb74f Author: Oscar Fuentes <ofv@wanadoo.es> Date: Mon Oct 19 23:00:00 2009 +0000 Updated cmake library dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84564 91177308-0d34-0410-b5e6-96231b3b80d8 commit 46999f20018606012039e3fe0861ea8d0a632593 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Oct 19 22:57:03 2009 +0000 Enable allocation of R3 in Thumb1 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84563 91177308-0d34-0410-b5e6-96231b3b80d8 commit e1ca870b6187d888ca1b83095fc0a37b38a33613 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 22:51:16 2009 +0000 use EmitLabel instead of text emission git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84562 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2743f3605a9fcd16f1045a8d9bcb8950cab0860e Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 22:49:00 2009 +0000 add a twine version of MCContext::GetOrCreateSymbol. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84561 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4c565d8576a1ceb933301e7437723978ba985553 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 22:33:05 2009 +0000 lower the ARM::CONSTPOOL_ENTRY pseudo op, giving us constant pool entries like: @ BB#1: .align 2 LCPI1_0: .long L_.str-(LPC0+8) Note that proper indentation of the label :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84558 91177308-0d34-0410-b5e6-96231b3b80d8 commit 976a864c9995dced48ffaca18ff68921f0a4d5df Author: Jim Grosbach <grosbach@apple.com> Date: Mon Oct 19 22:27:30 2009 +0000 Adjust the scavenge register spilling to allow the target to choose an appropriate restore location for the spill as well as perform the actual save and restore. The Thumb1 target uses this to make sure R12 is not clobbered while a spilled scavenger register is live there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84554 91177308-0d34-0410-b5e6-96231b3b80d8 commit 817d551945e7ce46b12f8b3d022c7a7a0e90275e Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 22:23:04 2009 +0000 add MCInstLower support for lowering ARM::PICADD, a pseudo op for pic stuffola. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84553 91177308-0d34-0410-b5e6-96231b3b80d8 commit a7d4c7c42ec13195de5096d6d82d68e175a1fde4 Author: Owen Anderson <resistor@mac.com> Date: Mon Oct 19 22:14:22 2009 +0000 Refactor lookup_or_add to contain _MUCH_ less duplicated code. Add support for numbering first class aggregate instructions while we're at it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84547 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8bdad042bc8e9f7c0aad7194ab4c120f38aba01 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 22:09:23 2009 +0000 add register list and hacked up addrmode #4 support, we now get this: _main: stmsp! sp!, {r7, lr} mov r7, sp sub sp, sp, #4 mov r0, #0 str r0, [sp] ldr r0, LCPI1_0 bl _printf ldr r0, [sp] mov sp, r7 ldmsp! sp!, {r7, pc} Note the unhappy ldm/stm because of modifiers being ignored. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84546 91177308-0d34-0410-b5e6-96231b3b80d8 commit 965998b0cd1ca7f0e3a389cd2086034fc16a5d2b Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 21:59:25 2009 +0000 revert r84540, fixing build breakage I didn't see because of broken makefile deps :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84544 91177308-0d34-0410-b5e6-96231b3b80d8 commit f1977ef5f64e12407799dbb7b6c113b4b0567db1 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 21:57:05 2009 +0000 add addrmode2 support, getting us up to: _main: stm , mov r7, sp sub sp, sp, #4 mov r0, #0 str r0, [sp] ldr r0, LCPI1_0 bl _printf ldr r0, [sp] mov sp, r7 ldm , git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84543 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9521525ee4beef3f057a4b1921399322c5060f97 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 21:53:00 2009 +0000 add jump tables, constant pools and some trivial global lowering stuff. We can now compile hello world to: _main: stm , mov r7, sp sub sp, sp, #4 mov r0, #0 str r0, ldr r0, bl _printf ldr r0, mov sp, r7 ldm , Almost looks like arm code :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84542 91177308-0d34-0410-b5e6-96231b3b80d8 commit 96a4cb23a20b1c7c67bd04759f2a67bf4f289bbd Author: Victor Hernandez <vhernandez@apple.com> Date: Mon Oct 19 21:47:22 2009 +0000 Malloc calls are marked NoAlias, so the code below the isMalloc() check makes it redundant. Removing the isMalloc() check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84541 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed37b58917e817139e25466c91e36813435fb1f9 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 21:45:31 2009 +0000 pass mangler in as a reference instead of a pointer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84540 91177308-0d34-0410-b5e6-96231b3b80d8 commit 33576323678a64f89b0f2598b54a8a9b6d95b93a Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Mon Oct 19 21:24:28 2009 +0000 More refactoring... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84537 91177308-0d34-0410-b5e6-96231b3b80d8 commit ba9c060b0e2a2bc7cadcbc2bff3a8e025f00213d Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 21:23:15 2009 +0000 reduce #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84536 91177308-0d34-0410-b5e6-96231b3b80d8 commit cc309683cabf05c1ec7175ecdaf5ba97a36fb1cc Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 21:21:39 2009 +0000 add printing support for SOImm operands, getting us to: _main: stm , mov r7, sp sub sp, sp, #4 mov r0, #0 str r0, git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84535 91177308-0d34-0410-b5e6-96231b3b80d8 commit b472cd8f456dc9cb9e8071c2ea9e068a07566308 Author: Owen Anderson <resistor@mac.com> Date: Mon Oct 19 21:14:57 2009 +0000 Simplify some code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84533 91177308-0d34-0410-b5e6-96231b3b80d8 commit 799e7c15430c30c25ad374e2022c23b88a27a7fe Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 20:59:55 2009 +0000 wire up some basic printOperand goodness, giving us stuff like this before we abort: _main: stm , mov r7, sp sub sp, sp, mov r0, str r0, git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84532 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1526e99433566fb172e9f82340455fbf783963a0 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 20:21:05 2009 +0000 add the files that go with the previous rev git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84531 91177308-0d34-0410-b5e6-96231b3b80d8 commit da6d01a3c6e8fcf1685b7903f966ac6c27cd6c62 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 20:20:46 2009 +0000 wire up skeletal support for having llc print instructions through mcinst lowering -> mcinstprinter, when llc is passed the -enable-arm-mcinst-printer flag. Currently this is very "aborty". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84530 91177308-0d34-0410-b5e6-96231b3b80d8 commit ee99626c6bd31b4c0eea7de52945f514d7b2b0c6 Author: Owen Anderson <resistor@mac.com> Date: Mon Oct 19 20:11:52 2009 +0000 Banish ConstantsLock. It's serving no purpose other than slowing things down at the moment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84529 91177308-0d34-0410-b5e6-96231b3b80d8 commit fd73ff4241505512fbaba4781c019338774893a7 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 19:59:05 2009 +0000 wire up ARM's printMCInst method. Now llvm-mc should be able to produce "something" when printing MCInsts, it will just be missing all the operand info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84528 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8d01409390c7392f92540fa207556c2acc2ed89b Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 19:56:26 2009 +0000 stub out a minimal ARMInstPrinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84527 91177308-0d34-0410-b5e6-96231b3b80d8 commit be7efccdb9578e39f224bf36a66c191dd6943e9e Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 19:51:42 2009 +0000 remove strings from instructions who are never asmprinted. All of these "subreg32" modifier instructions are handled explicitly by the MCInst lowering phase. If they got to the asmprinter, they would explode. They should eventually be replace with correct use of subregs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84526 91177308-0d34-0410-b5e6-96231b3b80d8 commit e45e6f933f7296f36a21918ef8d59431550c8eda Author: Jeffrey Yasskin <jyasskin@google.com> Date: Mon Oct 19 18:49:59 2009 +0000 Clean up the JITResolver stub/callsite<->function maps. The JITResolver maps Functions to their canonical stubs and all callsites for lazily-compiled functions to their target Functions. To make Function destruction work, I'm going to need to remove all callsites on destruction, so this patch also adds the reverse mapping for that. There was an incorrect assumption in here that the only stub for a function would be the one caused by needing to lazily compile it, while x86-64 far calls and dlsym-stubs could also cause such stubs, but I didn't look for a test case that the assumption broke. This also adds DenseMapInfo<AssertingVH> so I can use DenseMaps instead of std::maps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84522 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c7f8d32d6edd39000fbb2643828d86d2235b139 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 18:49:14 2009 +0000 simplify code, reducing string thrashing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84521 91177308-0d34-0410-b5e6-96231b3b80d8 commit d9a6f16cfc733a242378b2bd57f744e46f88fed5 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 18:44:38 2009 +0000 switch hidden gv stubs to use MachineModuleInfoMachO instead of a custom map. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84520 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5212138dbd0f9b3f1b0ce4db245fc43f7e29b242 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 18:38:33 2009 +0000 use MachineModuleInfoMachO for non-lazy gv stubs instead of a private map. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84519 91177308-0d34-0410-b5e6-96231b3b80d8 commit d3a3110595d5ac406334584886588e5c94ea9d78 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 18:27:56 2009 +0000 convert to filecheck syntax and make a lot more aggressive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84517 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2e1e52272a4d8168ae18689877ae1fe7737ced4f Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Mon Oct 19 18:21:09 2009 +0000 Revert r84295, this unbreaks llvm-gcc bootstrap on x86-64/linux git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84516 91177308-0d34-0410-b5e6-96231b3b80d8 commit 43bc0c42b35039d7ad103d3dfd5e075c9fb52a61 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 18:18:07 2009 +0000 rename test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84515 91177308-0d34-0410-b5e6-96231b3b80d8 commit 14f3c57043c80ba21e32c04f4b911872a154fc86 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 18:11:25 2009 +0000 remove dead map git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84513 91177308-0d34-0410-b5e6-96231b3b80d8 commit 882baf592d34dab3679b411d457b5a36f6b53a22 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 18:08:02 2009 +0000 don't bother trying to avoid emitting redundant constant pool alignment directives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84512 91177308-0d34-0410-b5e6-96231b3b80d8 commit 55112546ec17566bda9c1baece0837b0f8645d43 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 18:03:41 2009 +0000 remove accidental comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84510 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe284f7efed56c46bae93eb3980924544ec9f513 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 18:03:08 2009 +0000 emit .subsections_via_symbols through MCStreamer instead of textually. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84509 91177308-0d34-0410-b5e6-96231b3b80d8 commit b8db78262d2760d34ef451cdde7b20b9177a2f0e Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 17:59:19 2009 +0000 cleanup doFinalization -> EmitEndOfAsmFile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84508 91177308-0d34-0410-b5e6-96231b3b80d8 commit 79caa11f7f8f871914ae6915d84c8548cf194b04 Author: Stuart Hastings <stuart@apple.com> Date: Mon Oct 19 17:53:54 2009 +0000 Tweak top-level Makefile to facilitate Apple-style build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84507 91177308-0d34-0410-b5e6-96231b3b80d8 commit 186a6a5b4f2db03622c216773e841de4255357eb Author: Nate Begeman <natebegeman@mac.com> Date: Mon Oct 19 17:31:16 2009 +0000 PR 5245 - The imediate size target flag was not set on 3A-prefixed SSSE3 instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84506 91177308-0d34-0410-b5e6-96231b3b80d8 commit cd13d085ce8ca450d379abf127ced1cb097cce10 Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 19 16:04:50 2009 +0000 Fix SplitBlockPredecessors' LoopInfo updating code to handle the case where a loop's header is being split and it has predecessors which are not contained by the most-nested loop which contains the loop. This fixes PR5235. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84505 91177308-0d34-0410-b5e6-96231b3b80d8 commit d20dd8f42feee188300b2f59ea4a9c0ab4809690 Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 19 14:56:05 2009 +0000 Fix a typo in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84504 91177308-0d34-0410-b5e6-96231b3b80d8 commit 988308e1aa1aa43502e9dd353cf50bc409ca5f96 Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 19 14:52:05 2009 +0000 Change a few instance variables to be local variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84503 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3ceed37700dafc4ba39a17bfc47f9e4c468e6e7a Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 19 14:47:32 2009 +0000 Change instnamer to name arguments "arg" instead of "tmp" for clarity, and to name basic blocks "bb" instead of "BB", for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84502 91177308-0d34-0410-b5e6-96231b3b80d8 commit c5382fb5c471313e455811e52766ff319d5ff389 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 13:20:56 2009 +0000 NNT: Add -parallel-test option, which runs llvm-test with ENABLE_PARALLEL_REPORT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84497 91177308-0d34-0410-b5e6-96231b3b80d8 commit 96aab414701203ede877aeac1d4a1875f63022ed Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 13:20:50 2009 +0000 NNT: Don't hard code -l3.0 argument to make, this is very server dependent. Users who care can use -compileflags for this. Also, fix make clean call and a few other tweaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84496 91177308-0d34-0410-b5e6-96231b3b80d8 commit f41928152aad569778c5fd8066da19eaae636fee Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 13:20:44 2009 +0000 NNT: Fix refactoro, I dropped the list of all (llvm-test) tests. I'm sure it was named dejagnu_test_list for a good reason. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84495 91177308-0d34-0410-b5e6-96231b3b80d8 commit a2b34e390409e9a8c33f603782d0b6ec4ec26c01 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 13:20:38 2009 +0000 NNT: Lift conditional logic out of test steps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84494 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2b9446e3b98f9d9f3f51dc108691768138f21f81 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 13:20:31 2009 +0000 NNT: Now that build & test steps are factored out, coalesce all the logic together. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84493 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2942b0204853452b8236646b01e50cd1d29af9a6 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 13:20:25 2009 +0000 NNT: Sink code for running nightly test into subroutine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84492 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce25dafc1634a23335e133d77c2d0bff89e7b3a6 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 13:20:19 2009 +0000 NNT: Tweaks and simplifications. - Split out configure log. - Kill off GetRegexNum. - Fix GetRegex to not return previous match on failure. - Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84491 91177308-0d34-0410-b5e6-96231b3b80d8 commit f2ec0094a0679b9265e1722c6422f2020c9f2ba6 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 13:20:13 2009 +0000 NNT: Move build code into subroutine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84490 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4493e94e93c1c26fd70a9aeff21044b01a3f84f8 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 13:20:06 2009 +0000 NNT: Move source checkout code into subroutine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84489 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3c52ad157a2afc9cf0cdc24d840ec95c4f97b86b Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 13:20:00 2009 +0000 NNT: Remove .{o,a} size info, this is better tracked elsewhere. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84488 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6981e023d9d22b1e3e8d46b84da8c32050b25521 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 13:19:53 2009 +0000 NNT: Remove code to track build warnings, the buildbots cover this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84487 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce819f1cfc4fd012a8f7515f57cbe7fd6747c67b Author: Edwin Török <edwintorok@gmail.com> Date: Mon Oct 19 11:00:58 2009 +0000 Fix PR5247, "lock addq" pattern (and other atomics), it DOES modify EFLAGS. LLC was scheduling compares before the adds causing wrong branches to be taken in programs, resulting in misoptimized code wherever atomic adds where used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84485 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0f5a54282ccce79a8d4b2a6b28515bfe86620234 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 09:19:32 2009 +0000 Also check for __POWERPC__ when skipping these tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84482 91177308-0d34-0410-b5e6-96231b3b80d8 commit dce5acc21533ac83a5ba75642c0cfc4c02155937 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 09:19:19 2009 +0000 NNT: Remove hard coded BuildDir and WebDir, users should have to specify these. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84481 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9ec7b9e26cc036a52125efaa186321d2bbf59c1c Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 09:19:09 2009 +0000 NNT: Remove "CVS Stats", this isn't particularly useful and can be better done by the server or user. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84480 91177308-0d34-0410-b5e6-96231b3b80d8 commit 414cffec0a45ba543ddca53e8a24e8a833f1588a Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 09:18:54 2009 +0000 NNT: Remove now-unused -cvstag argument and CVSROOT code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84479 91177308-0d34-0410-b5e6-96231b3b80d8 commit affc0a59ae87e928f31dc939fe065e3903bd11e4 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 09:18:46 2009 +0000 NNT: Remove -usecvs option, this is very old. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84478 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6d2151fa92c53725a76d4679c22e07f54d7dfeac Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 09:18:37 2009 +0000 NNT: Remove -debug argument, it is unused. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84477 91177308-0d34-0410-b5e6-96231b3b80d8 commit ae3faf16d09e5247aca536bd9b905e37a38a55f2 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 09:18:24 2009 +0000 Regroup NewNightlyTest.pl options git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84476 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0ea0b60777d86112abcbee9b15dd5073f1a366d1 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 07:10:59 2009 +0000 various cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84471 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd0729d4def76cc0a73fad25eeeba48fd045f776 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 05:51:03 2009 +0000 simplify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84465 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56121b8af3863dafe75a4c6caf57be85d1ff0e78 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 05:34:14 2009 +0000 eliminate md_on_instruction.ll, md_on_instruction2.ll is a superset of it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84464 91177308-0d34-0410-b5e6-96231b3b80d8 commit c6a1c72ff0baf32402308e691695dc40c52d91c4 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 19 05:31:10 2009 +0000 clean up after metadata changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84463 91177308-0d34-0410-b5e6-96231b3b80d8 commit c62ebee717f224491aa4239b567e11c7ac78ea0f Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 03:54:21 2009 +0000 lit: When running Tcl scripts via shell, try harder to find 'bash', but fall back to running them internally if that fails. PR5240. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84462 91177308-0d34-0410-b5e6-96231b3b80d8 commit a4e496517b45bd4ac4181a9c4748552409792a96 Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 03:54:13 2009 +0000 Add link to 'lit' from CommandGuide. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84461 91177308-0d34-0410-b5e6-96231b3b80d8 commit 618232c08a37f39031de8a94fa91bc6a6186373b Author: Daniel Dunbar <daniel@zuster.org> Date: Mon Oct 19 03:53:55 2009 +0000 Teach lit that the .c files in 'test/CodeGen/CellSPU/useful-harnesses' aren't tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84460 91177308-0d34-0410-b5e6-96231b3b80d8 commit 080f8e27b25d17bba69e18e1a8eddaa32288604c Author: Nate Begeman <natebegeman@mac.com> Date: Mon Oct 19 02:17:23 2009 +0000 Add support for matching shuffle patterns with palignr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84459 91177308-0d34-0410-b5e6-96231b3b80d8 commit af4fb5a5cc937dd6aa982e393c6574707913d0ed Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Sun Oct 18 22:51:30 2009 +0000 Refactoring, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84450 91177308-0d34-0410-b5e6-96231b3b80d8 commit c91317828c58e9780e7d6b6c127dc87cf61fa1f5 Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Oct 18 19:58:47 2009 +0000 Spill slots cannot alias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84432 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6e2f5a4d9034c358ba5b077e24b4279d1194e328 Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Oct 18 19:57:27 2009 +0000 Turn on post-alloc scheduling for x86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84431 91177308-0d34-0410-b5e6-96231b3b80d8 commit cbbfd5928726deeefc1ae03df8a70aca8a225197 Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Oct 18 18:31:31 2009 +0000 Oops. I forgot to change the tests first. Disable post-alloc scheduling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84425 91177308-0d34-0410-b5e6-96231b3b80d8 commit 174e2cf99df2011a0d56e96dcdb32c1ccaf4f464 Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Oct 18 18:16:27 2009 +0000 -Revert parts of 84326 and 84411. Distinquishing between fixed and non-fixed stack slots and giving them different PseudoSourceValue's did not fix the problem of post-alloc scheduling miscompiling llvm itself. - Apply Dan's conservative workaround by assuming any non fixed stack slots can alias other memory locations. This means a load from spill slot #1 cannot move above a store of spill slot #2. - Enable post-alloc scheduling for x86 at optimization leverl Default and above. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84424 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3820341c59acd9a1d0a664a2ce86745015d8fccb Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Oct 18 06:27:36 2009 +0000 Only fixed stack objects and spill slots should be get FixedStack PseudoSourceValue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84411 91177308-0d34-0410-b5e6-96231b3b80d8 commit 66f2cb90e57e03f3f141ae225969c90a00ac2784 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 18 05:27:44 2009 +0000 remove some nonascii weird stuff git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84410 91177308-0d34-0410-b5e6-96231b3b80d8 commit 234d587487a9c825cef6c5f96a430f69250cbdba Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 18 05:20:17 2009 +0000 remove a now-pointless regtest git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84409 91177308-0d34-0410-b5e6-96231b3b80d8 commit 708770bbcab0eeaad849b10542fcba56c72d23fc Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 18 05:09:15 2009 +0000 add some fixme's git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84408 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5451359c1e3d61ff28c2dab42cd6fc4b3f802344 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 18 05:08:07 2009 +0000 punctuate properly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84407 91177308-0d34-0410-b5e6-96231b3b80d8 commit 24a2abdaedcac06cea91153c375373e044dfe1ff Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 18 05:03:41 2009 +0000 remove testcase for dead pass git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84406 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2e4d92851e2a8bc442034b7b8fe1d3bf1d951d2d Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 18 05:03:00 2009 +0000 fix test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84405 91177308-0d34-0410-b5e6-96231b3b80d8 commit b68e27a04f32573543c23bbcd33518cd9257905a Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 18 05:02:09 2009 +0000 remove the IndMemRemPass, which only made sense for when malloc/free were intrinsic instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84404 91177308-0d34-0410-b5e6-96231b3b80d8 commit 22a687f687f626a83c0608c45de864d76f503604 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 18 04:58:34 2009 +0000 fix the other issue with ID's, hopefully really fixing the linux build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84403 91177308-0d34-0410-b5e6-96231b3b80d8 commit a07bed1e7ea771a4cf7e0aba70fd22c812ee3b5a Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 18 04:55:26 2009 +0000 tighten up test3, add test3a for the converse transform, which isn't happening yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84402 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5b554f7452046589a922493f4a062c133da401f8 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 18 04:50:18 2009 +0000 tighten test2, add a test that it doesn't get transformed in the invalid edge case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84401 91177308-0d34-0410-b5e6-96231b3b80d8 commit 285e6506294aba9e2738a3d645e1ea93101d1b04 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Oct 18 04:41:36 2009 +0000 Merge tests into modref.ll. Also add a test for r84174 at Chris' behest! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84400 91177308-0d34-0410-b5e6-96231b3b80d8 commit bc8aea94fd079629681425b0d35d296ae687db88 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 18 04:27:14 2009 +0000 fix some problems with ID definitions, which will hopefully fix the build bots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84399 91177308-0d34-0410-b5e6-96231b3b80d8 commit 82e741607967f2d0f16af4be7d47e91ba62c43a8 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 18 04:10:40 2009 +0000 add function passes for printing various dominator datastructures accessible through opt. Patch by Tobias Grosser! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84397 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2f3311465b03efa4c14cc46431768a269610077f Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 18 04:09:11 2009 +0000 make DOTGraphTraits public, patch by Tobias Grosser! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84396 91177308-0d34-0410-b5e6-96231b3b80d8 commit 288dde63a65a687f73227a676c5d6d7a0656a29a Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 18 04:05:53 2009 +0000 add nodes_begin/end/iterator for dominfo, patch by Tobias Grosser! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84395 91177308-0d34-0410-b5e6-96231b3b80d8 commit c3ad8096d8df43b24644d6fdb2485d57d12734ce Author: Jeffrey Yasskin <jyasskin@google.com> Date: Sun Oct 18 02:05:42 2009 +0000 Support GoogleTest's "typed tests" (http://code.google.com/p/googletest/wiki/GoogleTestAdvancedGuide#Typed_Tests) in lit.py. These tests have names like "ValueMapTest/0.Iteration", which broke when lit.py os.path.join()ed them onto the path and then assumed it could os.path.split() them back off. This patch shifts path components from the testPath to the testName until the testPath exists. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84387 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56939cebe60e2fd6ae196570764b8149f8f3b88b Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Oct 18 00:42:07 2009 +0000 Add a couple new testcases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84385 91177308-0d34-0410-b5e6-96231b3b80d8 commit bb5dd54e60ded55b75c1bfbc873210bc46c4470d Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 17 23:59:51 2009 +0000 replace a useless test with a useful one git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84383 91177308-0d34-0410-b5e6-96231b3b80d8 commit 918fdb719a332177af23aaa94bdb667979205412 Author: Eric Christopher <echristo@apple.com> Date: Sat Oct 17 23:56:18 2009 +0000 More warnings patrol: Another unused argument and more implicit conversions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84382 91177308-0d34-0410-b5e6-96231b3b80d8 commit b07b4b26cdda848985cf1d8e62b9d98fdc35b0f0 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Oct 17 23:52:26 2009 +0000 Fix test/Bindings/Ocaml/vmcore.ml. When IRBuilder::CreateMalloc was removed, LLVMBuildMalloc was reimplemented but with the bug that it didn't insert the resulting instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84374 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4793c939b4b654a0902323f8ae32c46b5169a649 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 17 23:48:54 2009 +0000 inline isGEP away. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84373 91177308-0d34-0410-b5e6-96231b3b80d8 commit 844797e20c5a78cdefd967a979a19415398ddd2c Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Oct 17 23:15:04 2009 +0000 Fix my -Asserts warning fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84372 91177308-0d34-0410-b5e6-96231b3b80d8 commit fec939c71ac163fd0ad235cd7da545cf4472fc3b Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 17 21:53:27 2009 +0000 Teach vm core to more aggressively fold 'trunc' constantexprs, allowing it to simplify the crazy constantexprs in the testcases down to something sensible. This allows -std-compile-opts to completely "devirtualize" the pointers to member functions in the testcase from PR5176. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84368 91177308-0d34-0410-b5e6-96231b3b80d8 commit a9a0841baa2ec61270e133ffbfbe112158ba8a42 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 17 21:51:19 2009 +0000 remove # uses from FileCheck lines. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84367 91177308-0d34-0410-b5e6-96231b3b80d8 commit 568b8beb18a5e4752307f149e45f71569af60e74 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 17 21:31:19 2009 +0000 rename test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84364 91177308-0d34-0410-b5e6-96231b3b80d8 commit 826b38064530cd5a666d7ccddc96465476c4bdeb Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Oct 17 20:43:42 2009 +0000 Move UnescapeString to a static function for its sole client; its inefficient and broken. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84358 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8c5f301e26efb526c76870107210598d5008c4dd Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Oct 17 20:43:29 2009 +0000 Remove llvm::EscapeString, raw_ostream::write_escaped is much faster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84357 91177308-0d34-0410-b5e6-96231b3b80d8 commit f89f4be5637df6ac149e83c3aa7b52bc4e6d7db0 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Oct 17 20:43:19 2009 +0000 Use raw_ostream::write_escaped instead of EscapeString. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84356 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6af700555f6c97d33872c2bbf316214924247065 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Oct 17 20:43:08 2009 +0000 Add raw_ostream::write_escaped, for writing escaped strings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84355 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6d43539e07cc1a865b4f54bedbd0b374e04963a4 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Sat Oct 17 20:09:29 2009 +0000 First draft of the OptionPreprocessor. More to follow... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84352 91177308-0d34-0410-b5e6-96231b3b80d8 commit c53d225e9d93e78dd5ae9f8ee7b6e5fc0bec3e56 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Sat Oct 17 20:08:47 2009 +0000 This variable is never used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84351 91177308-0d34-0410-b5e6-96231b3b80d8 commit 95b99cae40c20a3fa2da3ee0e58e29d4e21701ed Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Sat Oct 17 20:08:30 2009 +0000 Disallow multiple instances of PluginPriority. Several instances of PluginPriority in a single file most probably signifies a programming error. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84350 91177308-0d34-0410-b5e6-96231b3b80d8 commit cbe1e4185d46cf2c8bfc2413595490285665e82a Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Sat Oct 17 20:07:49 2009 +0000 -O[0-3] options should be also forwarded to opt and llc. This will require implementing OptionPreprocessor to forbid invalid invocations such as 'llvmc -O1 -O2'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84349 91177308-0d34-0410-b5e6-96231b3b80d8 commit ecae47867f4d466a71600ca7ba1cbca69befc276 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Oct 17 19:43:45 2009 +0000 Emit newlines at the end of instructions too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84348 91177308-0d34-0410-b5e6-96231b3b80d8 commit baa7e86d8243c7fa92e72f97035339bb59412aaf Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Oct 17 18:21:06 2009 +0000 Move StringMap's string has function into StringExtras.h git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84344 91177308-0d34-0410-b5e6-96231b3b80d8 commit bd35458c807abf6a887ee7983639d2ebe5a9736b Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Oct 17 18:11:57 2009 +0000 Remove unnecessary include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84336 91177308-0d34-0410-b5e6-96231b3b80d8 commit aa127ee919bdff5f6363818a10fe7db8d70e0780 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Oct 17 09:33:00 2009 +0000 Suppress -Asserts warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84327 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5505bc1c26d335e9a0f22f2c55fcf7544037b2d9 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Oct 17 09:20:14 2009 +0000 Distinquish stack slots from other stack objects. They (and fixed objects) get FixedStack PseudoSourceValues. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84326 91177308-0d34-0410-b5e6-96231b3b80d8 commit 96156ef84788d3fdfe445226b4904e3bc37321df Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Oct 17 08:57:09 2009 +0000 Re-arrange some fields. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84324 91177308-0d34-0410-b5e6-96231b3b80d8 commit 766b3658894b467195bc3ecde407f4c31711fe17 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Oct 17 08:12:36 2009 +0000 Add another required #include for freestanding .h files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84322 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1f99657b2abd791d220018261e21d9f4008708b4 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Oct 17 07:53:04 2009 +0000 Revert 84315 for now. Re-thinking the patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84321 91177308-0d34-0410-b5e6-96231b3b80d8 commit 77e61b46fce5e165ecfedb5666c43b3d2c1dc971 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Oct 17 06:22:26 2009 +0000 Rename getFixedStack to getStackObject. The stack objects represented are not necessarily fixed. Only those will negative frame indices are "fixed." git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84315 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1adc252eb5e951fc26ff19d06854d7828f9c5f48 Author: Evan Cheng <evan.cheng@apple.com> Date: Sat Oct 17 06:05:11 2009 +0000 80 col violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84311 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8a5b9f815bc8bcbac451d4d6e9c4f23fc2376683 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 17 05:39:39 2009 +0000 Simplify some code (first hunk) and fix PR5208 (second hunk) by updating the callgraph when introducing a call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84310 91177308-0d34-0410-b5e6-96231b3b80d8 commit 14bff688ddb01a7b6c8dee87934d4535b27e71c0 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 17 04:47:42 2009 +0000 check in a bunch of content from TestingGuide. Part of PR5216 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84309 91177308-0d34-0410-b5e6-96231b3b80d8 commit 479d5af531b5f84661180a3dc3435cd3ffeb7942 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Oct 17 03:28:28 2009 +0000 llvm-as: Simplify, and don't create empty output files with -disable-output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84304 91177308-0d34-0410-b5e6-96231b3b80d8 commit bdd9c1a09a9dd512d440f432ff6ea5152198e545 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Oct 17 03:28:20 2009 +0000 Reclaim a lost month. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84303 91177308-0d34-0410-b5e6-96231b3b80d8 commit 852942c7c83c65c39e3758423e7251e45067c596 Author: Daniel Dunbar <daniel@zuster.org> Date: Sat Oct 17 03:28:07 2009 +0000 Add required #includes for freestanding .h files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84302 91177308-0d34-0410-b5e6-96231b3b80d8 commit bb39ea144fef229366341ab9636934e73de09b43 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 17 01:37:38 2009 +0000 Delete an obsolete comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84300 91177308-0d34-0410-b5e6-96231b3b80d8 commit 37f513df87ceb54e873adc113a1fcf4af9556833 Author: Victor Hernandez <vhernandez@apple.com> Date: Sat Oct 17 01:18:07 2009 +0000 Remove MallocInst from LLVM Instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84299 91177308-0d34-0410-b5e6-96231b3b80d8 commit e2996ee5c9a9e0c05141675726ba67d5484c541e Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 17 00:32:43 2009 +0000 Enhance CodePlacementOpt's unconditional intra-loop branch elimination logic to be more general and understand more varieties of loops. Teach CodePlacementOpt to reorganize the basic blocks of a loop so that they are contiguous. This also includes a fair amount of logic for preserving fall-through edges while doing so. This fixes a BranchFolding-ism where blocks which can't be made to use a fall-through edge and don't conveniently fit anywhere nearby get tossed out to the end of the function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84295 91177308-0d34-0410-b5e6-96231b3b80d8 commit 20c851251fd60708146d2ece04972eb6ce4e3deb Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 17 00:28:24 2009 +0000 Add a splice member function which accepts a range instead of a single iterator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84294 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6203d9d219ba79ef8427a773cc0b2df69e3165f7 Author: Victor Hernandez <vhernandez@apple.com> Date: Sat Oct 17 00:00:19 2009 +0000 Autoupgrade malloc insts to malloc calls. Update testcases that rely on malloc insts being present. Also prematurely remove MallocInst handling from IndMemRemoval and RaiseAllocations to help pass tests in this incremental step. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84292 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2d1e0840efbf5ad8d6f9578ff9b7029b0246c3af Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Oct 16 23:12:25 2009 +0000 HeapAllocSRoA also needs to check if malloc array size can be computed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84288 91177308-0d34-0410-b5e6-96231b3b80d8 commit 304ec288964451a72c3f632bc5c6c927337f3b8f Author: Mon P Wang <wangmp@apple.com> Date: Fri Oct 16 22:09:05 2009 +0000 Update tests to use FileCheck git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84282 91177308-0d34-0410-b5e6-96231b3b80d8 commit fd49010577b9dcf3e3dea49f8412662a4b73f5cc Author: Mon P Wang <wangmp@apple.com> Date: Fri Oct 16 22:07:19 2009 +0000 Add test case for r84279 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84280 91177308-0d34-0410-b5e6-96231b3b80d8 commit e50ac8f2f5743922862162859c658dfb3ca4ab14 Author: Mon P Wang <wangmp@apple.com> Date: Fri Oct 16 22:05:48 2009 +0000 Allow widening of extract subvector git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84279 91177308-0d34-0410-b5e6-96231b3b80d8 commit 18a7d1c9020268e07643101f0944fe4c4febef25 Author: Devang Patel <dpatel@apple.com> Date: Fri Oct 16 21:27:43 2009 +0000 Do not emit name entry for a pointer type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84276 91177308-0d34-0410-b5e6-96231b3b80d8 commit 86e24b01e3cfdd1d2f533df99be1824515b677c5 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 16 21:06:15 2009 +0000 Change createPostRAScheduler so it can be turned off at llc -O1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84273 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5e1dcfc3d1327614ac50f7f6ad8e298a3b90f927 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 16 21:02:20 2009 +0000 Add a CodeGenOpt::Less level to match -O1. It'll be used by clients which do not want post-regalloc scheduling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84272 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2ddf5988322bcade2fc323adf82b95a63db1d2b4 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 16 20:59:35 2009 +0000 Move zext and sext casts fed by loads into the same block as the load, to help SelectionDAG fold them into the loads, unless conditions are unfavorable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84271 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1a2ffff5b616781b32f48ef657bdcf79bef4e2d3 Author: Devang Patel <dpatel@apple.com> Date: Fri Oct 16 18:45:49 2009 +0000 Parse PHI instruction with attached metadata. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84264 91177308-0d34-0410-b5e6-96231b3b80d8 commit a6871afa41a2f40b6c1c3d8ef087c474d999ffc7 Author: Devang Patel <dpatel@apple.com> Date: Fri Oct 16 18:18:03 2009 +0000 If there is not any llvm instruction associated with each lexical scope encoded in debug info then create such scope on demand for variable info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84262 91177308-0d34-0410-b5e6-96231b3b80d8 commit 17c3d2a4a530bc8e63919de919b3b94c425dc499 Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Oct 16 18:08:17 2009 +0000 Invert isSafeToGetMallocArraySize check because we return NULL when we don't know the size. Thanks to Duncan Sands for noticing this bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84261 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6201175b20cfea5318be7e5fe1740352310078e3 Author: Victor Hernandez <vhernandez@apple.com> Date: Fri Oct 16 18:07:17 2009 +0000 Invert isSafeToGetMallocArraySize check because we return NULL when we don't know the size. Thanks to Duncan Sands for noticing this bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84260 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9235ce598591f5a1b3909bcfaf7f165c7a401d51 Author: Chris Lattner <sabre@nondot.org> Date: Fri Oct 16 16:30:58 2009 +0000 Update from Cristina, llvm-gcc doesn't build on the SPARC version of solaris at the moment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84258 91177308-0d34-0410-b5e6-96231b3b80d8 commit aa1562a685ba347b2dae203d2988fc031cce9c2d Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Oct 16 16:30:02 2009 +0000 Force triple in tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84257 91177308-0d34-0410-b5e6-96231b3b80d8 commit d483c393bc30eceb75bf59dc0ea8778ac7f265b5 Author: Duncan Sands <baldrick@free.fr> Date: Fri Oct 16 15:20:13 2009 +0000 Strip trailing white space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84256 91177308-0d34-0410-b5e6-96231b3b80d8 commit 31c1be0731372506379290d0329d6ba53d00105d Author: Duncan Sands <baldrick@free.fr> Date: Fri Oct 16 12:18:23 2009 +0000 Check that GVN performs this transform even if the calls themselves are not marked readonly, but only the called functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84253 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8581c1174108faf2b7c8c4f02b7190f35438f762 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Fri Oct 16 10:29:08 2009 +0000 Update CMake file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84252 91177308-0d34-0410-b5e6-96231b3b80d8 commit 018db6635bdae3d0d7a12a1cab571b7c8c4a4cce Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Fri Oct 16 08:58:34 2009 +0000 Cleaned up some code. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84251 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1302f57663145190ad603a572aeeadb066def866 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 16 06:18:09 2009 +0000 I am no spelling bee. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84250 91177308-0d34-0410-b5e6-96231b3b80d8 commit cae7b0e6150f2fe795277324bb7107dba39a78e7 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 16 06:11:08 2009 +0000 Enable post-alloc scheduling for all ARM variants except for Thumb1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84249 91177308-0d34-0410-b5e6-96231b3b80d8 commit 57796906e96fa68af19262323496e4b9c038a516 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 16 06:10:34 2009 +0000 If post-alloc scheduler is not enabled, it should return false, not true. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84248 91177308-0d34-0410-b5e6-96231b3b80d8 commit 722d96604ba2eed55fc01e166566935979f4739b Author: Zhongxing Xu <xuzhongxing@gmail.com> Date: Fri Oct 16 05:42:28 2009 +0000 Indent code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84247 91177308-0d34-0410-b5e6-96231b3b80d8 commit 11891b19a322b2bf91180b7be3d322a280af5f8c Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 16 05:33:58 2009 +0000 Add comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84246 91177308-0d34-0410-b5e6-96231b3b80d8 commit e7a6705ab48692b1c34be80322bc4846bd3c2a74 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 16 05:18:39 2009 +0000 80 column violation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84244 91177308-0d34-0410-b5e6-96231b3b80d8 commit 05538f12cafe7defa2e94364b8f0efba3ace7483 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Oct 16 03:58:44 2009 +0000 Fix more NEON instruction encodings. Patch by Johnny Chen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84243 91177308-0d34-0410-b5e6-96231b3b80d8 commit 60a6b65b8c1d4ce983ff3e8813fb5b6d841a947d Author: Chris Lattner <sabre@nondot.org> Date: Fri Oct 16 02:13:51 2009 +0000 Add half precision floating point support (float16) to APFloat, patch by Peter Johnson! (PR5195) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84239 91177308-0d34-0410-b5e6-96231b3b80d8 commit 814d6c1a619c09ce2f14ce63a056caad815d515d Author: Chris Lattner <sabre@nondot.org> Date: Fri Oct 16 02:06:30 2009 +0000 add haiku support, patch by Paul Davey! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84238 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8ea11530adf5179347449057cd5dabfde6e15bcc Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Oct 16 01:58:23 2009 +0000 MC: Set symbol values in MachO MCStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84236 91177308-0d34-0410-b5e6-96231b3b80d8 commit f9a37ec3deab603bd7691b56104887cb6de8bb22 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Oct 16 01:58:15 2009 +0000 Minor formatting tweaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84235 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4e5c1b69df607d4894e005a357d0c90a86aeabc5 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Oct 16 01:58:03 2009 +0000 MC: Switch assembler API to using MCExpr instead of MCValue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84234 91177308-0d34-0410-b5e6-96231b3b80d8 commit 123febf23cf84ced76a714912c4ad4c16712ee9f Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Oct 16 01:57:52 2009 +0000 MC: Remove unneeded context argument to MCExpr::Evaluate*. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84233 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9ce249c9b86d74dec723948d70f533194e750807 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Oct 16 01:57:39 2009 +0000 MC: Tweak variable assignment diagnostics, and make reassignment of non-absolute variables and symbols invalid. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84232 91177308-0d34-0410-b5e6-96231b3b80d8 commit 86cd1e91b877072006f660b7a8baaa96c4e5597a Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Oct 16 01:34:54 2009 +0000 MC: When parsing a variable reference, substitute absolute variables immediately since they are allowed to be redefined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84230 91177308-0d34-0410-b5e6-96231b3b80d8 commit e824b0813023c66cc8b4cd7c6cf4d7623750f779 Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Oct 16 01:33:57 2009 +0000 MC: Move assembler variable values from MCContext to MCSymbol. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84229 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5ad36277631403be640bf9fb0fad79ce7e1f262a Author: Daniel Dunbar <daniel@zuster.org> Date: Fri Oct 16 01:33:11 2009 +0000 MC: Switch MCContext value table to storing MCExprs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84228 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5ae95c36f52cdc38b9e68c0db0115fa286657f4c Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 16 00:33:09 2009 +0000 When checking aliases between phi sources and V2, we know the sources are not themselves phi nodes. However, V2 may be. Call aliasCheck with V2 first to potentially eliminate a std::swap call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84226 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8ab1f273514d6d87fa421c9bc8fc819615707dbf Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 15 23:12:05 2009 +0000 Revert svn r80498 and replace it with a different solution. The only problem I can see with the original code was that I forgot that this runs after type legalization and hence the result type will always be i32. (Custom legalization of EXTRACT_VECTOR_ELT is only enabled for vector types with 8- and 16-bit elements.) Regarding the FIXME comment: any information about sign and zero-extension should be captured by separate extension operations. The DAG combiner should handle those to produce either VGETLANEu or VGETLANEs, and that seems to be working now. If there are cases that we're missing, let me know. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84218 91177308-0d34-0410-b5e6-96231b3b80d8 commit d5fcb1d9b141f0d99023b2f804aa82830ba3b30c Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Thu Oct 15 22:36:18 2009 +0000 Dllexport stuff cleanup: 1. Emit external function type information for all COFF targets since it's a feature of object format 2. Emit linker directives only for cygming (since this is ld-specific stuff) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84214 91177308-0d34-0410-b5e6-96231b3b80d8 commit 28d7ecb80c7a6a39039e73f1f3aa8ad91bf05bd3 Author: Sandeep Patel <deeppatel1987@gmail.com> Date: Thu Oct 15 22:25:32 2009 +0000 Branches must be the last instruction in a Thumb2 IT block. Approved by Evan Cheng. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84212 91177308-0d34-0410-b5e6-96231b3b80d8 commit 85f30d7362b1e8543f1988d02548e6f00949c3fe Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 15 21:57:47 2009 +0000 Fix encoding bits for N3VLInt3_QHS multiclass with 8-bit elements. Patch by Johnny Chen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84206 91177308-0d34-0410-b5e6-96231b3b80d8 commit e6e22392e070a3159fe844aefedbdaad6973e423 Author: Kevin Enderby <enderby@apple.com> Date: Thu Oct 15 21:42:45 2009 +0000 Fix ARM memory operand parsing of post indexing with just a base register, that is just "[Rn]" and no tailing comma with an offset, etc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84205 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7bfd59f06e8d1e8242d8775fe4e15a792394c698 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 15 20:49:47 2009 +0000 Fix a potential performance problem in placing ARM constant pools. In the case where there are no good places to put constants and we fall back upon inserting unconditional branches to make new blocks, allow all constant pool references in range of those blocks to put constants there, even if that means resetting the "high water marks" for those references. This will still terminate because you can't keep splitting blocks forever, and in the bad cases where we have to split blocks, it is important to avoid splitting more than necessary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84202 91177308-0d34-0410-b5e6-96231b3b80d8 commit 804b26d218ceff164c578c1fdbf8c2a14d52aaf8 Author: Kevin Enderby <enderby@apple.com> Date: Thu Oct 15 20:48:48 2009 +0000 More bits of the ARM target assembler for llvm-mc, code added to parse labels as expressions, code for parsing a few arm specific directives (still needs the MCStreamer calls for these). Some clean up of the operand parsing code and adding some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84201 91177308-0d34-0410-b5e6-96231b3b80d8 commit c70e2907ad8de87b0c1b3756632ac685a927d61e Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Oct 15 20:23:21 2009 +0000 Remove X86Subtarget::IsLinux. It's no longer being used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84200 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8905891e04393b45d9d1857f379027b7ce0d0324 Author: Victor Hernandez <vhernandez@apple.com> Date: Thu Oct 15 20:14:52 2009 +0000 Fix bug where array malloc with unexpected computation of the size argument resulted in MallocHelper identifying the malloc as a non-array malloc. This broke GlobalOpt's optimization of stores of mallocs to global variables. The fix is to classify malloc's into 3 categories: 1. non-array mallocs 2. array mallocs whose array size can be determined 3. mallocs that cannot be determined to be of type 1 or 2 and cannot be optimized getMallocArraySize() returns NULL for category 3, and all users of this function must avoid their malloc optimization if this function returns NULL. Eventually, currently unexpected codegen for computing the malloc's size argument will be supported in isArrayMalloc() and getMallocArraySize(), extending malloc optimizations to those examples. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84199 91177308-0d34-0410-b5e6-96231b3b80d8 commit e62d85d3b7616d5d48dce3683e755eadd5ccb78f Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Oct 15 19:46:34 2009 +0000 Add files Sanjiv forgot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84196 91177308-0d34-0410-b5e6-96231b3b80d8 commit ac2620eaebfccc759fbd341cfa5cfda563b7a71d Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Thu Oct 15 19:26:25 2009 +0000 Re-apply 84180 with the fixed test case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84195 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1b2cfa4be33b01c9fe32b1dcb7a9ba2298e8e25c Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Thu Oct 15 18:50:52 2009 +0000 Move Blackfin intrinsics into the Target/Blackfin directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84194 91177308-0d34-0410-b5e6-96231b3b80d8 commit 75dbdd10525ae7cb7c2f16ecc7092a667b69556f Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Thu Oct 15 18:50:03 2009 +0000 Report errors correctly for unselected target intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84193 91177308-0d34-0410-b5e6-96231b3b80d8 commit e33a1faef145f2b87ecb308b08245fb6e5fb119d Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Thu Oct 15 18:49:26 2009 +0000 Clean up TargetIntrinsicInfo API. Add pure virtual methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84192 91177308-0d34-0410-b5e6-96231b3b80d8 commit e8ecbbda5f6305de7d163d4bbb453f7a0c13814f Author: Nick Lewycky <nicholas@mxc.ca> Date: Thu Oct 15 18:48:58 2009 +0000 Add missing break statements! Thanks to Duncan Sands for pointing this out! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84191 91177308-0d34-0410-b5e6-96231b3b80d8 commit f0b820977c50aba1a967ee0748b687a598166e3b Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Thu Oct 15 18:48:47 2009 +0000 Tablegen target intrinsics from the target main .td file. Fix pasto. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84190 91177308-0d34-0410-b5e6-96231b3b80d8 commit a0d1f50857f0c1fe106159d0333db80c8e038c20 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Thu Oct 15 16:49:16 2009 +0000 Disable another unittest that doesn't work on arm and ppc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84186 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0522c9e121aafb968248ab057fc722d00d727e45 Author: Daniel Dunbar <daniel@zuster.org> Date: Thu Oct 15 15:02:14 2009 +0000 Revert "Complete Rewrite of AsmPrinter, TargetObjectFile based on new PIC16Section class", it breaks globals.ll. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84184 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c138172ed03d189bd006f80aedc51875958d662 Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Thu Oct 15 10:10:43 2009 +0000 Complete Rewrite of AsmPrinter, TargetObjectFile based on new PIC16Section class derived from MCSection. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84180 91177308-0d34-0410-b5e6-96231b3b80d8 commit 89e8a22aa6899efce0b56f864ce6cde83e12a36a Author: Sanjiv Gupta <sanjiv.gupta@microchip.com> Date: Thu Oct 15 09:48:25 2009 +0000 Few changes to comply with new DebugInfo Metadata representation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84179 91177308-0d34-0410-b5e6-96231b3b80d8 commit f6fb71472108d47156409bd5c87f91203688e2d4 Author: Duncan Sands <baldrick@free.fr> Date: Thu Oct 15 08:17:44 2009 +0000 The gcc plugin is now called dragonegg.so and no longer llvm.so. Pointed out by Gabor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84177 91177308-0d34-0410-b5e6-96231b3b80d8 commit b42a8b3a5647931071b48055a1278610eb9b7682 Author: Nick Lewycky <nicholas@mxc.ca> Date: Thu Oct 15 07:11:24 2009 +0000 Teach basicaa about memcpy/memmove/memset. The length argument can be used to improve alias results if constant, and the source pointer can't be modified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84175 91177308-0d34-0410-b5e6-96231b3b80d8 commit 00649ad5ae87a3cf23e087e2fd9c8c8ba17ec431 Author: Nick Lewycky <nicholas@mxc.ca> Date: Thu Oct 15 06:12:11 2009 +0000 Teach BasicAA to use the size parameter of the memory use marker intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84174 91177308-0d34-0410-b5e6-96231b3b80d8 commit 57d88c38edb3667eb54c26571bcee5d57ae8ef12 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 15 05:52:29 2009 +0000 Be smarter about reusing constant pool entries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84173 91177308-0d34-0410-b5e6-96231b3b80d8 commit a9cdce8ba7928ac8a5176243fbf847415130f644 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 15 05:10:36 2009 +0000 Fix another problem with ARM constant pools. Radar 7303551. When ARMConstantIslandPass cannot find any good locations (i.e., "water") to place constants, it falls back to inserting unconditional branches to make a place to put them. My recent change exposed a problem in this area. We may sometimes append to the same block more than one unconditional branch. The symptoms of this are that the generated assembly has a branch to an undefined label and running llc with -debug will cause a seg fault. This happens more easily since my change to prevent CPEs from moving from lower to higher addresses as the algorithm iterates, but it could have happened before. The end of the block may be in range for various constant pool references, but the insertion point for new CPEs is not right at the end of the block -- it is at the end of the CPEs that have already been placed at the end of the block. The insertion point could be out of range. When that happens, the fallback code will always append another unconditional branch if the end of the block is in range. The fix is to only append an unconditional branch if the block does not already end with one. I also removed a check to see if the constant pool load instruction is at the end of the block, since that is redundant with checking if the end of the block is in-range. There is more to be done here, but I think this fixes the immediate problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84172 91177308-0d34-0410-b5e6-96231b3b80d8 commit c4269e5fe007052e6216dd91637003c197b91fb6 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 15 04:59:28 2009 +0000 only try to fold constantexpr operands when the worklist is first populated, don't bother every time going around the main worklist. This speeds up a release-asserts opt -std-compile-opts on 403.gcc by about 4% (1.5s). It seems to speed up the most expensive instances of instcombine by ~10%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84171 91177308-0d34-0410-b5e6-96231b3b80d8 commit ee5839b4da5f9aa3e5a2ea25b18733cd4b630e52 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 15 04:13:44 2009 +0000 don't bother calling ConstantFoldInstruction unless there is a use of the instruction (which disqualifies stores, unreachable, etc) and at least the first operand is a constant. This filters out a lot of obvious cases that can't be folded. Also, switch the IRBuilder to a TargetFolder, which tries harder. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84170 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8f67407416b0c020a4955c9ba5d67b92564dbfc8 Author: Nick Lewycky <nicholas@mxc.ca> Date: Thu Oct 15 00:36:35 2009 +0000 Take advantage of TargetData when available; we know that the atomic intrinsics only dereference the element they point to directly with no pointer arithmetic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84159 91177308-0d34-0410-b5e6-96231b3b80d8 commit cebc72ccbc6215b71808c2be76779ecfee77f0ee Author: Dan Gohman <gohman@apple.com> Date: Thu Oct 15 00:36:22 2009 +0000 Make CodePlacementOpt align loops, rather than loop headers. The header is just the entry block to the loop, and it needn't be at the top of the loop in the code layout. Remove the code that suppressed loop alignment for outer loops, so that outer loops are aligned. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84158 91177308-0d34-0410-b5e6-96231b3b80d8 commit d94b8ee12edef4928c7fc762e3c8a4bf7075bdd8 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Oct 14 23:39:27 2009 +0000 When LiveVariables is adding implicit-def to model "partial dead", add the earlyclobber marker if the superreg def has it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84153 91177308-0d34-0410-b5e6-96231b3b80d8 commit b71c46ced3b6452d2d96e06b5fde59910541ccb5 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Oct 14 23:37:31 2009 +0000 Print earlyclobber for implicit-defs as well. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84152 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7ad23fdef67f0088e7b610a6a19149a2a1b16639 Author: Eric Christopher <echristo@apple.com> Date: Wed Oct 14 22:14:18 2009 +0000 One more iteration here and a yet better way to solve it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84150 91177308-0d34-0410-b5e6-96231b3b80d8 commit 67d5877e544e547779e1b3349d9c8f3b56d7474a Author: Eric Christopher <echristo@apple.com> Date: Wed Oct 14 21:45:49 2009 +0000 Fix the unused argument problem here a different way - cast to void. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84147 91177308-0d34-0410-b5e6-96231b3b80d8 commit d4897545e4e21d0dbdc788c5576f4b80071a95d8 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 14 21:43:17 2009 +0000 Fix instruction encoding bits for NEON VPADAL. Patch by Johnny Chen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84146 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4a567357c7179b5c3c39f21d774578f362a4c033 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 14 21:40:45 2009 +0000 Remove unused variables to fix build warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84144 91177308-0d34-0410-b5e6-96231b3b80d8 commit c2febcd7aeb104f4afd876aa1526195459159f31 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Oct 14 21:22:39 2009 +0000 Make loop not recalc getNumOperands() each time around git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84138 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd7bb43d6a6e61569368046b33fbe2d700d5bc68 Author: Devang Patel <dpatel@apple.com> Date: Wed Oct 14 21:08:09 2009 +0000 Add support to record DbgScope as inlined scope. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84134 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ce93edf8e13e59909f6b87e8532c3961fd2c80d Author: Jim Grosbach <grosbach@apple.com> Date: Wed Oct 14 21:07:11 2009 +0000 quiet compiler warning git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84133 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4d53c631654d3a04a85738a29ecee83d200cc3c4 Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 14 20:39:01 2009 +0000 Delete bogus semicolons. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84132 91177308-0d34-0410-b5e6-96231b3b80d8 commit d9921a052e234642eb7db4f77ae777123d73b62f Author: Jim Grosbach <grosbach@apple.com> Date: Wed Oct 14 20:31:01 2009 +0000 Inst{11-8} for vshl should be 0b0101, not 0b1111. Refs: A7-17 & A8-750. Patch by Johnny Chen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84131 91177308-0d34-0410-b5e6-96231b3b80d8 commit 932740916d76b3253cf710e424abf73e525ee5cd Author: Eric Christopher <echristo@apple.com> Date: Wed Oct 14 20:28:33 2009 +0000 Remove a bunch of unused arguments from functions, silencing a warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84130 91177308-0d34-0410-b5e6-96231b3b80d8 commit ede4ff04cde85ad8ed196f0bb6386734c8232f4a Author: Nick Lewycky <nicholas@mxc.ca> Date: Wed Oct 14 20:04:41 2009 +0000 The ARM and PowerPC jits are broken in this regard. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84128 91177308-0d34-0410-b5e6-96231b3b80d8 commit e3d726a12e19ecf7985a485fc72f3097091b57fa Author: Duncan Sands <baldrick@free.fr> Date: Wed Oct 14 20:01:39 2009 +0000 There seems to be no reason for opt's -S option to be hidden. Make it visible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84127 91177308-0d34-0410-b5e6-96231b3b80d8 commit b289010eda885d07a3d224243e0e7478fa072f5e Author: Nick Lewycky <nicholas@mxc.ca> Date: Wed Oct 14 19:02:13 2009 +0000 Make use of the result of the loads even though that means adding -instcombine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84125 91177308-0d34-0410-b5e6-96231b3b80d8 commit cfb46c5a762f118fbe73fb50eec5be56a1fcd247 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 14 19:00:24 2009 +0000 Set instruction encoding bits 4 and 7 for ARM register-register and register-shifted-register instructions. Patch by Johnny Chen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84124 91177308-0d34-0410-b5e6-96231b3b80d8 commit e4ff1a619f2a68222def8d30406ceb9f768ad410 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 14 18:32:29 2009 +0000 Refactor code to select NEON VST intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84122 91177308-0d34-0410-b5e6-96231b3b80d8 commit e9d08b8dc372ef97faa5f5e47863f06a3ba8f74d Author: Devang Patel <dpatel@apple.com> Date: Wed Oct 14 17:29:00 2009 +0000 Use isVoidTy() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84118 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5ccc85a153111ff9f03ec36b0f78ffdd27e3ff09 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 14 17:28:52 2009 +0000 Refactor code to select NEON VLD intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84117 91177308-0d34-0410-b5e6-96231b3b80d8 commit ad89036441492939570bf8972f93b00b6a358264 Author: Devang Patel <dpatel@apple.com> Date: Wed Oct 14 17:02:49 2009 +0000 Add copyMD to copy metadata from one instruction to another instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84113 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10c6f85c9ba78275c9f6de2ac9ea136200a09d10 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 14 16:46:45 2009 +0000 More refactoring. NEON vst lane intrinsics can share almost all the code for vld lane intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84110 91177308-0d34-0410-b5e6-96231b3b80d8 commit 98e68ba7ff1b12e185eb7fa677683cc00e1e97e1 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 14 16:19:03 2009 +0000 Refactor code for selecting NEON load lane intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84109 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4205cfe3fe4c86814b91248d25f0cf01ecf642b4 Author: Duncan Sands <baldrick@free.fr> Date: Wed Oct 14 16:11:37 2009 +0000 I don't see any point in having both eh.selector.i32 and eh.selector.i64, so get rid of eh.selector.i64 and rename eh.selector.i32 to eh.selector. Likewise for eh.typeid.for. This aligns us with gcc, which always uses a 32 bit value for the selector on all platforms. My understanding is that the register allocator used to assert if the selector intrinsic size didn't match the pointer size, and this was the reason for introducing the two variants. However my testing shows that this is no longer the case (I fixed some bugs in selector lowering yesterday, and some more today in the fastisel path; these might have caused the original problems). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84106 91177308-0d34-0410-b5e6-96231b3b80d8 commit f27a0438aa24fb0ab2e5095fc22525d7e2933033 Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 14 15:21:58 2009 +0000 make instcombine's instruction sinking more aggressive in the presence of PHI nodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84103 91177308-0d34-0410-b5e6-96231b3b80d8 commit f693477fe44829276ad0b270fb8856228c6313d8 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Wed Oct 14 11:12:33 2009 +0000 Undo pthread patch from rev. 83930 & 83823. Credit to Paul Davey. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84083 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8407f6b1defd05a0adf914c15c33a273e22819c6 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Oct 14 06:46:26 2009 +0000 Clear VisitedPHIs after use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84080 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9d17125f7a6ac8eb8e679b1fd7c14a0b539d15f9 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Oct 14 06:41:49 2009 +0000 Another BasicAA fix. If a value does not alias a GEP's base pointer, then it cannot alias the GEP. GEP pointer alias rule states this clearly: A pointer value formed from a getelementptr instruction is associated with the addresses associated with the first operand of the getelementptr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84079 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8e004f69769d7fc77faabbb9f67a3e6600c6d1f1 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Wed Oct 14 05:55:03 2009 +0000 AuroraUX needs special Solaris system header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84076 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7292a4ed9741e2456a41808e0dffb57f2f6addad Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Oct 14 05:22:03 2009 +0000 More code clean up based on patch feedback. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84074 91177308-0d34-0410-b5e6-96231b3b80d8 commit f365008a16f295572515fdab85e50a5515313cab Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Oct 14 05:05:02 2009 +0000 Change VisitedPHIs into an instance variable that's freed by each alias() call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84072 91177308-0d34-0410-b5e6-96231b3b80d8 commit 48baab84c72b491fc64ab18b482a135e847ffde8 Author: Evan Cheng <evan.cheng@apple.com> Date: Wed Oct 14 01:45:10 2009 +0000 Replace test with a simpler hand crafted one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84069 91177308-0d34-0410-b5e6-96231b3b80d8 commit a635c3bfa9c12c34afdcbf178c4cc7c9fa82dd0c Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Wed Oct 14 00:44:50 2009 +0000 Provide AuroraUX triple support in configure. Credit to - Paul Davey. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84067 91177308-0d34-0410-b5e6-96231b3b80d8 commit be13ae5c35e4956241f95efabf864e19e53dbdbd Author: Dale Johannesen <dalej@apple.com> Date: Wed Oct 14 00:34:56 2009 +0000 Use llvmgxx for C++ test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84066 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8d6ff0f9d29c7043545bb44c7783f57db6849dbe Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 14 00:28:48 2009 +0000 Fix this test to account for a movl $0 being emitted as an xor now, and convert it to FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84065 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7b1329794aba9952e3bd68eceb4f501c11cda72d Author: Dale Johannesen <dalej@apple.com> Date: Wed Oct 14 00:10:54 2009 +0000 Testcases for msasm bit (llvm-gcc 84062). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84063 91177308-0d34-0410-b5e6-96231b3b80d8 commit f20cb16e938f29db7c1ab8579efe470db1d724c2 Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 14 00:08:59 2009 +0000 Make isSafeToClobberEFLAGS more aggressive. Teach it to scan backwards (for uses marked kill and defs marked dead) a few instructions in addition to forwards. Also, increase the maximum number of instructions to scan, as it appears to help in a fair number of cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84061 91177308-0d34-0410-b5e6-96231b3b80d8 commit d32578ed8fc15abf79d37b9b1f62f0c8fa7ce01d Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 14 00:02:01 2009 +0000 This remat entry is basically done. There are hooks to allow targets to remat non-load instructions as loads, and the remat code now uses the UnmodeledSideEffects flags, MachineMemOperands, and similar things to decide which instructions are valid for rematerialization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84060 91177308-0d34-0410-b5e6-96231b3b80d8 commit 60547e8e863ea6b31029e1d2875cd947a320f9d0 Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 13 23:58:05 2009 +0000 Add a few README.txt items. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84059 91177308-0d34-0410-b5e6-96231b3b80d8 commit 815008ee195e15946d9754a8f71fc2a8d194c9c5 Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 13 23:36:36 2009 +0000 Fix resetCachedCostInfo to reset all of the cost information, instead of just the NumBlocks field. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84056 91177308-0d34-0410-b5e6-96231b3b80d8 commit 404500c0966b24922b62c6718713afdee5b88b7e Author: Kevin Enderby <enderby@apple.com> Date: Tue Oct 13 23:33:38 2009 +0000 Correct comment about ARM immediates using '#' not '$' and TODO for modifiers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84055 91177308-0d34-0410-b5e6-96231b3b80d8 commit fc1df34dea6dae98d823f9cf95afbb364201ec97 Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 13 23:28:53 2009 +0000 s/DebugLoc.CompileUnit/DebugLoc.Scope/g s/DebugLoc.InlinedLoc/DebugLoc.InlinedAtLoc/g git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84054 91177308-0d34-0410-b5e6-96231b3b80d8 commit e3829c8912580d00aaf3c07661de34e4894983db Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 13 22:56:32 2009 +0000 Check void type before using RAUWd. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84049 91177308-0d34-0410-b5e6-96231b3b80d8 commit 31a5af59b207ac90e75ddd830ff6c2e916b4a7ae Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Oct 13 22:29:24 2009 +0000 More Neon clean-up: avoid the need for custom-lowering vld/st-lane intrinsics by creating TargetConstants during instruction selection instead of during legalization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84042 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4d4c8b383ab4e089c9662cd3f6a0afdb144ecf6f Author: Kevin Enderby <enderby@apple.com> Date: Tue Oct 13 22:19:02 2009 +0000 More bits of the ARM target assembler for llvm-mc to parse immediates. Also fixed a couple of coding style things that crept in. And added more to the temporary hacked up ARMAsmParser::MatchInstruction() method for testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84040 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8c11ed7fff8d07010e27d0374a2b9caa8fe95a54 Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Oct 13 22:02:20 2009 +0000 Teach basic AA about PHI nodes. If all operands of a phi NoAlias another value than it's safe to declare the PHI NoAlias the value. Ditto for MustAlias. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84038 91177308-0d34-0410-b5e6-96231b3b80d8 commit 648950ff0e202e9ceb550c7c45406378093526f4 Author: Dale Johannesen <dalej@apple.com> Date: Tue Oct 13 21:56:55 2009 +0000 Documentation for the new msasm flag, which is no worse than the rest of the asm documentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84037 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5f742e55de300e938ae76643a8e640913fc7a40e Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Oct 13 21:55:24 2009 +0000 NEON VLD/VST are now fully implemented. For operations that expand to multiple instructions, the expansion is done during selection so there is no need to do anything special during legalization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84036 91177308-0d34-0410-b5e6-96231b3b80d8 commit edad36f13386447e75436d250c8a06fecef7535d Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 13 21:41:20 2009 +0000 Do not check use_empty() before replaceAllUsesWith(). This gives ValueHandles a chance to get properly updated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84033 91177308-0d34-0410-b5e6-96231b3b80d8 commit f905746744a1a3802e530321aa028fe25fd76d9e Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Oct 13 21:32:57 2009 +0000 Keep track of stubs that are created. This fixes PR5162 and probably PR4822 and 4406. Patch by Nick Lewycky! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84032 91177308-0d34-0410-b5e6-96231b3b80d8 commit 07087113c591107ec2b39346a39c160a8e5f1170 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Tue Oct 13 21:17:00 2009 +0000 Add is_same type trait git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84029 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd7bd93b11d18bc0bcb64e8ee5261c5724b25614 Author: Duncan Sands <baldrick@free.fr> Date: Tue Oct 13 21:04:12 2009 +0000 Introduce new convenience methods for sign extending or truncating an SDValue (depending on whether the target type is bigger or smaller than the value's type); or zero extending or truncating it. Use it in a few places (this seems to be a popular operation, but I only modified cases of it in SelectionDAGBuild). In particular, the eh_selector lowering was doing this wrong due to a repeated rather than inverted test, fixed with this change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84027 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5ad986e1fb4598bf9a3a4298152da7b2b63ae2a6 Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 13 20:56:38 2009 +0000 Optimizer may remove debug info. This test checks debug info for include headers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84025 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6855b2222d78ecf39a0855bec858c8c395e04538 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Oct 13 20:50:28 2009 +0000 Revise ARM inline assembly memory operands to require the memory address to be in a register. The previous use of ARM address mode 2 was completely arbitrary and inappropriate for Thumb. Radar 7137468. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84022 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2477bfe9a3bdbc1474034214d1cd7ffb014024c8 Author: Dale Johannesen <dalej@apple.com> Date: Tue Oct 13 20:46:56 2009 +0000 Add an "msasm" flag to inline asm as suggested in PR 5125. A little ugliness is accepted to keep the binary file format compatible. No functional change yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84020 91177308-0d34-0410-b5e6-96231b3b80d8 commit 68ca7fcda8b8b00e70e08b9e34fd7df1bd82ffd3 Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 13 20:45:18 2009 +0000 These tests now pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84019 91177308-0d34-0410-b5e6-96231b3b80d8 commit f7a7fc9585a5dc3afa894b6e5bdfd26fd17eca38 Author: Sandeep Patel <deeppatel1987@gmail.com> Date: Tue Oct 13 20:25:58 2009 +0000 Fix method name in comment, per Bob Wilson. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84017 91177308-0d34-0410-b5e6-96231b3b80d8 commit f9b9295d0601de7ee7673efc241a17c42873d08e Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 13 20:12:23 2009 +0000 Use the new CodeMetrics class to compute code size instead of manually counting instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84016 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9cb17acf4c2d135199764894ec788fff8f0864b5 Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 13 20:10:10 2009 +0000 Compute a full cost value even when a setjmp call is found. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84015 91177308-0d34-0410-b5e6-96231b3b80d8 commit 41c6d59aec5f3cebb414f951bb2c948aab984778 Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 13 19:58:07 2009 +0000 Split code not specific to Function inlining out into a separate class, named CodeMetrics. Move it to be a non-nested class. Rename RegionInfo back to FunctionInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84013 91177308-0d34-0410-b5e6-96231b3b80d8 commit 958921a663e7b11ad8dcb246924864548d4810e7 Author: David Goodwin <david_goodwin@apple.com> Date: Tue Oct 13 19:16:03 2009 +0000 Add debugging output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84011 91177308-0d34-0410-b5e6-96231b3b80d8 commit 28aff231cfcbf047bcf618c7fb371ac4544ee9f8 Author: Ted Kremenek <kremenek@apple.com> Date: Tue Oct 13 19:08:10 2009 +0000 Provide a mode for ImmutableMap/ImmutableSet to not automatically canonicalize the internal functional AVL trees. This should speedup clients that use ImmutableMap/ImmutableSet but don't require fast comparisons of maps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84010 91177308-0d34-0410-b5e6-96231b3b80d8 commit bb4648a936134616f3bef1097520afd80b496970 Author: Sandeep Patel <deeppatel1987@gmail.com> Date: Tue Oct 13 18:59:48 2009 +0000 Add ARMv6T2 SBFX/UBFX instructions. Approved by Anton Korobeynikov. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84009 91177308-0d34-0410-b5e6-96231b3b80d8 commit d4d7aa76bb002aa044467d2c346f3e7435d7b43b Author: Ted Kremenek <kremenek@apple.com> Date: Tue Oct 13 18:57:27 2009 +0000 Update CMake file (lexically order files). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84008 91177308-0d34-0410-b5e6-96231b3b80d8 commit 872bc634b0da92ae0db414daa52a6c221dc71d8a Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 13 18:51:28 2009 +0000 Do not write empty METADATA_ATTACHMENT record. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84006 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3314e600f24362268b08833d60977509ef4e5a5b Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 13 18:51:03 2009 +0000 Remove unnecessary assert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84004 91177308-0d34-0410-b5e6-96231b3b80d8 commit 91b676c7280dd85581610d1b0cf57676d977f7e2 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Tue Oct 13 18:50:54 2009 +0000 Update the other CMake file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84003 91177308-0d34-0410-b5e6-96231b3b80d8 commit 88900a0acbfb3cd8cb39475001117ff88a5ea8f5 Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 13 18:49:55 2009 +0000 Parse GEP with attached custom metadata. This happens during libprofile_rt.bca build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84002 91177308-0d34-0410-b5e6-96231b3b80d8 commit fdcd492c1d47bff46fbf2b60c29fdcec939441aa Author: Ted Kremenek <kremenek@apple.com> Date: Tue Oct 13 18:48:07 2009 +0000 Update CMake file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84001 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd217c030bea3858468768e46c5846115c3186dd Author: Evan Cheng <evan.cheng@apple.com> Date: Tue Oct 13 18:42:04 2009 +0000 Refactor some code. No functionality changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84000 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0cb01e1e36b59295a907a07b4b40539e87c28069 Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 13 18:37:20 2009 +0000 Commit the removal of this file, which is now moved to lib/Analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83999 91177308-0d34-0410-b5e6-96231b3b80d8 commit fad07189d3c7d121a1dc1473211096a76197177d Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 13 18:30:07 2009 +0000 Move the InlineCost code from Transforms/Utils to Analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83998 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4c8728645b94500b5197da9f2413528becc11a02 Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 13 18:24:11 2009 +0000 Start refactoring the inline cost estimation code so that it can be used for purposes other than inlining. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83997 91177308-0d34-0410-b5e6-96231b3b80d8 commit b8a7d3e1a68fce4b087e39e67176fe3c36039bd9 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 13 18:13:05 2009 +0000 change simplifycfg to not duplicate 'unwind' instructions. Hopefully this will increase the likelihood of common code getting sunk towards the unwind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83996 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5afeae814f97bea55783376496dc92afaf65f3e0 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 13 18:10:05 2009 +0000 convert to filecheck git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83995 91177308-0d34-0410-b5e6-96231b3b80d8 commit c5e16eec73040a25df9f8d48ef46eb2884aff798 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 13 18:08:21 2009 +0000 rename test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83994 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f542bfbc4da1bfffed2fcd42c87dedd62780450 Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 13 17:50:43 2009 +0000 Make LoopUnswitch's cost estimation count Instructions, rather than BasicBlocks, so that it doesn't blindly procede in the presence of large individual BasicBlocks. This addresses a class of code-size expansion problems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83992 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0b6ea7aacd105e7fbdf5edc18446487cfd03039c Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 13 17:48:04 2009 +0000 rename ReleaseNotes-2.6.html -> ReleaseNotes.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83990 91177308-0d34-0410-b5e6-96231b3b80d8 commit 385cf88d65178e344e1e37468516d4bfeede5131 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 13 17:47:06 2009 +0000 add Zero git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83988 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2be240354e170f362ec70ba0aa68e1f070d71f9c Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Oct 13 17:42:08 2009 +0000 Make the ExecutionEngine automatically remove global mappings on when their GlobalValue is destroyed. Function destruction still leaks machine code and can crash on leaked stubs, but this is some progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83987 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0bcdc3f719e79dcd849918aa1ee1712801cd8078 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 13 17:39:29 2009 +0000 don't use dead loads as tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83985 91177308-0d34-0410-b5e6-96231b3b80d8 commit 107176143cbbb5f5546ddc2a16c6a88801130bf0 Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 13 17:35:35 2009 +0000 "there is not any instruction with attached debug info in this module" does not mean "there is no debug info in this module". :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83984 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce7c9ebddf4e1742e71087fae5abf239061475f2 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Oct 13 17:35:30 2009 +0000 Add some ARM instruction encoding bits. Patch by Johnny Chen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83983 91177308-0d34-0410-b5e6-96231b3b80d8 commit f0976f41d9100957bf1eca01436dc8546d95ee39 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Oct 13 17:29:13 2009 +0000 Fix regression introduced by r83894. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83982 91177308-0d34-0410-b5e6-96231b3b80d8 commit 897be2a525c03c3c2331ac5ef74a2e7483434e4d Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 13 17:00:54 2009 +0000 Copy metadata when value is RAUW'd. It is debatable whether this is the right approach for custom metadata data in general. However, right now the only custom data user, "dbg", expects this behavior while FE is constructing llvm IR with debug info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83977 91177308-0d34-0410-b5e6-96231b3b80d8 commit b89ac779620ca5fe55c2854dd28fa3b295fb6b69 Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 13 16:32:09 2009 +0000 Disable this test for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83975 91177308-0d34-0410-b5e6-96231b3b80d8 commit b072c755593e95a598b683c12be63c359e274c02 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Oct 13 15:27:23 2009 +0000 Fix a tab. Thanks to Johnny Chen for pointing it out. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83973 91177308-0d34-0410-b5e6-96231b3b80d8 commit aa02f165570eee052008e8bd8d706f454ee277b6 Author: Duncan Sands <baldrick@free.fr> Date: Tue Oct 13 09:24:02 2009 +0000 The eh.exception intrinsic only reads from memory, it doesn't write to it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83963 91177308-0d34-0410-b5e6-96231b3b80d8 commit 12e4ccf0ce8e66b23104171e35a4a94c09c94cef Author: Duncan Sands <baldrick@free.fr> Date: Tue Oct 13 09:23:11 2009 +0000 Pacify the compiler (signed with unsigned comparison) by making these constants unsigned. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83962 91177308-0d34-0410-b5e6-96231b3b80d8 commit 23f49980e325ac4e698ebc0ed3a0a7e3e298941e Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Oct 13 07:57:33 2009 +0000 Force memory use markers to have a ConstantInt for the size argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83960 91177308-0d34-0410-b5e6-96231b3b80d8 commit fc461aee7449bb8010b6f4946d88afd8e2b05e3e Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Oct 13 07:48:38 2009 +0000 Teach BasicAA a little something about the atomic intrinsics: they can only modify through the pointer they're given. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83959 91177308-0d34-0410-b5e6-96231b3b80d8 commit c888d3594875d75fc81e4cd3b6630b4b88f8054e Author: Nick Lewycky <nicholas@mxc.ca> Date: Tue Oct 13 07:03:23 2009 +0000 Add new "memory use marker" intrinsics. These indicate lifetimes and invariant sections of memory objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83953 91177308-0d34-0410-b5e6-96231b3b80d8 commit c74255d3943b40a2dc36226750cfedf6f4482c72 Author: Daniel Dunbar <daniel@zuster.org> Date: Tue Oct 13 06:47:08 2009 +0000 Fix a -Asserts warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83950 91177308-0d34-0410-b5e6-96231b3b80d8 commit b1b6f5af69b22ab3a9a40458edc4a4dc9dc33c18 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 13 05:33:26 2009 +0000 remove dead header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83943 91177308-0d34-0410-b5e6-96231b3b80d8 commit d68d06d66398db5439efd49c3a8a44daaebe1d91 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 13 04:27:02 2009 +0000 remove notcast, it is now dead! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83938 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe2b3c30a3709b51950225038e289b9eacc35a29 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 13 04:25:24 2009 +0000 remove two old and nearly useless tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83937 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c04f26c3e682a28878f7eb58e324892aaee875a Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 13 01:51:29 2009 +0000 XFAIL these tests for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83933 91177308-0d34-0410-b5e6-96231b3b80d8 commit bbf0a780e9c94afc562bafbb40ea0afd6377000f Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 13 01:49:02 2009 +0000 Add a ceilLogBase2 function to APInt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83932 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1fc5fb659c7acd0415e6f7b02393179303071982 Author: Victor Hernandez <vhernandez@apple.com> Date: Tue Oct 13 01:42:53 2009 +0000 Memory dependence analysis was incorrectly stopping to scan for stores to a pointer at bitcast uses of a malloc call. It should continue scanning until the malloc call, and this patch fixes that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83931 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8cd10be5c1c09b7aa2272e00571540c082834c4a Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Tue Oct 13 01:01:38 2009 +0000 Regenerate configure for rev. 83823 putback. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83930 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7e02bc626b03039d40d461df1bb5c3c322a74fef Author: Devang Patel <dpatel@apple.com> Date: Mon Oct 12 23:22:09 2009 +0000 Enable "debug info attached to an instruction" mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83925 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6096157c93259c3484c250b3541e9851dfc55da4 Author: Devang Patel <dpatel@apple.com> Date: Mon Oct 12 23:11:24 2009 +0000 Find enclosing subprogram info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83922 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9cd02c5e750dea8637fe300b27a0bf14a53e22bd Author: Devang Patel <dpatel@apple.com> Date: Mon Oct 12 23:10:55 2009 +0000 Set default location for a function if it is not set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83921 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7bbbc7d65719ff18592a21cb2246e7fa68e213d4 Author: Kevin Enderby <enderby@apple.com> Date: Mon Oct 12 22:51:49 2009 +0000 Fix two warnings about unused variables that are only used in assert() calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83917 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1449b8594c0a82f80d198ddadda5d23795cad922 Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Oct 12 22:49:05 2009 +0000 Delete a comment that makes no sense to me. The statement that moving a CPE before its reference is only supported on ARM has not been true for a while. In fact, until recently, that was only supported for Thumb. Besides that, CPEs are always a multiple of 4 bytes in size, so inserting a CPE should have no effect on Thumb alignment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83916 91177308-0d34-0410-b5e6-96231b3b80d8 commit f5286ef78bba77aed8e21685baa8567e63316937 Author: Kevin Enderby <enderby@apple.com> Date: Mon Oct 12 22:39:54 2009 +0000 Fix a problem in the code where ARMAsmParser::ParseShift() second argument should have been a pointer to a reference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83915 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0dab5a226a623e256b6df9bef3634fa371b63bf6 Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Oct 12 22:25:23 2009 +0000 Make licm debug message readable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83908 91177308-0d34-0410-b5e6-96231b3b80d8 commit 96b37b64f271bec34a6a650fa875acff17cb53d5 Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Oct 12 21:39:43 2009 +0000 Change CreateNewWater method to return NewMBB by reference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83905 91177308-0d34-0410-b5e6-96231b3b80d8 commit e5001730bd4aa9b23daa7861ea3ef08c35e77777 Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Oct 12 21:23:15 2009 +0000 Last week, ARMConstantIslandPass was failing to converge for the MultiSource/Benchmarks/MiBench/automotive-susan test. The failure has since been masked by an unrelated change (just randomly), so I don't have a testcase for this now. Radar 7291928. The situation where this happened is that a constant pool entry (CPE) was placed at a lower address than the load that referenced it. There were in fact 2 CPEs placed at adjacent addresses and referenced by 2 loads that were close together in the code. The distance from the loads to the CPEs was right at the limit of what they could handle, so that only one of the CPEs could be placed within range. On every iteration, the first CPE was found to be out of range, causing a new CPE to be inserted. The second CPE had been in range but the newly inserted entry pushed it too far away. Thus the second CPE was also replaced by a new entry, which in turn pushed the first CPE out of range. Etc. Judging from some comments in the code, the initial implementation of this pass did not support CPEs placed _before_ their references. In the case where the CPE is placed at a higher address, the key to making the algorithm terminate is that new CPEs are only inserted at the end of a group of adjacent CPEs. This is implemented by removing a basic block from the "WaterList" once it has been used, and then adding the newly inserted CPE block to the list so that the next insertion will come after it. This avoids the ping-pong effect where CPEs are repeatedly moved to the beginning of a group of adjacent CPEs. This does not work when going backwards, however, because the entries at the end of an adjacent group of CPEs are closer than the CPEs earlier in the group. To make this pass terminate, we need to maintain a property that changes can only happen in some sort of monotonic fashion. The fix used here is to require that the CPE for a particular constant pool load can only move to lower addresses. This is a very simple change to the code and should not cause any significant degradation in the results. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83902 91177308-0d34-0410-b5e6-96231b3b80d8 commit 31d9eb561b52a70ac181ad610115e35ab86298dc Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Oct 12 20:45:53 2009 +0000 Another minor clean-up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83897 91177308-0d34-0410-b5e6-96231b3b80d8 commit df5d0b3525506c916e4bb14fc6288ab43415f940 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 12 20:42:35 2009 +0000 allow this testcase to pass with recent changes. The test hasn't been producing any stores at all for a long time, but ".store." was in some IR instruction names until recently. This removal caused the test to start failing. Just make it reject any stores. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83895 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8454df9db700b63793f4f73f3df6e69d4a54572a Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Oct 12 20:37:23 2009 +0000 Remove redundant parameter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83894 91177308-0d34-0410-b5e6-96231b3b80d8 commit 93312097c5c22dac9e6fa9b2e63ab29708f51ba0 Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Oct 12 19:04:03 2009 +0000 Use early exit to reduce indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83874 91177308-0d34-0410-b5e6-96231b3b80d8 commit 688468aa23fe332955436b2acd062fd9bf289f8d Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Oct 12 19:01:12 2009 +0000 Change to return a value by reference. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83873 91177308-0d34-0410-b5e6-96231b3b80d8 commit b15413cce529d24d6ae4e52116eac7c56f042023 Author: Bob Wilson <bob.wilson@apple.com> Date: Mon Oct 12 18:52:13 2009 +0000 Add a typedef for an iterator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83872 91177308-0d34-0410-b5e6-96231b3b80d8 commit f215bb209351a7fa2244cc691ef214b6beaa757e Author: Dale Johannesen <dalej@apple.com> Date: Mon Oct 12 18:49:00 2009 +0000 Revert the kludge in 76703. I got a clean bootstrap of FSF-style PPC, so there is some reason to believe the original bug (which was never analyzed) has been fixed, probably by 82266. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83871 91177308-0d34-0410-b5e6-96231b3b80d8 commit b58870629223e655f015b90de48154b7b837259b Author: Dale Johannesen <dalej@apple.com> Date: Mon Oct 12 18:45:32 2009 +0000 Fix warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83870 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6f216b73b69538d39ab7f84c6a0816270bc7f4dd Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 12 18:33:33 2009 +0000 fix validation error pointed out by gabor (and the w3c :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83868 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6608a010f11207afbe01650d9dffa30783b920ec Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 12 18:12:47 2009 +0000 Improve bugpoint doc, patch by Timo Lindfors! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83865 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9b3c779a1dfd96ccced1d0e8c6e3f95519ab23cf Author: Jeffrey Yasskin <jyasskin@google.com> Date: Mon Oct 12 17:43:32 2009 +0000 Fix http://llvm.org/PR5160, to let CallbackVHs modify other ValueHandles on the same Value without breaking things. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83861 91177308-0d34-0410-b5e6-96231b3b80d8 commit aee4b899c056aa56539c4ed530e8d7b05da874c3 Author: Gabor Greif <ggreif@gmail.com> Date: Mon Oct 12 16:50:25 2009 +0000 another bunch of <tt>s git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83860 91177308-0d34-0410-b5e6-96231b3b80d8 commit 69a9b168a959772b096ef8f7ad53992ec2c663d9 Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 12 16:44:10 2009 +0000 Remove a redundant member variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83857 91177308-0d34-0410-b5e6-96231b3b80d8 commit 81be561deccf40f5f3ea1b4bda8c35c6c53cb429 Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 12 16:43:44 2009 +0000 Delete some obsolete declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83856 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7c765f3562d346774d9988ce5a26e984c7e4da75 Author: Gabor Greif <ggreif@gmail.com> Date: Mon Oct 12 16:40:25 2009 +0000 even more <tt>s git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83854 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c738f5ee6c48df39332389e307de1305903c8e7 Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 12 16:36:12 2009 +0000 Don't forget to mark RAX as live-out of the function when arranging for it to hold the address of an sret return value, for x86-64 ABI purposes. Also, fix the test that was originally intended to test this to actually test it, using FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83853 91177308-0d34-0410-b5e6-96231b3b80d8 commit e6acc86c5d19e865476fc4926de6dbb6797ee880 Author: Gabor Greif <ggreif@gmail.com> Date: Mon Oct 12 16:27:44 2009 +0000 more typewriter face git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83852 91177308-0d34-0410-b5e6-96231b3b80d8 commit 55646ef432b266fb169dfec13d0d7ae0d47b5224 Author: Gabor Greif <ggreif@gmail.com> Date: Mon Oct 12 16:13:36 2009 +0000 fix three validation errors, I leave the fourth to sabre :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83851 91177308-0d34-0410-b5e6-96231b3b80d8 commit 51a2dab0f36873ec09e8b8949dff285af7a0eb16 Author: Gabor Greif <ggreif@gmail.com> Date: Mon Oct 12 16:08:52 2009 +0000 set some options in typewriter font git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83850 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5fb9d7e8d4fe8ec08d086e07c83c8c5952cf071a Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Mon Oct 12 14:46:08 2009 +0000 Documentation: Perform automated correction of common typos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83849 91177308-0d34-0410-b5e6-96231b3b80d8 commit b26e279e163669d34e45697b2ebe0e1003b7d8f8 Author: Edwin Török <edwintorok@gmail.com> Date: Mon Oct 12 13:37:29 2009 +0000 Fix typo, patch from Timo Juhani Lindfors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83848 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c301a8de25cc35ae384b63fc4560874dd6a27fd Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Mon Oct 12 09:31:55 2009 +0000 Eliminate some redundant llvm-as calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83837 91177308-0d34-0410-b5e6-96231b3b80d8 commit f402dc1c9976e809aec4d4e486e62496c9d92180 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Mon Oct 12 09:01:26 2009 +0000 Missing CHECK: lines makes test exit abnormally. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83835 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56b1d0597f0f97824098a34fddfcd936fbda194b Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Mon Oct 12 08:51:28 2009 +0000 FileCheck not CheckFile, oops. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83834 91177308-0d34-0410-b5e6-96231b3b80d8 commit b5b320e759bf05872182af0e182a7369c1b7932c Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Mon Oct 12 08:46:47 2009 +0000 Convert InstCombine/call.ll to CheckFile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83833 91177308-0d34-0410-b5e6-96231b3b80d8 commit 53966cf901cc222b47ffdcb8a6c5ffb293e1680e Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Mon Oct 12 07:18:14 2009 +0000 Convert the rest of the InstCombine tests from notcast to FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83828 91177308-0d34-0410-b5e6-96231b3b80d8 commit fef913ffdb15b2fbbb2b7151e135eb3d7fba1ca2 Author: Nick Lewycky <nicholas@mxc.ca> Date: Mon Oct 12 06:32:42 2009 +0000 Remove this part of the test, it never actually tested anything anyways. This unbreaks make check after evocallaghan's changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83827 91177308-0d34-0410-b5e6-96231b3b80d8 commit d0e2835fda304f3250cc4433b4b53d50a072a94f Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Mon Oct 12 06:23:56 2009 +0000 Fix syntax error missed in converting zext.ll test. Convert 2003-11-13-ConstExprCastCall.ll to FileCheck from notcast. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83826 91177308-0d34-0410-b5e6-96231b3b80d8 commit 79711e110cdba700bee125d1356c804edad847e4 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Mon Oct 12 06:14:06 2009 +0000 Convert InstCombine tests from notcast to FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83825 91177308-0d34-0410-b5e6-96231b3b80d8 commit e4e67c4d7b48ad44a7647ae33fac429025963387 Author: Nate Begeman <natebegeman@mac.com> Date: Mon Oct 12 05:53:58 2009 +0000 More heuristics for Combiner-AA. Still catches all important cases, but compile time penalty on gnugo, the worst case in MultiSource, is down to about 2.5% from 30% git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83824 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4c24c914c9726197266242a89c899a43c852bce2 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Mon Oct 12 04:57:20 2009 +0000 Haiku porting patches, Credit to Paul Davey. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83823 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8935700747e6774fc1732c2608c80e533690a0f8 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 12 04:22:44 2009 +0000 Fix PR5087, patch by Jakub Staszak! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83822 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5dd66f99bc3d857188292aebead57d7251f63268 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 12 04:01:02 2009 +0000 add some more hooks to the C bindings, patch by Kenneth Uildriks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83821 91177308-0d34-0410-b5e6-96231b3b80d8 commit cddb07767225ac456e52fd730bc1de8ca0e2b9b2 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Mon Oct 12 04:00:13 2009 +0000 Make ParallelJIT pthreads linking with CMake slightly less broken git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83820 91177308-0d34-0410-b5e6-96231b3b80d8 commit 84354c70bd3d1b20ec40883c6caf06fe26c27807 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Mon Oct 12 04:00:11 2009 +0000 Fix LLVM CMake build system so that it may now work on Solaris and AuroraUX. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83819 91177308-0d34-0410-b5e6-96231b3b80d8 commit b5663c7c1eaf8cf8fb1d857780811ea3bf2c7b58 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 12 03:58:40 2009 +0000 populate instcombine's initial worklist more carefully, causing it to visit instructions from the start of the function to the end of the function in the first path. This greatly speeds up some pathological cases (e.g. PR5150). Try #3, this time with some unneeded debug info stuff removed which was causing dead pointers to be added to the worklist. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83818 91177308-0d34-0410-b5e6-96231b3b80d8 commit 92f8d26a987f8fa57ceacd18d0802e7010ad49df Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 23:56:08 2009 +0000 revert r83814 for now, it is making the llvm-gcc bootstrap unhappy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83817 91177308-0d34-0410-b5e6-96231b3b80d8 commit 204c64a7117240e986fc265224e3209455247698 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 23:19:44 2009 +0000 pic16 uses 16 bit pointers, but is 8 bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83815 91177308-0d34-0410-b5e6-96231b3b80d8 commit fab98956ee8bb06aa5357ac0364ed15e949f4d7a Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 23:17:43 2009 +0000 populate instcombine's initial worklist more carefully, causing it to visit instructions from the start of the function to the end of the function in the first path. This greatly speeds up some pathological cases (e.g. PR5150). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83814 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6018f7a47052775c969148546ffde541b69e80ad Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Oct 11 23:10:09 2009 +0000 Fix Makefile to build correctly on Darwin. Patch by Sandeep Patel! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83813 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2012d00dec16d998c3c3c05fb8b59614772ee490 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Oct 11 23:03:53 2009 +0000 Add missed mem-mem move patterns git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83812 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1bb755cbeeabe6610220f1867fc08ea9503775a4 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Oct 11 23:03:28 2009 +0000 Add MSP430 mem-mem insts support. Patch by Brian Lucas with some my refinements git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83811 91177308-0d34-0410-b5e6-96231b3b80d8 commit 89f19d1b3a3da269ee5267eab8dad7c07def855b Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 23:02:46 2009 +0000 remove some harmful code that would turn an insertelement on an undef into a shuffle even if it was used by another insertelement. If the visitation order of instcombine was wrong, this would turn a chain of insertelements into a chain of shufflevectors, which was quite painful. Since CollectShuffleElements handles these cases, the code can just be nuked. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83810 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0505cb155a108d6b9ad4c7866be5d012d2f46181 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Oct 11 23:02:38 2009 +0000 Add bunch of MSP430 'feature' tests. Patch by Brian Lucas with some my refinements git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83809 91177308-0d34-0410-b5e6-96231b3b80d8 commit b88a9f6ec39bcd6c3d40072ec2ae2854c9653683 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 22:54:48 2009 +0000 reduce vec_shuffle2 and merge into vec_shuffle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83807 91177308-0d34-0410-b5e6-96231b3b80d8 commit a2680eb6a3be4623b53e8ab3423973a30bc5ac57 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 22:52:15 2009 +0000 filecheckize vec_shuffle.ll and merge shuffle.ll into it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83806 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2d94ef475390a3b506202af22be9482ba21f99b4 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 22:45:17 2009 +0000 filecheckize git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83805 91177308-0d34-0410-b5e6-96231b3b80d8 commit bce34da6aa0fafd04739231b1e2c68a2e7d5cb6f Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 22:44:16 2009 +0000 rename test git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83804 91177308-0d34-0410-b5e6-96231b3b80d8 commit df025c2d02814a3263c9f4a5d535c93c44301999 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 22:42:06 2009 +0000 remove old testcase git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83803 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9cb155c0a2e3302ddcb4ecb2c0021f6aafabdaa0 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 22:39:58 2009 +0000 merge test into shift.ll, this also eliminates awful grepping on -stats output git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83802 91177308-0d34-0410-b5e6-96231b3b80d8 commit 31eecb906b881523b8997b5b2f77734b81be8369 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 22:36:59 2009 +0000 convert to filecheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83801 91177308-0d34-0410-b5e6-96231b3b80d8 commit eefa89c5b8ccf1a50ffeca3493d9608f3c3ae491 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 22:22:13 2009 +0000 teach instcombine to simplify xor's harder, catching the new testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83799 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4580d45e185e24ae6460f55c8bd825b222881e25 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 22:00:32 2009 +0000 cleanups git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83797 91177308-0d34-0410-b5e6-96231b3b80d8 commit cf28e6a58b5cde2d8178206ca9754b4fd6d15d6b Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 21:42:08 2009 +0000 convert xor2 to filecheck, merge in a random regtest git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83796 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3508c5ca5968647a4b5f303bd9cc6d139ffde10f Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 21:36:10 2009 +0000 cleanup, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83795 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4ca76f7f980d23a1d7a82559592838a91eb1fb4f Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 21:29:45 2009 +0000 generalize a transformation even more: we don't care whether the input the the mul is a zext from bool, just that it is all zeros other than the low bit. This fixes some phase ordering issues that would cause us to miss some xforms in mul.ll when the worklist is visited differently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83794 91177308-0d34-0410-b5e6-96231b3b80d8 commit 291872e65ebb3cf049e50f76fe0cc1b126b2207e Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 21:22:21 2009 +0000 simplify a transformation by making it more general. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83792 91177308-0d34-0410-b5e6-96231b3b80d8 commit 57842c564561b7e696d1fc016ec0c55e6b08bcd4 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 21:05:34 2009 +0000 temporarily revert previous patch git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83791 91177308-0d34-0410-b5e6-96231b3b80d8 commit 54874018d447572ff91ee9a5e1fb22ddc12b73a7 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 21:04:37 2009 +0000 populate instcombine's initial worklist more carefully, causing it to visit instructions from the start of the function to the end of the function in the first path. This greatly speeds up some pathological cases (e.g. PR5150). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83790 91177308-0d34-0410-b5e6-96231b3b80d8 commit cb2683a5dda25516ad0c224f0bc5046b8f10f687 Author: Edwin Török <edwintorok@gmail.com> Date: Sun Oct 11 19:58:35 2009 +0000 Remove CleanupDbgInfo, instcombine does this and its not worth duplicating it here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83789 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2734bdb105226b7f4a5cbabee2b730fcbc4ac928 Author: Duncan Sands <baldrick@free.fr> Date: Sun Oct 11 19:40:38 2009 +0000 More DragonEgg verbiage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83788 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2c9e52d4836192ce0463bd735667ac9861ba8fe9 Author: Duncan Sands <baldrick@free.fr> Date: Sun Oct 11 19:30:56 2009 +0000 Remove spurious brackets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83787 91177308-0d34-0410-b5e6-96231b3b80d8 commit aeb2b5ba57596a8b077fb2e7878cf63ab2652ca4 Author: Edwin Török <edwintorok@gmail.com> Date: Sun Oct 11 19:15:54 2009 +0000 LICM shouldn't sink/delete debug information. Fix this and add a testcase. For now the metadata of sinked/hoisted instructions is still wrong, but that'll be fixed when instructions will have debug metadata directly attached. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83786 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9cbe2bc74aff10a95b2ee6ed6fb4a47dffee4751 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Oct 11 19:14:21 2009 +0000 Implement 'm' memory operand properly git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83785 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0c425acb0ed7cbc27602e7b7faa1e6ff755e37b5 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Oct 11 19:14:02 2009 +0000 Implement proper asmprinting for the globals. This eliminates bogus "call" modifier and also adds support for offsets wrt globals. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83784 91177308-0d34-0410-b5e6-96231b3b80d8 commit 92edf7f8851ef0b58a0545195d7d749d2c1785f1 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sun Oct 11 19:13:34 2009 +0000 Implement asm printing for inline asm memory operands git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83783 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8ab34d04b0472a623f3aa7a2da0fce1fdace2ca Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 19:07:23 2009 +0000 add PR5004 as a known problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83782 91177308-0d34-0410-b5e6-96231b3b80d8 commit 711542c40f2d29a3d693a6bf59387c1bae4efd3e Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 19:02:54 2009 +0000 duncan points out that llvm-gcc doesn't do the right thing with -fverbose-asm yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83781 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6178bed87c4874e4760711a68fd4aa50f9a1d588 Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Oct 11 18:53:09 2009 +0000 Fix typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83780 91177308-0d34-0410-b5e6-96231b3b80d8 commit 42170ac977990187aa1fe8f11b96b5966234c9da Author: Nick Lewycky <nicholas@mxc.ca> Date: Sun Oct 11 18:47:33 2009 +0000 Fix typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83779 91177308-0d34-0410-b5e6-96231b3b80d8 commit 59be447db438daefb7cdc64feeb2595f474f0be8 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 18:39:58 2009 +0000 when folding duplicate conditions, delete the now-probably-dead instruction tree feeding it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83778 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2c50edbc5a7493d03d1561eeb139a316b582b65d Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 18:21:32 2009 +0000 some notes from Anton git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83777 91177308-0d34-0410-b5e6-96231b3b80d8 commit c1654ea87b71d0c7a965b5fffa05f83ffcc90c3d Author: Gabor Greif <ggreif@gmail.com> Date: Sun Oct 11 11:44:34 2009 +0000 catch some other serial commas that my earlier grep did not spot git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83772 91177308-0d34-0410-b5e6-96231b3b80d8 commit 00ade922bbb18d8e8fca7a4e69bef5b9c5dbe1fe Author: Gabor Greif <ggreif@gmail.com> Date: Sun Oct 11 11:23:40 2009 +0000 eliminate some instances of serial comma. sabre, if you feel strong about this, feel free to revert this rev git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83771 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6486965df5826add65108c0ebdf0a8a530b40b00 Author: Duncan Sands <baldrick@free.fr> Date: Sun Oct 11 11:20:26 2009 +0000 Fix typo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83770 91177308-0d34-0410-b5e6-96231b3b80d8 commit 25d7536a03070dc647e4cae021e9fae10111c60c Author: Gabor Greif <ggreif@gmail.com> Date: Sun Oct 11 10:44:44 2009 +0000 apply some tweaks git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83769 91177308-0d34-0410-b5e6-96231b3b80d8 commit 669766de5f5883fd1e378347017986980a35b527 Author: Gabor Greif <ggreif@gmail.com> Date: Sun Oct 11 10:27:57 2009 +0000 fix some obvious typos git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83768 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8f506a9c91975bcff3af5a4100f093002a0db636 Author: Duncan Sands <baldrick@free.fr> Date: Sun Oct 11 09:07:15 2009 +0000 Add an outline of the DragonEgg gcc plugin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83765 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6438c58898936351337a02c6f3d89dbefcf8d6c1 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 07:53:15 2009 +0000 implement rdar://7293527, a trivial instcombine that llvm-gcc gets but clang doesn't, because it is implemented in GCC's fold routine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83761 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0c7a6448809f6dc46ba73d35edfe8710c9758f64 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 07:51:25 2009 +0000 add a helper for matching "1". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83760 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed90ae261ab94579121d50605807e8b9ad5e9b00 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 07:24:57 2009 +0000 implement a transformation in jump threading that is currently done by condprop, but do it in a much more general form. The basic idea is that we can do a limited form of tail duplication in the case when we have a branch on a phi. Moving the branch up in to the predecessor block makes instruction selection much easier and encourages chained jump threadings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83759 91177308-0d34-0410-b5e6-96231b3b80d8 commit a84c14e849681bc0fcf86529593d9475c0250617 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 07:11:11 2009 +0000 another testcase jump threading shouldn't crash on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83758 91177308-0d34-0410-b5e6-96231b3b80d8 commit 41e44ea0443e3fda16de10d4ac56574ad4cdaae4 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 07:10:28 2009 +0000 rename a file, remove a poorly reduced testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83757 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5bf9d1b142a7646cc02c22faa44ca229cded4999 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 04:40:21 2009 +0000 restructure some code, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83756 91177308-0d34-0410-b5e6-96231b3b80d8 commit 353c7f9d63875f26c94cd63f9824d33a5a29bd63 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 04:33:43 2009 +0000 factor some code better and move a function, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83755 91177308-0d34-0410-b5e6-96231b3b80d8 commit a5c0a111a8bc2c320b19e042b941a04cc51dbc48 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 04:18:15 2009 +0000 make jump threading on a phi with undef inputs happen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83754 91177308-0d34-0410-b5e6-96231b3b80d8 commit b3fb398811b1fa62ff2262e0f96bca634aa96224 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 04:17:33 2009 +0000 there is no need to run mem2reg after jump threading at LTO time now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83753 91177308-0d34-0410-b5e6-96231b3b80d8 commit 990739315fb919324c69c035ab3ac6e2b00d22d4 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 04:03:22 2009 +0000 fix a bunch of bad formatting, delete the dead ConstantInt::TheTrueVal/TheFalseVal members. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83752 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3733adba857257f94b0945022794fb1c1bbefbbb Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 03:55:30 2009 +0000 merge two tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83751 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4f68e0c66398707bce7c1304f09ed42c863337e7 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 03:54:21 2009 +0000 simplify some run lines, convert a test to filecheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83750 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0c5465e27e51577bdee6797f31a9bd5c7545d5c7 Author: Ted Kremenek <kremenek@apple.com> Date: Sun Oct 11 03:10:25 2009 +0000 Update release notes blurb on the static analyzer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83749 91177308-0d34-0410-b5e6-96231b3b80d8 commit e98866c4d6898e2502af1f30d1d5ae7cfbd14bc3 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 02:53:37 2009 +0000 rewrite LCSSA to use SSAUpdate, to only return true if it modifies the IR, and to implement the FIXME'd optimization. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83748 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7dd77a530bc7f7e74dc137cf93a7dd04f3829831 Author: Chris Lattner <sabre@nondot.org> Date: Sun Oct 11 01:07:15 2009 +0000 clean up and simplify some code. Don't use setvector when things will be inserted only once, just use vector. Don't compute ExitBlocks unless we need it, change std::sort to array_pod_sort. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83747 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6e5ea272663faaaf886a17f77963b5c12bdf8802 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 23:50:30 2009 +0000 switch GVN to use SSAUpdater. Besides removing a lot of complexity from GVN, this also speeds it up, inserts fewer PHI nodes (see the testcase) and allows it to remove more loads (due to fewer PHI nodes standing in the way). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83746 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2daa0fe12d450b31d9b79e66edd08e65623adbbc Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 23:41:48 2009 +0000 add a simple helper method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83745 91177308-0d34-0410-b5e6-96231b3b80d8 commit e4f2c548e29dacb887d3249f35cc881fb1b29bbe Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 23:15:24 2009 +0000 add ability for clients of SSAUpdater to find out about the PHI nodes inserted. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83744 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8b04a44b984696613a6469db5927268de2f762f6 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 23:05:42 2009 +0000 clarify git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83743 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7b06de142ad444492acf76879609cc3a99e91d18 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 23:04:12 2009 +0000 remove dead code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83742 91177308-0d34-0410-b5e6-96231b3b80d8 commit af354a777f57a5585a3b210d785db6349539953f Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 23:00:11 2009 +0000 add the ability to get a rewritten value from the middle of a block, not just at the end. Add a big comment explaining when this could be useful (which never happens for jump threading). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83741 91177308-0d34-0410-b5e6-96231b3b80d8 commit 20c6ad636a273a51464d58d8f8bc1c56084e74af Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 22:41:58 2009 +0000 rename GetValueInBlock -> GetValueAtEndOfBlock to better reflect what it does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83740 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3a9bcf02f7e5e0ad89a228f87e19e9e6cf2527d7 Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Sat Oct 10 22:17:47 2009 +0000 It seems that OR operation does not affect status reg at all. Remove impdef of SRW. This fixes PR4779 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83739 91177308-0d34-0410-b5e6-96231b3b80d8 commit b9a5155e6a8ce63a720f7a3451716b18c2d28fa4 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 22:15:25 2009 +0000 fix broken link git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83738 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8767bdca785849ff566f409d4d3801f274686e3a Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 22:13:38 2009 +0000 final changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83737 91177308-0d34-0410-b5e6-96231b3b80d8 commit 835f25302bc50f969d425fd9c2b911113bf61d96 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 22:02:58 2009 +0000 down to 'major changes' git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83736 91177308-0d34-0410-b5e6-96231b3b80d8 commit fdf24e7c757b6ab6fef50461bdc3467230d576b9 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 21:40:13 2009 +0000 more updates git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83735 91177308-0d34-0410-b5e6-96231b3b80d8 commit 69c5440a5bd6d4e6016cf892d6950753f175e4dc Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 21:37:16 2009 +0000 add a link to the GSG for info on how to check out svn trunk git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83734 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7305d116823dc875501092035f458734c0663161 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 21:30:55 2009 +0000 x86 uses 5 operands for most memory refs now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83733 91177308-0d34-0410-b5e6-96231b3b80d8 commit d4f53350fb0367b3b87ce3230083a7709294ba24 Author: Duncan Sands <baldrick@free.fr> Date: Sat Oct 10 20:06:04 2009 +0000 More spelling and grammar tweaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83728 91177308-0d34-0410-b5e6-96231b3b80d8 commit 08f0add2e589d69edcb270125e86533fcb751e48 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Sat Oct 10 19:45:13 2009 +0000 More spelling fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83724 91177308-0d34-0410-b5e6-96231b3b80d8 commit dc5bd2bcab36d8df81d308baefbf36441b676b37 Author: Duncan Sands <baldrick@free.fr> Date: Sat Oct 10 19:30:16 2009 +0000 Spelling fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83722 91177308-0d34-0410-b5e6-96231b3b80d8 commit 10abb752d27135245e6565c347fa7c61a69d3159 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 19:26:21 2009 +0000 more tweaks git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83721 91177308-0d34-0410-b5e6-96231b3b80d8 commit ccedda4f3460575743ed25a090ee3904d971ab5a Author: Duncan Sands <baldrick@free.fr> Date: Sat Oct 10 19:16:25 2009 +0000 Remove an inappropriate line in the description of the clang static analyser. Decrease duplication in the text. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83720 91177308-0d34-0410-b5e6-96231b3b80d8 commit 51ead6da49d101c8507fa07b7d1b35dc563abeed Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 19:00:55 2009 +0000 continue decoding chris scribble. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83719 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2bb49c3f61f371f06fd85f34fbd886bbf513667a Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 18:40:48 2009 +0000 remove some dead passes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83717 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4d91d4d3e9e2383157ccb0404ae3d6eb432fd54d Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 18:33:13 2009 +0000 checkpoint. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83716 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0fee5c2ba2015f5d738d413b3980ab71a0fdfb74 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 18:26:06 2009 +0000 fix broken anchors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83715 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2caa3dbab217e4ec2efa8ee04fa9de812aac99c8 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 09:09:20 2009 +0000 use a typedef instead of spelling out an insane type. Yay for auto someday. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83707 91177308-0d34-0410-b5e6-96231b3b80d8 commit cad6e47254b042d7ee8168c0b19240436f397baa Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 09:05:58 2009 +0000 Change jump threading to use the new SSAUpdater class instead of DemoteRegToStack. This makes it more efficient (because it isn't creating a ton of load/stores that are eventually removed by a later mem2reg), and more slightly more effective (because those load/stores don't get in the way of threading). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83706 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4baac8e63aae277b30891647cb8cc91500035a28 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 09:04:27 2009 +0000 Implement an efficient and fully general SSA update mechanism that works on unstructured CFGs. This implements PR217, our oldest open PR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83705 91177308-0d34-0410-b5e6-96231b3b80d8 commit e8bb5a4841c7f35bdad091ac5e9ffd8515ffcd5a Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 08:27:29 2009 +0000 add some WeakVH::operator='s. Without these, assigning a Value* to a WeakVH was constructing a temporary WeakVH (due to the implicit assignment operator). This avoids that cost. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83704 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0470c8bf65383fcdf8e19fab6350e9dc8992c343 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 08:01:27 2009 +0000 change some static_cast into cast, pointed out by Gabor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83703 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4c097ffa6542b236a22d784f35c69c28a54189a0 Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 07:42:42 2009 +0000 add a version of PHINode::getIncomingBlock that takes a raw Use, to complement the version that takes a use_iterator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83702 91177308-0d34-0410-b5e6-96231b3b80d8 commit 34635fd2a1fa61305f64291b89ad230ad0c1abfb Author: Chris Lattner <sabre@nondot.org> Date: Sat Oct 10 06:22:45 2009 +0000 random tidying git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83701 91177308-0d34-0410-b5e6-96231b3b80d8 commit f5ee5165329daef7db0c6a8a0abc23d344e9e6f9 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 10 01:32:21 2009 +0000 Create a new InstrEmitter class for translating SelectionDAG nodes into MachineInstrs. This is mostly just moving the code from ScheduleDAGSDNodesEmit.cpp into a new class. This decouples MachineInstr emitting from scheduling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83699 91177308-0d34-0410-b5e6-96231b3b80d8 commit e1c0b3bed2a6e94779604ba226ee8721496f20e7 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 10 01:29:16 2009 +0000 Make getMachineNode return a MachineSDNode* instead of a generic SDNode* since it won't do any folding. This will help avoid some inconvenient casting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83698 91177308-0d34-0410-b5e6-96231b3b80d8 commit fe5ef8c515912e0217c2730731f5f0385a14c250 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 10 00:36:09 2009 +0000 Remove a no-longer-necessary #include. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83697 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ef188518b791f048bd10dc1e8d0f62e63086198 Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 10 00:34:18 2009 +0000 Replace X86's CanRematLoadWithDispOperand by calling the target-independent MachineInstr::isInvariantLoad instead, which has the benefit of being more complete. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83696 91177308-0d34-0410-b5e6-96231b3b80d8 commit 101611d6083ca81b9bcf86d51be4717fbe1edc5a Author: Dan Gohman <gohman@apple.com> Date: Sat Oct 10 00:15:38 2009 +0000 Fix a missing initialization of PostRAScheduler's AA member. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83695 91177308-0d34-0410-b5e6-96231b3b80d8 commit 04e1b1d338e24537ab7c42bd0a1f0bf544732080 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 9 23:33:48 2009 +0000 The ScheduleDAG framework now requires an AliasAnalysis argument, though it isn't needed in the ScheduleDAGSDNodes schedulers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83691 91177308-0d34-0410-b5e6-96231b3b80d8 commit d85c2fe674dcb1b5e8c3bfa740a8e396e1a43290 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 9 23:31:04 2009 +0000 Update this test; the code is the same but it gets counted as one fewer remat. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83690 91177308-0d34-0410-b5e6-96231b3b80d8 commit 78e1a77cde46b7ba5de7d39b3a6db14e058f897c Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 9 23:28:27 2009 +0000 Mark the LDR instruction with isReMaterializable, as it is rematerializable when loading from an invariant memory location. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83688 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0a4c09e724bd3ab7c9a1d3a1615894e7bf209179 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 9 23:27:56 2009 +0000 Factor out LiveIntervalAnalysis' code to determine whether an instruction is trivially rematerializable and integrate it into TargetInstrInfo::isTriviallyReMaterializable. This way, all places that need to know whether an instruction is rematerializable will get the same answer. This enables the useful parts of the aggressive-remat option by default -- using AliasAnalysis to determine whether a memory location is invariant, and removes the questionable parts -- rematting operations with virtual register inputs that may not be live everywhere. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83687 91177308-0d34-0410-b5e6-96231b3b80d8 commit 40c80212c1c0be155e7a561f0a18a94856d7eb2f Author: Devang Patel <dpatel@apple.com> Date: Fri Oct 9 22:42:28 2009 +0000 Extract scope information from the variable itself, instead of relying on alloca or llvm.dbg.declare location. While recording beginning of a function, use scope info from the first location entry instead of just relying on first location entry itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83684 91177308-0d34-0410-b5e6-96231b3b80d8 commit 43304d30b79b35253613e21f34375a5493f62550 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Fri Oct 9 22:10:27 2009 +0000 ExecutionEngine::clearGlobalMappingsFromModule failed to remove reverse mappings, which could cause errors and assert-failures. This patch fixes that, adds a test, and refactors the global-mapping-removal code into a single place. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83678 91177308-0d34-0410-b5e6-96231b3b80d8 commit 04e3e0aec0ee96b3c0c59404d7715aaa97d95eb0 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 9 22:09:05 2009 +0000 Add a const qualifier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83677 91177308-0d34-0410-b5e6-96231b3b80d8 commit f5c20d7bc7641c093c9630366823584817b1f784 Author: Dale Johannesen <dalej@apple.com> Date: Fri Oct 9 21:42:02 2009 +0000 Use names instead of numbers for some of the magic constants used in inlining heuristics (especially those used in more than one file). No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83675 91177308-0d34-0410-b5e6-96231b3b80d8 commit 60bc0274f8e3cc55dd9332c4f404afee1c675b95 Author: Kevin Enderby <enderby@apple.com> Date: Fri Oct 9 21:12:28 2009 +0000 Added another bit of the ARM target assembler to llvm-mc to parse register lists. Changed ARMAsmParser::MatchRegisterName to return -1 instead of 0 on errors so 0-15 values could be returned as register numbers. Also added the rest of the arm register names to the currently hacked up version to allow more testing. Some changes to ARMAsmParser::ParseOperand to give different errors for things not yet supported and some additions to the hacked ARMAsmParser::MatchInstruction to allow more testing for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83673 91177308-0d34-0410-b5e6-96231b3b80d8 commit e5496f6ba52d5603eb26d72b421c2d8731f4ac24 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 9 21:02:10 2009 +0000 isTriviallyReMaterializable checks the TargetInstrDesc::isRematerializable flag, so it isn't necessary to do this check in its callers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83671 91177308-0d34-0410-b5e6-96231b3b80d8 commit f9a38e927ec463018c38d44e71c096032d2bd855 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 9 20:35:19 2009 +0000 Fix the x86 test-shrink optimization so that it doesn't shrink comparisons when one of the bits being tested would end up being the sign bit in the narrower type, and a signed comparison is being performed, since this would change the result of the signed comparison. This fixes PR5132. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83670 91177308-0d34-0410-b5e6-96231b3b80d8 commit ff57ca95835abff5340b955ef0277117c35439db Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Oct 9 20:20:54 2009 +0000 Merge a bunch of NEON tests into larger files so they run faster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83667 91177308-0d34-0410-b5e6-96231b3b80d8 commit c7973eb023472b13237076954240d915c30c2c69 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 9 18:10:05 2009 +0000 Add basic infrastructure and x86 support for preserving MachineMemOperand information when unfolding memory references. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83656 91177308-0d34-0410-b5e6-96231b3b80d8 commit fb8127571e3f12f3c71b90f92b561ba34b4c0582 Author: Devang Patel <dpatel@apple.com> Date: Fri Oct 9 17:51:49 2009 +0000 Check invalid debug info for enums. This may happen when underlyng enum is optimized away. Eventually DwarfChecker will clean this up during llvm verification stage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83655 91177308-0d34-0410-b5e6-96231b3b80d8 commit 66037312be7232178d30cfcab772f4e8e330ff5c Author: Jim Grosbach <grosbach@apple.com> Date: Fri Oct 9 17:33:33 2009 +0000 when previous scratch register is killed, flag the value as no longer tracking git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83653 91177308-0d34-0410-b5e6-96231b3b80d8 commit 20399e118dce04d516184b0d75e64ce701101f3d Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Oct 9 17:20:46 2009 +0000 Convert some ARM tests with lots of greps to use FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83651 91177308-0d34-0410-b5e6-96231b3b80d8 commit f5ceadfdacd1076a9449ec317dc8c6f7f621ca62 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 9 16:35:06 2009 +0000 Revert r83606 and add comments explaining why it isn't safe. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83649 91177308-0d34-0410-b5e6-96231b3b80d8 commit 13eff6afac77654d75c584382caf1ae89295168d Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr> Date: Fri Oct 9 13:17:57 2009 +0000 As it turns out, the bug fixes in GC codegen did not make it to llvm-2.6. Remove the precise garbage collection feature. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83638 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0dcee36aa05b0bec97f63996fcb9f34626e86118 Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr> Date: Fri Oct 9 10:17:14 2009 +0000 80-columns! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83628 91177308-0d34-0410-b5e6-96231b3b80d8 commit 12c0e568a1c2bc53ada189e7e846c8fc6f0fea4a Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr> Date: Fri Oct 9 10:13:08 2009 +0000 Add initial information on VMKit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83627 91177308-0d34-0410-b5e6-96231b3b80d8 commit 896d258c97e62cda9273af7c16420116652a4520 Author: Chris Lattner <sabre@nondot.org> Date: Fri Oct 9 06:36:25 2009 +0000 more random updates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83625 91177308-0d34-0410-b5e6-96231b3b80d8 commit d1aa3e5f0fe657b868ff72e8bab8db7359e1bc98 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 9 06:31:25 2009 +0000 Give Dan and my recent changes, machine LICM is now code size neutral. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83624 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0d60110630c3869e7a8f0dbeb8a1228856425760 Author: Chris Lattner <sabre@nondot.org> Date: Fri Oct 9 06:24:25 2009 +0000 checkpoint. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83623 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3dd21c11a02af6dede438855f9b433be3dfb1abc Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 9 06:21:52 2009 +0000 Fix a logic error that caused non-rematable loop invariants loads to be licm'ed out of loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83622 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6e6d33cba1b2c637e02dbb91639ce9832b77c0a0 Author: Chris Lattner <sabre@nondot.org> Date: Fri Oct 9 05:55:04 2009 +0000 checkpoint. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83621 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3a22d57b59002c06bcc397a2d0896880748da5d6 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Fri Oct 9 05:45:38 2009 +0000 Slight rewording. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83620 91177308-0d34-0410-b5e6-96231b3b80d8 commit 731bacfd51b94138ba08e635eff3ca6fdcbac118 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Fri Oct 9 05:45:21 2009 +0000 Omit the 'out_file_index != -1' check when possible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83619 91177308-0d34-0410-b5e6-96231b3b80d8 commit 220acf8eeb24372c18be5fcb09801f990dffe4c7 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Fri Oct 9 05:45:01 2009 +0000 Use llvm-as only for compiling .ll -> .bc. llc can compile .ll files directly these days. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83618 91177308-0d34-0410-b5e6-96231b3b80d8 commit abdc3b88031c863d2f74d104127686a5a69af598 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Oct 9 05:31:56 2009 +0000 Commit one last NEON test to use FileCheck. That's all of them now! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83617 91177308-0d34-0410-b5e6-96231b3b80d8 commit cb2151d7341f051c8a01aa098bf2eda3379e9234 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Oct 9 05:14:48 2009 +0000 Convert more NEON tests to use FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83616 91177308-0d34-0410-b5e6-96231b3b80d8 commit 401ec6d06b636887ac3d25016aea353151394e54 Author: Chris Lattner <sabre@nondot.org> Date: Fri Oct 9 05:01:15 2009 +0000 update clang section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83615 91177308-0d34-0410-b5e6-96231b3b80d8 commit cbaa50309d57421f5bdd4d90a94a36b88444fb73 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Fri Oct 9 04:15:52 2009 +0000 Raise the limit on built-in plugins in llvmc to 10. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83614 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5bdb7471aa50c84fdbe958fe5b2a2e0ca20fe930 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Fri Oct 9 02:40:01 2009 +0000 Reconfigure automatically when Base.td.in is changed. Thanks to Chris for heads-up! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83613 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9b4ac5427138629eb3cf8419fcf059b1b8848f91 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 9 01:17:11 2009 +0000 Reset kill markers after live interval is reconstructed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83608 91177308-0d34-0410-b5e6-96231b3b80d8 commit afa08b51a65fd3e945cb752281f7ad5f02c4fa29 Author: Evan Cheng <evan.cheng@apple.com> Date: Fri Oct 9 00:57:38 2009 +0000 Indentation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83607 91177308-0d34-0410-b5e6-96231b3b80d8 commit 837b52307f0cc56172a43dab64d2fbcfe1bd5d5f Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 9 00:41:22 2009 +0000 Preserve HasNSW and HasNUW when constructing SCEVs for Add and Mul instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83606 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa77a95f69eb7ebf8ad5eec689ab92f2f8961f64 Author: Dale Johannesen <dalej@apple.com> Date: Fri Oct 9 00:11:32 2009 +0000 When considering whether to inline Callee into Caller, and that will make Caller too big to inline, see if it might be better to inline Caller into its callers instead. This situation is described in PR 2973, although I haven't tried the specific case in SPASS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83602 91177308-0d34-0410-b5e6-96231b3b80d8 commit c9afeb35476d80a581127cd6e46b62a75727de30 Author: Dan Gohman <gohman@apple.com> Date: Fri Oct 9 00:10:36 2009 +0000 Add the ability to track HasNSW and HasNUW on more kinds of SCEV expressions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83601 91177308-0d34-0410-b5e6-96231b3b80d8 commit c7692e0185faaab4a68386afc362d95be591b455 Author: Bob Wilson <bob.wilson@apple.com> Date: Fri Oct 9 00:01:36 2009 +0000 Add codegen support for NEON vst4lane intrinsics with 128-bit vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83600 91177308-0d34-0410-b5e6-96231b3b80d8 commit dbffb21337be67595a47585d60e8dda083038601 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 8 23:51:31 2009 +0000 Add codegen support for NEON vst3lane intrinsics with 128-bit vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83598 91177308-0d34-0410-b5e6-96231b3b80d8 commit 18e94a7a1d02201407370ce9f73be9798bd4b7cc Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 8 23:38:24 2009 +0000 Add codegen support for NEON vst2lane intrinsics with 128-bit vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83596 91177308-0d34-0410-b5e6-96231b3b80d8 commit e76c59427191dff2450a644ad14db0a8d973b18e Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 8 23:33:03 2009 +0000 Convert more NEON tests to use FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83595 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7a8c6dfd8b82ead296bebcb567580cf08c5d449d Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 8 22:53:57 2009 +0000 Add codegen support for NEON vld4lane intrinsics with 128-bit vectors. Also fix some copy-and-paste errors in previous changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83590 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9e95fbdc67767a5b924b05be00174db40a0cce57 Author: Evan Cheng <evan.cheng@apple.com> Date: Thu Oct 8 22:42:35 2009 +0000 Remove code that makes no sense. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83589 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7f38db881ebc7e8d6e3723f74306fc179bc6a26d Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 8 22:33:53 2009 +0000 Convert more NEON tests to use FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83587 91177308-0d34-0410-b5e6-96231b3b80d8 commit 47a1ff630bcc4c6ad5fc198b0b1fe9f7cd07a85c Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 8 22:27:33 2009 +0000 Add codegen support for NEON vld3lane intrinsics with 128-bit vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83585 91177308-0d34-0410-b5e6-96231b3b80d8 commit 872cba53706d4b15c7d44ee586495daaf9acb850 Author: Douglas Gregor <doug.gregor@gmail.com> Date: Thu Oct 8 21:24:34 2009 +0000 Update CMake build yet again after a source file was removed git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83575 91177308-0d34-0410-b5e6-96231b3b80d8 commit ee60911ca1e826c45202025244f0d1d273d1c2c0 Author: Bill Wendling <isanbard@gmail.com> Date: Thu Oct 8 20:52:51 2009 +0000 It's possible for a global variable to be optimized out of a metadata object. So we should allow a "null" with this dyn_cast. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83573 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9c196ef25d4afaf139cf282e439df7afa2c4e6ad Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Thu Oct 8 20:43:22 2009 +0000 Use lower16 / upper16 imm modifiers to asmprint 32-bit imms splitted via movt/movw pair. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83572 91177308-0d34-0410-b5e6-96231b3b80d8 commit f57e106e4ef58a165435aef6683db98b559f594b Author: Devang Patel <dpatel@apple.com> Date: Thu Oct 8 20:41:17 2009 +0000 Clear variable debug info map at the end of the function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83571 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5687d8a26c08d089c60df2c92d048ab85bcdb2b9 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 8 18:56:10 2009 +0000 Add codegen support for NEON vld2lane intrinsics with 128-bit vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83568 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5642cc9b885987140f2f385af99fd6ad3ff47845 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 8 18:52:56 2009 +0000 Clean up some unnecessary initializations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83566 91177308-0d34-0410-b5e6-96231b3b80d8 commit 67902736c48e80706297e3141221c4951a15dabc Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 8 18:51:31 2009 +0000 Clean up a comment (indentation was wrong). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83565 91177308-0d34-0410-b5e6-96231b3b80d8 commit fcaa4cff1b4f3a5b7a731c6e591f345ce5fcdbc1 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 8 18:49:46 2009 +0000 Add a SelectionDAG getTargetInsertSubreg convenience function, similar to getTargetExtractSubreg. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83564 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6882dff7faafcef6f4099c22fcb8f1720b021720 Author: Devang Patel <dpatel@apple.com> Date: Thu Oct 8 18:48:03 2009 +0000 Do not record line number to implicitly mark start of function if function has arguments. Extra line number entries trip gdb in some cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83563 91177308-0d34-0410-b5e6-96231b3b80d8 commit 37f93448e6320e093f256f4884200656a3441f03 Author: Richard Osborne <richard@xmos.com> Date: Thu Oct 8 17:14:57 2009 +0000 Add missing names for the XCore specific LADD and LSUB nodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83556 91177308-0d34-0410-b5e6-96231b3b80d8 commit 130a245ddcec93d0105d56a5490bf15261fc5775 Author: Dan Gohman <gohman@apple.com> Date: Thu Oct 8 17:00:02 2009 +0000 Add a form of addPreserved which takes a string argument, to allow passes to declare that they preserve other passes without needing to pull in additional header file or library dependencies. Convert MachineFunctionPass and CodeGenLICM to make use of this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83555 91177308-0d34-0410-b5e6-96231b3b80d8 commit 59a302773ef641214008b3fca3d18a6227e06f5d Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 8 16:01:33 2009 +0000 some updates from users of llvm git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83551 91177308-0d34-0410-b5e6-96231b3b80d8 commit c3a9f20fbd8ce4f486a775c526f6915da438072e Author: Richard Osborne <richard@xmos.com> Date: Thu Oct 8 15:38:17 2009 +0000 Add some peepholes for signed comparisons using ashr X, X, 32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83549 91177308-0d34-0410-b5e6-96231b3b80d8 commit 169c7013404386716ee4fa02d8c88286a15b598c Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 8 07:01:46 2009 +0000 all content split into sections, still much work to be done. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83532 91177308-0d34-0410-b5e6-96231b3b80d8 commit 019ef5c94bf984de5c7ed18e3cd8174199cae615 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 8 06:42:44 2009 +0000 remove LoopVR pass. According to Nick: "LoopVR's logic was copied into ScalarEvolution::getUnsignedRange and ::getSignedRange. Please delete LoopVR." git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83531 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6aaf6907619d567b988c88dc787974141d093fa0 Author: Chris Lattner <sabre@nondot.org> Date: Thu Oct 8 06:27:53 2009 +0000 checkpoint, this is still not comprehendible. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83530 91177308-0d34-0410-b5e6-96231b3b80d8 commit 96c75278165e3401271e659bb9375c0b0cb76241 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Thu Oct 8 06:03:38 2009 +0000 Unbreak the build. Forgot about the need to reconfigure after modifying Base.td.in.... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83529 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c70c0aaa6bcd91504049046a85ef1320be6e442 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 8 06:02:10 2009 +0000 Convert more NEON tests to use FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83528 91177308-0d34-0410-b5e6-96231b3b80d8 commit 94b5d43b15023b4757c1b08838104c6a14438e45 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 8 05:18:18 2009 +0000 Add codegen support for NEON vst4 intrinsics with <1 x i64> vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83526 91177308-0d34-0410-b5e6-96231b3b80d8 commit 18c78e698719eea38d06de611575087e084e1dfc Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Thu Oct 8 04:40:28 2009 +0000 Make the Base plugin understand -MF and -MT. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83525 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1c7d766abfd5bdebe8e27baf0e92fe4c11e2dcc9 Author: Mikhail Glushenkov <foldr@codedgers.com> Date: Thu Oct 8 04:40:08 2009 +0000 Input files should go before all other options. Important, for example, when calling 'gcc a.o b.o c.o -lD -lE -lF'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83524 91177308-0d34-0410-b5e6-96231b3b80d8 commit 508ceee8273f7a4f579c60fd9e1ad2fee9f40241 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Oct 8 01:50:26 2009 +0000 Cleanup up unused R3LiveIn tracking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83522 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4820d98aaad1442bfb4efb104a2ac91b64bc3a36 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Oct 8 01:46:59 2009 +0000 Re-enable register scavenging in Thumb1 by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83521 91177308-0d34-0410-b5e6-96231b3b80d8 commit 51d82f19af9992ec249e8494031365864defd035 Author: Jim Grosbach <grosbach@apple.com> Date: Thu Oct 8 01:09:45 2009 +0000 bugfix. The target may use virtual registers that aren't tracked for re-use but are allocated by the scavenger. The re-use algorithm needs to watch for that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83519 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7200e5d850492bc316cf1cef72cfff01fb88fdb5 Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 8 00:28:28 2009 +0000 Add codegen support for NEON vst3 intrinsics with <1 x i64> vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83518 91177308-0d34-0410-b5e6-96231b3b80d8 commit dd43d1eec2d82eb61329b5940fc2c7f4165cd9ed Author: Bob Wilson <bob.wilson@apple.com> Date: Thu Oct 8 00:21:01 2009 +0000 Add codegen support for NEON vst2 intrinsics with <1 x i64> vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83513 91177308-0d34-0410-b5e6-96231b3b80d8 commit 17091f035fcfa8a12b319146d199c043fbc59fce Author: Jeffrey Yasskin <jyasskin@google.com> Date: Thu Oct 8 00:12:24 2009 +0000 In instcombine's debug output, avoid printing ADD for instructions that are already on the worklist, and print Visited when an instruction is about to be visited. Net, on one input, this reduced the output size by at least 9x. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83510 91177308-0d34-0410-b5e6-96231b3b80d8 commit 7ce4750b6014e38275dcf2878b6ca15a7111ac6d Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 7 23:54:04 2009 +0000 Add codegen support for NEON vld4 intrinsics with <1 x i64> vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83508 91177308-0d34-0410-b5e6-96231b3b80d8 commit d48ca59eb7bd0af0e294c309b403f7bd72fdab0a Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 7 23:47:21 2009 +0000 Convert more NEON tests to use FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83507 91177308-0d34-0410-b5e6-96231b3b80d8 commit da8caccf975ceec8914586e3f0ae7e46a228e640 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 7 23:39:57 2009 +0000 Add codegen support for NEON vld3 intrinsics with <1 x i64> vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83506 91177308-0d34-0410-b5e6-96231b3b80d8 commit ed8f6834c213d06f4b31cf1747d8900d346b461f Author: Jeffrey Yasskin <jyasskin@google.com> Date: Wed Oct 7 23:22:42 2009 +0000 Fix the OProfile part of PR5018. This fixes --without-oprofile, makes it the default, and works around a broken libopagent on some Debian systems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83503 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8c3be587276cc116d834bf213f80149e40add2b9 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 7 22:57:01 2009 +0000 Add codegen support for NEON vld2 intrinsics with <1 x i64> vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83502 91177308-0d34-0410-b5e6-96231b3b80d8 commit c7d2c5396f2876ed2ac8e5c3b65291a769a90767 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Oct 7 22:49:41 2009 +0000 reverting thumb1 scavenging default due to test failure while I figure out what's up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83501 91177308-0d34-0410-b5e6-96231b3b80d8 commit bcd68c3cde6340d81b205a97d9855c55c131150b Author: Chris Lattner <sabre@nondot.org> Date: Wed Oct 7 22:49:30 2009 +0000 second half of lazy liveness removal. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83500 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1bf03f7398acced77fdf5dcc70543c47f550e956 Author: Dale Johannesen <dalej@apple.com> Date: Wed Oct 7 22:47:20 2009 +0000 Fix handling of x86 'R' constraint. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83499 91177308-0d34-0410-b5e6-96231b3b80d8 commit c85628e8a290be582bf9c9845aedc29ac8dac99e Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 7 22:30:19 2009 +0000 Convert more NEON tests to use FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83497 91177308-0d34-0410-b5e6-96231b3b80d8 commit ce7bfc50779b980e76e470733c72c25c82a5c0bf Author: Jim Grosbach <grosbach@apple.com> Date: Wed Oct 7 22:26:31 2009 +0000 Enable thumb1 register scavenging by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83496 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1d57f4b9260b0e0133e79e4fad874dfaf1739975 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Oct 7 22:26:14 2009 +0000 Enable thumb1 register scavenging by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83494 91177308-0d34-0410-b5e6-96231b3b80d8 commit 47b9a3a81764a9db2834279dd716127112d0ca72 Author: Devang Patel <dpatel@apple.com> Date: Wed Oct 7 22:04:08 2009 +0000 Extract subprogram and compile unit information from the debug info attached to an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83491 91177308-0d34-0410-b5e6-96231b3b80d8 commit b172116673cb33453971b6308941bc7cbd2f624c Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 7 21:53:04 2009 +0000 Add some instruction encoding bits for NEON load/store instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83490 91177308-0d34-0410-b5e6-96231b3b80d8 commit c8d0f170e091f38e57a5889655d2e14497c20563 Author: Eric Christopher <echristo@apple.com> Date: Wed Oct 7 21:14:25 2009 +0000 80-column and whitespace fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83489 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0479a8535055d21c086964c753787a62f8688cb0 Author: Kevin Enderby <enderby@apple.com> Date: Wed Oct 7 20:57:20 2009 +0000 Fixed MCSectionMachO::ParseSectionSpecifier to allow an attribute of "none" so that a symbol stub section with no attributes can be parsed as in: .section __TEXT,__picsymbolstub4,symbol_stubs,none,16 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83488 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa506f44c225410cb1592fb48bbb9e1a85bba76b Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 7 20:51:42 2009 +0000 Convert test to FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83487 91177308-0d34-0410-b5e6-96231b3b80d8 commit 931c76b4c08ea058d90f9fd5f5a59aea52010c0d Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 7 20:49:18 2009 +0000 Add codegen support for NEON vst4 intrinsics with 128-bit vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83486 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2a85bd13a0155cef6081a7f78e4b59c70ba8f5b4 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 7 20:30:08 2009 +0000 Add codegen support for NEON vst3 intrinsics with 128-bit vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83484 91177308-0d34-0410-b5e6-96231b3b80d8 commit a3330a871867e32033b8e0ea4134517d0ff62b9d Author: Jim Grosbach <grosbach@apple.com> Date: Wed Oct 7 19:08:36 2009 +0000 grammar git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83483 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5fa67d35b87341e9990fb7b3a26e3de7e76c0e64 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 7 18:47:39 2009 +0000 Add codegen support for NEON vst2 intrinsics with 128-bit vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83482 91177308-0d34-0410-b5e6-96231b3b80d8 commit b1355fe89fe28726ead6203e1b1f6e43f3292a81 Author: Jim Grosbach <grosbach@apple.com> Date: Wed Oct 7 18:44:24 2009 +0000 add initializers for clarity. Add missing assignment of PrevLastUseOp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83481 91177308-0d34-0410-b5e6-96231b3b80d8 commit fd4a856fb7ad8ccf886eebd9a1575be404ada2f9 Author: Owen Anderson <resistor@mac.com> Date: Wed Oct 7 18:40:17 2009 +0000 Remove LazyLiveness from the tree. It doesn't work right now, and I'm not going to have the time to finish it any time soon. If someone's interested it, they can resurrect it from SVN history. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83480 91177308-0d34-0410-b5e6-96231b3b80d8 commit 004a2e16d3ac693fad8bbd5a6798406653f672ba Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 7 18:09:32 2009 +0000 Add codegen support for NEON vld4 intrinsics with 128-bit vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83479 91177308-0d34-0410-b5e6-96231b3b80d8 commit 308327301d99c310723d2ac204dc1fc513f89243 Author: Kevin Enderby <enderby@apple.com> Date: Wed Oct 7 18:01:35 2009 +0000 Add another bit of the ARM target assembler to llvm-mc to parse registers with writeback, things like "sp!", etc. Also added some more stuff to the temporarily hacked methods ARMAsmParser::MatchRegisterName and ARMAsmParser::MatchInstruction to allow more parser testing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83477 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9c1b793895e57d2696e6c84215f63bfd699e222e Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 7 17:47:20 2009 +0000 Replace some code for aggressive-remat with MachineInstr::isInvariantLoad, and teach it how to recognize invariant physical registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83476 91177308-0d34-0410-b5e6-96231b3b80d8 commit eef78170dfb5ee4137742e94dbb0253cdda451f8 Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 7 17:38:06 2009 +0000 Replace TargetInstrInfo::isInvariantLoad and its target-specific implementations with a new MachineInstr::isInvariantLoad, which uses MachineMemOperands and is target-independent. This brings MachineLICM and other functionality to targets which previously lacked an isInvariantLoad implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83475 91177308-0d34-0410-b5e6-96231b3b80d8 commit d5ce7033ba2445d8fd13504e422afeeffb61c3d3 Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 7 17:36:00 2009 +0000 Add a few simple MachineVerifier checks for MachineMemOperands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83474 91177308-0d34-0410-b5e6-96231b3b80d8 commit a8b4362ee4e3a8442c18c5c951594a018cb7a682 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 7 17:24:55 2009 +0000 Add codegen support for NEON vld3 intrinsics with 128-bit vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83471 91177308-0d34-0410-b5e6-96231b3b80d8 commit 520f5611addbb5e14f6c0140155c94690e421414 Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 7 17:23:09 2009 +0000 Rearrange code for selecting vld2 intrinsics. No functionality change. This is just to be more consistent with the forthcoming code for vld3/4. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83470 91177308-0d34-0410-b5e6-96231b3b80d8 commit 23e40bb47e44e9c84d3597d5ab6728e7656acbdf Author: Bob Wilson <bob.wilson@apple.com> Date: Wed Oct 7 17:19:13 2009 +0000 Add tests for vld2 of 128-bit vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83468 91177308-0d34-0410-b5e6-96231b3b80d8 commit b67fb2b7be5c577e88578d240998a7ed3bf210db Author: Jim Grosbach <grosbach@apple.com> Date: Wed Oct 7 17:12:56 2009 +0000 Add register-reuse to frame-index register scavenging. When a target uses a virtual register to eliminate a frame index, it can return that register and the constant stored there to PEI to track. When scavenging to allocate for those registers, PEI then tracks the last-used register and value, and if it is still available and matches the value for the next index, reuses the existing value rather and removes the re-materialization instructions. Fancier tracking and adjustment of scavenger allocations to keep more values live for longer is possible, but not yet implemented and would likely be better done via a different, less special-purpose, approach to the problem. eliminateFrameIndex() is modified so the target implementations can return the registers they wish to be tracked for reuse. ARM Thumb1 implements and utilizes the new mechanism. All other targets are simply modified to adjust for the changed eliminateFrameIndex() prototype. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83467 91177308-0d34-0410-b5e6-96231b3b80d8 commit faad9ce705c2531b896c96c880137fdba93f96e6 Author: Devang Patel <dpatel@apple.com> Date: Wed Oct 7 16:37:55 2009 +0000 Do not assume that the module is set. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83462 91177308-0d34-0410-b5e6-96231b3b80d8 commit f57115c4bc5ab3acb1c2fafae53e340c9591a924 Author: Edwin Török <edwintorok@gmail.com> Date: Wed Oct 7 09:23:56 2009 +0000 Add a comment explaining how DenseMap::insert works, because it is not intuitive. It does NOT update the value if the key is already in the map, it also returns false if the key is already in the map, regardless if the value matched. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83458 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1d7579c137eb7b85a3e40f4b89c1d73c4d29dea3 Author: Edwin Török <edwintorok@gmail.com> Date: Wed Oct 7 09:22:55 2009 +0000 Add PR to this FIXME, looks like I didn't commit this change after all. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83457 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9657ce5edd48f028aa8f8e07ce043aad5dd24e6b Author: Duncan Sands <baldrick@free.fr> Date: Wed Oct 7 07:35:19 2009 +0000 Make getPointerTo return a const PointerType* rather than an unqualified PointerType* because it seems more correct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83454 91177308-0d34-0410-b5e6-96231b3b80d8 commit d1f241ac09c5f93dd0f967eeb75172b7ff27d874 Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 7 03:00:18 2009 +0000 INTRINSIC_W_CHAIN and INTRINSIC_VOID do not use MemSDNode. They may access memory, but they don't carry a MachineMemOperand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83449 91177308-0d34-0410-b5e6-96231b3b80d8 commit b656c2722d3d782e893fccb11f0be2c9fbf4b31a Author: Eric Christopher <echristo@apple.com> Date: Wed Oct 7 00:54:08 2009 +0000 Add FreeInst to the "is a call" check for Insts that are calls, but not intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83441 91177308-0d34-0410-b5e6-96231b3b80d8 commit e725a19617ce125a02ad9c96279a68fbb0459240 Author: Dan Gohman <gohman@apple.com> Date: Wed Oct 7 00:33:10 2009 +0000 Fix this comment. The loop header is the loop entry point. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83437 91177308-0d34-0410-b5e6-96231b3b80d8 commit f68604a29b3058546a6ec8d7f244523d59893a3b Author: Anton Korobeynikov <asl@math.spbu.ru> Date: Wed Oct 7 00:06:35 2009 +0000 Add PseudoSourceValues for constpool stuff on ELF (Darwin should use something similar) and register spills. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83435 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9081aa6d5f1ab9e2ec8d14ec71c5b2bc3bbbf9cb Author: Eric Christopher <echristo@apple.com> Date: Wed Oct 7 00:02:18 2009 +0000 While we still have a MallocInst treat it as a call like any other for inlining. When MallocInst goes away this code will be subsumed as part of calls and work just fine... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83434 91177308-0d34-0410-b5e6-96231b3b80d8 commit 91e27daccce0af4bff6f9299fa52c8cbbeab5ce1 Author: Kevin Enderby <enderby@apple.com> Date: Tue Oct 6 22:26:42 2009 +0000 Added bits of the ARM target assembler to llvm-mc to parse some load instruction operands. Some parsing of arm memory operands for preindexing and postindexing forms including with register controled shifts. This is a work in progress. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83424 91177308-0d34-0410-b5e6-96231b3b80d8 commit e9829cafca9811fa616f8046ce384b797814fa67 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Oct 6 22:01:59 2009 +0000 Add codegen support for NEON vld2 operations on quad registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83422 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3360945de1c4c74c224806f22405ad8081b29701 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Oct 6 22:01:15 2009 +0000 Use copyRegToReg hook to copy registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83421 91177308-0d34-0410-b5e6-96231b3b80d8 commit 233b35a9018db719a4538efa59b00ba8c7582688 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Oct 6 21:45:26 2009 +0000 r83391 was completely broken since Twines keep references to their inputs, and some of the inputs were temporaries. Here's a real fix for the miscompilation. Thanks to sabre for pointing out the problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83417 91177308-0d34-0410-b5e6-96231b3b80d8 commit fc6baa536fe873f258c8aef5cb170d1d4b67f0c4 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Oct 6 21:16:19 2009 +0000 Update NEON struct names to match llvm-gcc changes. (This is not required for correctness but might help with sanity.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83415 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3443c216b30567ecf229ce43fe31ecb60e5e7ed3 Author: Bob Wilson <bob.wilson@apple.com> Date: Tue Oct 6 20:18:46 2009 +0000 Fix a comment typo. Patch by Johnny Chen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83407 91177308-0d34-0410-b5e6-96231b3b80d8 commit 870fd046ae63c0ff664ba52054d8c6dd7debaf33 Author: Nicolas Geoffray <nicolas.geoffray@lip6.fr> Date: Tue Oct 6 19:55:53 2009 +0000 Bugfix for the CommaSeparated option. The original code was adding the whole string at the end of the list, instead of the last comma-separated string. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83405 91177308-0d34-0410-b5e6-96231b3b80d8 commit b814315fa8e7762d1d8ce33513e001f3df900245 Author: Ted Kremenek <kremenek@apple.com> Date: Tue Oct 6 19:45:38 2009 +0000 Update CMake file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83404 91177308-0d34-0410-b5e6-96231b3b80d8 commit abf70f8384290d8a2f26d494c27f20cefd1fed60 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Oct 6 19:06:16 2009 +0000 Fix illegal cross-type aliasing. Found by baldrick on a newer gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83401 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0feae424692b07197998bd7a451d8da44fd0ac9a Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 6 18:37:31 2009 +0000 Add support to handle debug info attached to an instruction. This is not yet enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83400 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4c45a0c48614b2387855cee4f1e3f99013344ecf Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 6 17:43:57 2009 +0000 Make LLVMContext's pImpl member const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83393 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5fda434b0d4932d63b21ce3b5dd72c18e855da26 Author: Dan Gohman <gohman@apple.com> Date: Tue Oct 6 17:38:38 2009 +0000 Instead of printing unnecessary basic block labels as labels in verbose-asm mode, print comments instead. This eliminates a non-comment difference between verbose-asm mode and non-verbose-asm mode. Also, factor out the relevant code out of all the targets and into target-independent code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83392 91177308-0d34-0410-b5e6-96231b3b80d8 commit c28187ff2fb70821affaa8b0a58b2a350af7b795 Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Oct 6 17:25:50 2009 +0000 Fix PR5112, a miscompilation on gcc-4.0.3. Patch by Collin Winter! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83391 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6f9e3d8c96438bfdc3953f3f85a44753e3bcf652 Author: Chris Lattner <sabre@nondot.org> Date: Tue Oct 6 16:59:46 2009 +0000 remove predicate simplifier, it never got the last bugs beaten out of it, and jump threading, condprop and gvn are now getting most of the benefit. This was approved by Nicholas and Nicolas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83390 91177308-0d34-0410-b5e6-96231b3b80d8 commit f4a940b7700547f0f96469c52d155d15c97306ac Author: Richard Osborne <richard@xmos.com> Date: Tue Oct 6 16:17:57 2009 +0000 Remove xs1b predicate since it is no longer needed to differentiate betweem xs1a and xs1b. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83383 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1163f506d4d4cf143812d4b729ab43524f043a66 Author: Richard Osborne <richard@xmos.com> Date: Tue Oct 6 16:01:09 2009 +0000 Remove xs1a subtarget. xs1a is a preproduction device used in early development boards which is no longer supported in the XMOS toolchain. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83381 91177308-0d34-0410-b5e6-96231b3b80d8 commit d90b176bd923fef57b155202ce529076f3b4c587 Author: Richard Osborne <richard@xmos.com> Date: Tue Oct 6 15:41:52 2009 +0000 Default to the xs1b subtarget git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83380 91177308-0d34-0410-b5e6-96231b3b80d8 commit f2519d6193d736ee7f2b9cc24e0143cfa933f79e Author: Duncan Sands <baldrick@free.fr> Date: Tue Oct 6 15:40:36 2009 +0000 Introduce and use convenience methods for getting pointer types where the element is of a basic builtin type. For example, to get an i8* use getInt8PtrTy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83379 91177308-0d34-0410-b5e6-96231b3b80d8 commit 33b6450f08ca9ef6306adbd8cdb24145bf9a2202 Author: Jim Grosbach <grosbach@apple.com> Date: Tue Oct 6 15:03:44 2009 +0000 grammar git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83378 91177308-0d34-0410-b5e6-96231b3b80d8 commit f434889fb46c722f22c99a827ccc026f6271e3cd Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 6 03:15:38 2009 +0000 Fix cut-n-pasto. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83367 91177308-0d34-0410-b5e6-96231b3b80d8 commit de8d48befd3a916c3389898c67a4f4adfa61fe78 Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 6 03:04:58 2009 +0000 Update processDebugLoc() to handle requests to process debug info, before and after emitting instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83364 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5450fc15cb5de674d4e5203ab9ace59d3d6c38e5 Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 6 02:19:11 2009 +0000 Update processDebugLoc() so that it can be used to process debug info before and after printing an instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83363 91177308-0d34-0410-b5e6-96231b3b80d8 commit ac35dcf9887f9e7883745876525c2a7dc39bf8d4 Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 6 02:01:32 2009 +0000 Remove dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83362 91177308-0d34-0410-b5e6-96231b3b80d8 commit 393a46deb66be6885fd064a38e650bed859af5a1 Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 6 01:50:42 2009 +0000 Add utility routine to set begin and end labels for DbgScopes. This will be used by processDebugLoc(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83361 91177308-0d34-0410-b5e6-96231b3b80d8 commit 77354f12a0fd1882f4ec787e0a4309c2aaeae819 Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 6 01:31:35 2009 +0000 Remove unintentional function decl. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83356 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8413999c15ade93fff73f9e43738f1dfd885ba70 Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 6 01:26:37 2009 +0000 Add utility routine to collect variable debug info. This is not yet used. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83355 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5d3b7ca3aa24f7b0f1edc18c8f72d9bf1a84169c Author: Jeffrey Yasskin <jyasskin@google.com> Date: Tue Oct 6 00:35:55 2009 +0000 Fix http://llvm.org/PR5116 by rolling back r60822. This passes `make unittests check-lit` on both x86-64 Linux and x86-32 Darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83353 91177308-0d34-0410-b5e6-96231b3b80d8 commit 93d2e89b3e82de8ab53b252b5f86de4e3b6980b6 Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 6 00:09:08 2009 +0000 Set default location for the function if it is not already set. This code is not yet enabled. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83349 91177308-0d34-0410-b5e6-96231b3b80d8 commit 95d477eff9aa5b68b022546565f0a41eee38cb89 Author: Devang Patel <dpatel@apple.com> Date: Tue Oct 6 00:03:14 2009 +0000 Existence of a compile unit for input source file is a good indicator to check debug info's presence in a module. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83348 91177308-0d34-0410-b5e6-96231b3b80d8 commit 186ee5cfbdf8c08394250e41d4bd6493999d56a1 Author: Devang Patel <dpatel@apple.com> Date: Mon Oct 5 23:59:00 2009 +0000 If subprogram die is not available then construct new one. This can happen if debug info is processed lazily. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83347 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8c62b1e8b968a5a02d52913d3f4957e7a307bd5e Author: Jeffrey Yasskin <jyasskin@google.com> Date: Mon Oct 5 23:51:08 2009 +0000 Add a test for http://llvm.org/PR3043. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83346 91177308-0d34-0410-b5e6-96231b3b80d8 commit 695c8b08cab0e2844ddc14e3e7f87916fd90fdc6 Author: Devang Patel <dpatel@apple.com> Date: Mon Oct 5 23:40:42 2009 +0000 Adjust context for the global variables that are not at file scope, e.g. void foo() { static int bar = 42; } Here, foo's DIE is parent of bar's DIE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83344 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6bd5cc8a280aee4124ba96c146ea9672ae8a9712 Author: Devang Patel <dpatel@apple.com> Date: Mon Oct 5 23:22:08 2009 +0000 Set address while constructing DIE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83343 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4b1adaa251c9e496d2e1be180dd83da49a001548 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Mon Oct 5 23:05:32 2009 +0000 CMake misses a check for sbrk on NetBSD. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83341 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2bffa8f29fe36f76343f7bf82beefa5ef505b3fe Author: Evan Phoenix <evan@fallingsnow.net> Date: Mon Oct 5 22:53:52 2009 +0000 Extend ConstantFolding to understand signed overflow variants git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83338 91177308-0d34-0410-b5e6-96231b3b80d8 commit adf4cf604eeca26d6a854945893fa6c264e02900 Author: Jim Grosbach <grosbach@apple.com> Date: Mon Oct 5 22:30:23 2009 +0000 In Thumb1, the register scavenger is not always able to use an emergency spill slot. When frame references are via the frame pointer, they will be negative, but Thumb1 load/store instructions only allow positive immediate offsets. Instead, Thumb1 will spill to R12. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83336 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1567166b9fe417a0656f9fcb2a18b35d915c34c3 Author: Evan Phoenix <evan@fallingsnow.net> Date: Mon Oct 5 22:29:11 2009 +0000 First test commit git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83334 91177308-0d34-0410-b5e6-96231b3b80d8 commit 72c9ef41f51bf3a71ce5d44001d944e4223679f3 Author: Edwin Török <edwintorok@gmail.com> Date: Mon Oct 5 21:15:43 2009 +0000 Don't treat malloc calls with non-matching prototype as malloc. Fixes second part of PR5130, miscompilation in FreeBSD kernel, where malloc takes 3 params, and *does* initialize memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83324 91177308-0d34-0410-b5e6-96231b3b80d8 commit ddaf8eb6dc30ea98c9f28eefa779a70d14114fd7 Author: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Mon Oct 5 18:43:19 2009 +0000 No newline at end of files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83318 91177308-0d34-0410-b5e6-96231b3b80d8 commit 946d0aef89afb5752d65e1900532c2afdc0cd700 Author: Devang Patel <dpatel@apple.com> Date: Mon Oct 5 18:03:19 2009 +0000 Gracefully handle various scopes while recording source line info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83317 91177308-0d34-0410-b5e6-96231b3b80d8 commit f49f7b0e07de54727532f40a75be162878b882c7 Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 5 16:36:26 2009 +0000 Remove an unnnecessary LLVMContext argument in ConstantFoldLoadThroughGEPConstantExpr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83311 91177308-0d34-0410-b5e6-96231b3b80d8 commit 3af2d41b3ea4d448dffb3761ea0339e7025ec447 Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 5 16:31:55 2009 +0000 Use Use::operator= instead of Use::set, for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83310 91177308-0d34-0410-b5e6-96231b3b80d8 commit 6421f8134ceb2bb306e98dda770afc317fcbff42 Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 5 15:52:08 2009 +0000 Remove explicit enum integer values. They don't appear to be needed, and they make it less convenient to add new entries. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83308 91177308-0d34-0410-b5e6-96231b3b80d8 commit a93849c7f7d379b51fa23747f75afa5252fe3eae Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 5 15:42:08 2009 +0000 Add RIP to GR64_NOREX. This fixed a MachineVerifier error when RIP is used in an operand which requires GR64_NOREX. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83307 91177308-0d34-0410-b5e6-96231b3b80d8 commit 290c17ca7b6f528a6780647273e9b9169a58d9eb Author: Dan Gohman <gohman@apple.com> Date: Mon Oct 5 15:23:17 2009 +0000 Fix a name in a comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83306 91177308-0d34-0410-b5e6-96231b3b80d8 commit 807767e1e711d943b51e579413858adbbc6e9807 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 5 07:07:29 2009 +0000 callgraph changes came after the 2.6 branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83299 91177308-0d34-0410-b5e6-96231b3b80d8 commit 82cdc06a6626e9a9fae300fafaeae9702ffb3808 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 5 05:54:46 2009 +0000 strength reduce a ton of type equality tests to check the typeid (Through the new predicates I added) instead of going through a context and doing a pointer comparison. Besides being cheaper, this allows a smart compiler to turn the if sequence into a switch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83297 91177308-0d34-0410-b5e6-96231b3b80d8 commit 4509b017dfea39a23da470417d3abbeab298b79f Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 5 05:48:40 2009 +0000 add more type predicates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83296 91177308-0d34-0410-b5e6-96231b3b80d8 commit 2825098ca09e0a7a620fafe8fe422071c1ff3291 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 5 05:26:04 2009 +0000 teach the optimizer how to constant fold uadd/usub intrinsics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83295 91177308-0d34-0410-b5e6-96231b3b80d8 commit cc5e4678c9bc6558c66c0e42cc61b14ce68cc984 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 5 05:06:24 2009 +0000 simplify this code a bunch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83294 91177308-0d34-0410-b5e6-96231b3b80d8 commit db63a6816974cca1962bce6a84d5baa7b51cdd1e Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 5 05:05:57 2009 +0000 add some helper functions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83293 91177308-0d34-0410-b5e6-96231b3b80d8 commit 5fd5ce6e5f28b20073b61cfcaa684418bda852ae Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 5 05:00:35 2009 +0000 code simplifications. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83292 91177308-0d34-0410-b5e6-96231b3b80d8 commit f68c8b637b794fc2a98b75b41077ae21901243cc Author: Evan Cheng <evan.cheng@apple.com> Date: Mon Oct 5 02:51:06 2009 +0000 Move implicit and paralle to a separate codegen specific section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83291 91177308-0d34-0410-b5e6-96231b3b80d8 commit 95ac4ebe1d2951233c5e2dad1e9873258b890f3f Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 5 02:47:47 2009 +0000 instcombine shouldn't delete all null checks for mallocs. This fixes PR5130. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83290 91177308-0d34-0410-b5e6-96231b3b80d8 commit d511acce19f3f29ab933a90e0f1972d31685fd40 Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 5 02:35:05 2009 +0000 stop MachineFunctionPass from claiming that it preserves LoopDependence info, which causes dependence info to be linked into lli. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83289 91177308-0d34-0410-b5e6-96231b3b80d8 commit afb1c45acace0b0f6fe0aaae1cf08ac6ad93091a Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 5 02:29:51 2009 +0000 remove llvm-db: it is completely broken and if anyone wants to do a debugger, they should not base it on llvm-db (which not following almost any "best practices"). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83288 91177308-0d34-0410-b5e6-96231b3b80d8 commit b2d434792c8ef1d97da45acc4266b873c71b837e Author: Chris Lattner <sabre@nondot.org> Date: Mon Oct 5 02:12:39 2009 +0000 add some completely unformated and probably incoherent notes about things I saw while reading all the commits between the 2.5 and 2.6 release branches. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83287 91177308-0d34-0410-b5e6-96231b3b80d8 commit fa289966b6b7ae54a3c17822f5155d0588783342 Author: Owen Anderson <resistor@mac.com> Date: Sun Oct 4 18:49:55 2009 +0000 Do away with the strange use of BitVectors in SSI, and just use normal sets. This makes the code much more C++/LLVM-ish. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83286 91177308-0d34-0410-b5e6-96231b3b80d8 commit cc0aeb29f77c1d84341f2843edf6c0f78642f125 Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Sun Oct 4 18:18:39 2009 +0000 Whitespace and formatting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83285 91177308-0d34-0410-b5e6-96231b3b80d8 commit 20bf333554b755a1f1633e0ee0517ac6ec7ca5fa Author: Jakob Stoklund Olesen <stoklund@2pi.dk> Date: Sun Oct 4 17:54:36 2009 +0000 Remove trailing whitespace from build output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83284 91177308-0d34-0410-b5e6-96231b3b80d8 commit 11a021db1a24a060fbd14a383a0da3cb7ec439eb Author: Owen Anderson <resistor@mac.com> Date: Sun Oct 4 17:52:13 2009 +0000 Fix a typo in the comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83283 91177308-0d34-0410-b5e6-96231b3b80d8 commit de650865a291a022b69a1b2b9e6e554073915e5b Author: Owen Anderson <resistor@mac.com> Date: Sun Oct 4 17:47:39 2009 +0000 SSI needs to require DT and DF transitively, since it uses them outside of its runOnFunction. Similarly, it can be marked setPreservesAll, since it does no work in its runOnFunction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83282 91177308-0d34-0410-b5e6-96231b3b80d8 commit 85cf4cfee00f555cc782773fe9c1241b038a24cd Author: Oscar Fuentes <ofv@wanadoo.es> Date: Sun Oct 4 06:24:57 2009 +0000 CMake: remove .so file extension from library names when building dependency info. Patch by Peter Collingbourne! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83275 91177308-0d34-0410-b5e6-96231b3b80d8 commit 9c46ca5cfeec9bc6fe2d8ddc14dfefa66151189c Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Oct 4 06:13:54 2009 +0000 Allow -inline-threshold override default threshold even if compiling to optimize for size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83274 91177308-0d34-0410-b5e6-96231b3b80d8 commit 763375a457d612e0300d71f78850f9bcf6e14650 Author: Evan Cheng <evan.cheng@apple.com> Date: Sun Oct 4 05:25:42 2009 +0000 Rename enum NumOccurrences to NumOccurrencesFlag since there is a member named NumOccurrences. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83273 91177308-0d34-0410-b5e6-96231b3b80d8 commit 1ec15365c18c2cd9a5f73ec27e356dcbcfb7212f Author: Nick Lewycky <nicholas@mxc.ca> Date: Sat Oct 3 19:30:43 2009 +0000 Requires element types in a constant initializer to match the element types of of the constant. This reverts r6544 and r7428. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83270 91177308-0d34-0410-b5e6-96231b3b80d8 commit 8af7b535e3d97a9edb29b0ce3e6c4a4529b081a8 Author: Bob Wilson <bob.wilson@apple.com> Date: Sat Oct 3 04:44:16 2009 +0000 Add a comment to describe letters used in multiclass name suffixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83257 91177308-0d34-0410-b5e6-96231b3b80d8 commit 64c60918f15571fbb4dabdfa074c2bcdc0b9296d Author: Bob Wilson <bob.wilson@apple.com> Date: Sat Oct 3 04:41:21 2009 +0000 Fix encoding problem for VMLS instruction. Thanks to Johnny Chen for pointing this out! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83256 91177308-0d34-0410-b5e6-96231b3b80d8 commit ead9d35fa9885422f4d1168f9261c63e194b21ff Author: Lang Hames <lhames@gmail.com> Date: Sat Oct 3 04:31:31 2009 +0000 Oops. Renamed remaining MachineInstrIndex references. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83255 91177308-0d34-0410-b5e6-96231b3b80d8 commit 0a6f4525040fd90996d1391cef8b24284b817ed3 Author: Lang Hames <lhames@gmail.com> Date: Sat Oct 3 04:21:37 2009 +0000 Renamed MachineInstrIndex to LiveIndex. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83254 91177308-0d34-0410-b5e6-96231b3b80d8 commit c4ab6051f82185a6cbb90a9269924510c4ee1064 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Fri Oct 2 19:52:33 2009 +0000 Try to fix unit test linking on linux ... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83252 91177308-0d34-0410-b5e6-96231b3b80d8 commit 56656b73ef40540b43ebb537846f1ab09b7bcb3b Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Fri Oct 2 19:36:31 2009 +0000 MingW build fixes - MingW needs -lpsapi (in ${LIBS}) linked after -lLLVMSystem. Noticed by Ronald Pijnacker! - Some parts of the System library must be build with exceptions on windows. Based on a patch by Jay Foad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83251 91177308-0d34-0410-b5e6-96231b3b80d8 commit e3901ce4809ad26b8173855549cc5adbe7b29b56 Author: Benjamin Kramer <benny.kra@googlemail.com> Date: Fri Oct 2 15:59:52 2009 +0000 Fix a use-after-free in post-ra-scheduling. MI->addOperand invalidates references to it's operands, avoid touching the operand after a new one was added. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83249 91177308-0d34-0410-b5e6-96231b3b80d8 commit 30aa6a6b4bc96797d71e8c3cd542973a198124b5 Author: Edwin Török <edwintorok@gmail.com> Date: Fri Oct 2 09:30:03 2009 +0000 Fix make rule when objdir is inside srcdir. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83243 91177308-0d34-0410-b5e6-96231b3b80d8 |