| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Make sure the alignment of the temporary created | Duncan Sands | 2008-07-10 | 1 | -2/+6 |
| | | | | | | | | in CreateStackStoreLoad is good enough for both the source and destination types. llvm-svn: 53404 | ||||
| * | Make the LegalizeType method naming scheme more regular. | Duncan Sands | 2008-07-10 | 5 | -49/+43 |
| | | | | | llvm-svn: 53403 | ||||
| * | Don't barf when dumping a constant that contains | Duncan Sands | 2008-07-10 | 1 | -1/+1 |
| | | | | | | | a ginormous value (eg: i128 -1). llvm-svn: 53402 | ||||
| * | Restructure dead argument elimination, try #3 :-) | Matthijs Kooijman | 2008-07-10 | 1 | -381/+551 |
| | | | | | | | | | | | | | | | | | | Rewrite the DeadArgumentElimination pass, to use a more explicit tracking of dependencies between return values and/or arguments. Also make the handling of arguments and return values the same. The pass now looks properly inside returned structs, but only at the first level (ie, not inside nested structs). This version fixed a few more bugs and was cleaned up a bit. It now passes all of LLVM's testing, and should still pass SPEC2006. There is still a minor bug with regard to returning nested structs. Since there is currently nothing that emits such IR, I will fix that in a seperate commit (partly because it requires a non-trivial fix). llvm-svn: 53400 | ||||
| * | - Change the horrible N^2 isRegReDefinedByTwoAddr. Now callers must supply ↵ | Evan Cheng | 2008-07-10 | 3 | -32/+19 |
| | | | | | | | | | the operand index of def machineoperand and at most one full scan of non-implicit operands is needed. - Change local register allocator to use the new isRegReDefinedByTwoAddr instead of reinventing the wheel. llvm-svn: 53394 | ||||
| * | Fix overzealous optimization. Thanks to Duncan Sands for pointing out my error! | Nick Lewycky | 2008-07-10 | 1 | -4/+9 |
| | | | | | llvm-svn: 53393 | ||||
| * | Use DenseMap instead of std::map in local register allocation. This ↵ | Owen Anderson | 2008-07-10 | 1 | -3/+16 |
| | | | | | | | improves the time on instcombine from .31s to .22s llvm-svn: 53390 | ||||
| * | Fix 403.gcc. Finally got the check for two-address-ness correct. | Owen Anderson | 2008-07-10 | 1 | -10/+14 |
| | | | | | llvm-svn: 53389 | ||||
| * | Fix the build by adding a #include. | Owen Anderson | 2008-07-10 | 1 | -0/+1 |
| | | | | | llvm-svn: 53388 | ||||
| * | The source and dest of an alias are *not* required to have the same type, | Chris Lattner | 2008-07-10 | 1 | -9/+3 |
| | | | | | | | though that would be nice and make sense :). Patch by Nathan Keynes! llvm-svn: 53387 | ||||
| * | Fix for PR2472. Use movss to set lower 32-bits of a zero XMM vector. | Evan Cheng | 2008-07-10 | 1 | -0/+2 |
| | | | | | llvm-svn: 53386 | ||||
| * | open plugins with RTLD_GLOBAL, pointed out by Bram Adams. | Chris Lattner | 2008-07-10 | 1 | -1/+1 |
| | | | | | llvm-svn: 53385 | ||||
| * | SImplify ConstantVector::get a bit and make it turn a vector | Chris Lattner | 2008-07-10 | 1 | -8/+18 |
| | | | | | | | of all undefs into a single undef value. llvm-svn: 53384 | ||||
| * | Fix a case where vector comparison constant folding would cause an | Chris Lattner | 2008-07-10 | 1 | -33/+33 |
| | | | | | | | infinite recursion. part of PR2529 llvm-svn: 53383 | ||||
| * | add a helper method for code that wants to handle vector | Chris Lattner | 2008-07-10 | 1 | -0/+25 |
| | | | | | | | constants by element without caring how they are formed. llvm-svn: 53381 | ||||
| * | elementwise comparison of vector constants was completely wrong. Fix | Chris Lattner | 2008-07-10 | 1 | -19/+32 |
| | | | | | | | it for PR2529 llvm-svn: 53380 | ||||
| * | - Replace use of std::map<std::string, ..> with StringMap. Replace use of ↵ | Evan Cheng | 2008-07-10 | 1 | -27/+28 |
| | | | | | | | | | std::map with DenseMap, std::set with SmallPtrSet. This results in minor speed up. - Some code clean up. llvm-svn: 53379 | ||||
| * | Revert r53367, which was breaking things. | Owen Anderson | 2008-07-09 | 1 | -1/+3 |
| | | | | | llvm-svn: 53378 | ||||
| * | Simplify hasNUsesOfValue and hasAnyUsesOfValue even more. This | Dan Gohman | 2008-07-09 | 1 | -14/+2 |
| | | | | | | | | | | | | makes their special-case checks of use_size() less beneficial, so remove them. This eliminates all but one use of use_size(), which is in AssignTopologicalOrder, which uses it only once for each node, and so can reasonably afford to recompute it, as this allows the UsesSize field of SDNode to be removed altogether. llvm-svn: 53377 | ||||
| * | hasAnyUseOfValue can check SDUse nodes of its users directly instead | Dan Gohman | 2008-07-09 | 1 | -13/+3 |
| | | | | | | | of examining every operand of every user. llvm-svn: 53374 | ||||
| * | Move MemoryVT out of LSBaseNode into MemSDNode, allowing the | Dan Gohman | 2008-07-09 | 1 | -28/+16 |
| | | | | | | | | getMemOperand function to be moved into the base class as well and made non-virtual. llvm-svn: 53372 | ||||
| * | Remove a FIXME: we really need to use const_data section on darwin for | Anton Korobeynikov | 2008-07-09 | 1 | -3/+4 |
| | | | | | | | | constant pool, if relocation model is not static. This directly maps to the way how GCC works. llvm-svn: 53370 | ||||
| * | Avoid creating expensive comment string if it's not going to be printed. | Evan Cheng | 2008-07-09 | 1 | -1/+4 |
| | | | | | llvm-svn: 53369 | ||||
| * | Add FIXME for future checking. | Anton Korobeynikov | 2008-07-09 | 1 | -0/+2 |
| | | | | | llvm-svn: 53368 | ||||
| * | Loosen our check here. Local regalloc only cares that the reg is used and ↵ | Owen Anderson | 2008-07-09 | 1 | -3/+1 |
| | | | | | | | | | def'd by the same instruction, but about the details of the relationship. llvm-svn: 53367 | ||||
| * | Remove extra call to DW.SetModuleInfo on Linux. | Dale Johannesen | 2008-07-09 | 1 | -1/+0 |
| | | | | | llvm-svn: 53365 | ||||
| * | Emit debug info for data-only files on Cell SPU. | Dale Johannesen | 2008-07-09 | 1 | -3/+5 |
| | | | | | | | I cannot test this target, let me know if it breaks! llvm-svn: 53363 | ||||
| * | Emit debug into for data-only files for Linux PPC. | Dale Johannesen | 2008-07-09 | 1 | -3/+10 |
| | | | | | | | I cannot test this target, let me know if it breaks! llvm-svn: 53362 | ||||
| * | Move the IsVolatile and SVOffset fields into the MemSDNode base | Dan Gohman | 2008-07-09 | 1 | -0/+11 |
| | | | | | | | | | | | class, and store IsVolatile and Alignment in a more compact form. This makes AtomicSDNode slightly larger, but it shrinks LoadSDNode and StoreSDNode, which are much more common and are the largest of the SDNode subclasses. Also, this lets the isVolatile() and getAlignment() accessors be non-virtual. llvm-svn: 53361 | ||||
| * | Emit debug info for data-only files. ARM version. | Dale Johannesen | 2008-07-09 | 1 | -3/+8 |
| | | | | | llvm-svn: 53360 | ||||
| * | Don't use an expensive check for two-address-ness when we have the ↵ | Owen Anderson | 2008-07-09 | 1 | -2/+13 |
| | | | | | | | | | information sitting around to determine it much more quickly, This speeds up the local register allocator from 0.37s to 0.31s on instcombine. llvm-svn: 53359 | ||||
| * | Emit debug info for data-only files. This version | Dale Johannesen | 2008-07-09 | 1 | -7/+8 |
| | | | | | | | is X86 ATT only. llvm-svn: 53355 | ||||
| * | Add missed section | Anton Korobeynikov | 2008-07-09 | 1 | -0/+1 |
| | | | | | llvm-svn: 53354 | ||||
| * | Emit debug info for data-only files. This version | Dale Johannesen | 2008-07-09 | 1 | -5/+9 |
| | | | | | | | applies to ppc Darwin only. llvm-svn: 53353 | ||||
| * | Factor local liveness computation out into its own function. | Owen Anderson | 2008-07-09 | 1 | -28/+36 |
| | | | | | llvm-svn: 53352 | ||||
| * | Reuse the MO variable instead of recomputing it in RegAllocLocal. | Dan Gohman | 2008-07-09 | 2 | -9/+9 |
| | | | | | | | Keep RegAllocSimple in sync. llvm-svn: 53351 | ||||
| * | Distinguish .const and .const_data on Darwin, when needed. This is somehow ↵ | Anton Korobeynikov | 2008-07-09 | 1 | -1/+3 |
| | | | | | | | crazy :) llvm-svn: 53350 | ||||
| * | Give RegAllocSimple a TargetInstrInfo member to keep it consistent | Dan Gohman | 2008-07-09 | 1 | -2/+2 |
| | | | | | | | with RegAllocLocal. llvm-svn: 53347 | ||||
| * | RegAllocLocal has a TargetInstrInfo data member. Use it instead | Dan Gohman | 2008-07-09 | 1 | -5/+1 |
| | | | | | | | of having local variables duplicate it. llvm-svn: 53346 | ||||
| * | Use find with std::map, when that's what's needed, instead of lower_bound | Dan Gohman | 2008-07-09 | 2 | -5/+4 |
| | | | | | | | with extra checks. llvm-svn: 53344 | ||||
| * | Weak stuff always goes to coalesced sections on Darwin | Anton Korobeynikov | 2008-07-09 | 1 | -2/+6 |
| | | | | | llvm-svn: 53340 | ||||
| * | Remove #include <iostream>. | Dan Gohman | 2008-07-09 | 1 | -2/+0 |
| | | | | | llvm-svn: 53333 | ||||
| * | Add FIXME needed to be resolved later | Anton Korobeynikov | 2008-07-09 | 1 | -0/+1 |
| | | | | | llvm-svn: 53324 | ||||
| * | Use only 'subset' of flags | Anton Korobeynikov | 2008-07-09 | 1 | -11/+3 |
| | | | | | llvm-svn: 53323 | ||||
| * | Typo | Anton Korobeynikov | 2008-07-09 | 1 | -1/+1 |
| | | | | | llvm-svn: 53322 | ||||
| * | Revert accidentially added stuff | Anton Korobeynikov | 2008-07-09 | 1 | -2/+1 |
| | | | | | llvm-svn: 53321 | ||||
| * | First sketch of special section objects | Anton Korobeynikov | 2008-07-09 | 3 | -193/+168 |
| | | | | | llvm-svn: 53320 | ||||
| * | Honour text sections | Anton Korobeynikov | 2008-07-09 | 2 | -2/+3 |
| | | | | | llvm-svn: 53319 | ||||
| * | Use isWeakForLinker() hook | Anton Korobeynikov | 2008-07-09 | 3 | -18/+6 |
| | | | | | llvm-svn: 53318 | ||||
| * | Switch to new section name handling facility | Anton Korobeynikov | 2008-07-09 | 3 | -106/+18 |
| | | | | | llvm-svn: 53316 | ||||

