summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* SRA promotion is also not free.Evan Cheng2010-04-271-3/+2
| | | | llvm-svn: 102456
* - When legal, promote a load to zextload rather than ext load.Evan Cheng2010-04-271-6/+20
| | | | | | - Catch more further dag combine opportunities as result of operand promotion, e.g. (i32 anyext (i16 trunc (i32 x))) -> (i32 x) llvm-svn: 102455
* Identify when a lexical scope is split in to multiple instruction ranges. ↵Devang Patel2010-04-272-214/+350
| | | | | | | | Emit such ranges using DW_AT_ranges. This patch fixes bug (PR6894) introduced by previous version of this patch. llvm-svn: 102454
* Do not count kill, implicit_def instructions as printed instructions.Evan Cheng2010-04-271-4/+4
| | | | llvm-svn: 102453
* round zero-byte .zerofill directives up to 1 byte. ThisChris Lattner2010-04-271-0/+2
| | | | | | | should fix some "g++.dg-struct-layout-1" failures, rdar://7886017 llvm-svn: 102421
* Revert a small part of 102372; this fixes at least oneDale Johannesen2010-04-271-0/+5
| | | | | | | | of the dbg testsuite regressions. I don't think this is really the right fix; this change exposed an existing problem upstream somewhere. llvm-svn: 102410
* Fix a problem that lower invoke has with allocas (PR6694), and Chris Lattner2010-04-261-10/+38
| | | | | | | | | add a version of createLowerInvokePass that allows the client to specify whether it wants "expensive" or "cheap" lowering. Patch by Alex Mac! llvm-svn: 102402
* add a comment in verbose-asm mode indicating why a noop is being generated.Chris Lattner2010-04-261-2/+3
| | | | llvm-svn: 102401
* on darwin empty functions need to codegen into something of non-zero length,Chris Lattner2010-04-263-3/+18
| | | | | | | | | | | otherwise labels get incorrectly merged. We handled this by emitting a ".byte 0", but this isn't correct on thumb/arm targets where the text segment needs to be a multiple of 2/4 bytes. Handle this by emitting a noop. This is more gross than it should be because arm/ppc are not fully mc'ized yet. This fixes rdar://7908505 llvm-svn: 102400
* Handle register-to-register copies within the tGPR class.Bob Wilson2010-04-261-12/+16
| | | | | | Radar 7896289 llvm-svn: 102396
* Avoid adding a null MD node operand, which crashes with "-debug" when tryingBob Wilson2010-04-261-1/+2
| | | | | | to print the operand. llvm-svn: 102395
* Use DW_AT_entry_pc instead of DW_AT_low_pc/DW_AT_high_pc pair. This ↵Devang Patel2010-04-261-3/+3
| | | | | | simplifies debug range entries. llvm-svn: 102394
* When checking whether the special handling for an addrec increment whichDan Gohman2010-04-262-3/+2
| | | | | | | | | doesn't dominate the header is needed, don't check whether the increment expression has computable loop evolution. While the operands of an addrec are required to be loop-invariant, they're not required to dominate any part of the loop. This fixes PR6914. llvm-svn: 102389
* Remove crufty comments.Dale Johannesen2010-04-261-5/+0
| | | | llvm-svn: 102380
* Handle target-specific form of DBG_VALUE in AsmPrinter.Dale Johannesen2010-04-261-0/+19
| | | | llvm-svn: 102373
* Add DBG_VALUE handling for byval parameters; thisDale Johannesen2010-04-263-27/+84
| | | | | | | produces a comment on targets that support it, but the Dwarf writer is not hooked up yet. llvm-svn: 102372
* Add PPC AsmPrinter handling for target-specific form ofDale Johannesen2010-04-261-0/+18
| | | | | | DBG_VALUE, and a cautionary comment. llvm-svn: 102371
* Insert dbg_value instructions for function entry block liveins (i.e. ↵Evan Cheng2010-04-261-1/+30
| | | | | | function arguments). llvm-svn: 102368
* Promoting 16-bit cmp / test aren't free. Don't do it.Evan Cheng2010-04-262-49/+8
| | | | llvm-svn: 102366
* fix PR6921 a different way. Intead of increasing theChris Lattner2010-04-261-1/+9
| | | | | | | | alignment of globals with a specified alignment, we fix common variables to obey their alignment. Add a comment explaining why this behavior is important. llvm-svn: 102365
* Re-enable 102323 with fix: do not update dbg_value's with incorrect frame ↵Evan Cheng2010-04-261-20/+17
| | | | | | indices when the live interval are being re-materialized. llvm-svn: 102361
* Revert r102300/102301, which serious broke objc apps.Chris Lattner2010-04-261-3/+3
| | | | llvm-svn: 102359
* fix PR6940: sitofp(undef) folds to 0.0, not undef.Chris Lattner2010-04-261-0/+2
| | | | llvm-svn: 102358
* Update MachineSSAUpdater with the same changes I made for the IR-levelBob Wilson2010-04-261-122/+428
| | | | | | | SSAUpdater. I'm going to try to refactor this to share most of the code between them. llvm-svn: 102353
* Temporary disable spiller modifying dbg_value. It's breaking build.Evan Cheng2010-04-261-0/+5
| | | | llvm-svn: 102327
* Remove a redundant comment.Evan Cheng2010-04-261-1/+0
| | | | llvm-svn: 102326
* Add PPC specific emitFrameIndexDebugValue.Evan Cheng2010-04-262-0/+16
| | | | llvm-svn: 102325
* Add ARM specific emitFrameIndexDebugValue.Evan Cheng2010-04-263-0/+23
| | | | llvm-svn: 102324
* - Move TargetLowering::EmitTargetCodeForFrameDebugValue to TargetInstrInfo ↵Evan Cheng2010-04-268-37/+55
| | | | | | | | and rename it to emitFrameIndexDebugValue. - Teach spiller to modify DBG_VALUE instructions to reference spill slots. llvm-svn: 102323
* Stop abusing EmitInstrWithCustomInserter for target-dependentDale Johannesen2010-04-253-24/+26
| | | | | | | | form of DEBUG_VALUE, as it doesn't have reasonable default behavior for unsupported targets. Add a new hook instead. No functional change. llvm-svn: 102320
* Add comment re byval args. Doesn't actually work this way yet.Dale Johannesen2010-04-251-1/+3
| | | | | | xs llvm-svn: 102316
* Fix PR6921: globals were not getting correctly rounded up to theirChris Lattner2010-04-251-3/+3
| | | | | | | preferred alignment unless they were common or some other special case. llvm-svn: 102300
* silence a warning, patch by "mike".Chris Lattner2010-04-251-1/+1
| | | | llvm-svn: 102297
* remove #if 1's.Chris Lattner2010-04-251-2/+0
| | | | llvm-svn: 102296
* Avoid promoting a i16 node if it would eliminate a (store (op (load))) ↵Evan Cheng2010-04-241-5/+12
| | | | | | opportunity. llvm-svn: 102237
* When a load operand is promoted to an extload, replace other uses with uses ↵Evan Cheng2010-04-241-30/+67
| | | | | | of extload result truncated. llvm-svn: 102236
* Generalize LSR's OptimizeMax to handle the new kinds of max expressionsDan Gohman2010-04-241-10/+43
| | | | | | that indvars may use, now that indvars is recognizing le and ge loops. llvm-svn: 102235
* ScalarEvolution support for <= and >= loops.Dan Gohman2010-04-241-20/+107
| | | | | | | Also, generalize ScalarEvolutions's min and max recognition to handle some new forms of min and max that this change makes more common. llvm-svn: 102234
* Use SimplifyICmpOperands in isKnownPredicate too.Dan Gohman2010-04-241-0/+3
| | | | llvm-svn: 102233
* Update isImpliedCond to use the new SimplifyICmpOperands utility.Dan Gohman2010-04-241-111/+6
| | | | llvm-svn: 102232
* Add a new utility function SimplifyICmpOperands. Much of this code isDan Gohman2010-04-241-0/+198
| | | | | | | refactored out of ScalarEvolution::isImpliedCond, which will be updated to use this new utility routine soon. llvm-svn: 102229
* Apply a fix for a vector setcc dagcombine from Jan Sjodin. NoDan Gohman2010-04-241-1/+2
| | | | | | testcase yet, as the testcase now fails downstream. llvm-svn: 102228
* enable my inliner change: add newly devirtualized call sites toChris Lattner2010-04-231-1/+1
| | | | | | the worklist, making them inline candidates. llvm-svn: 102213
* Change TargetData's algorithm for computing defualt vector typeDan Gohman2010-04-231-16/+11
| | | | | | | alignment to match what's used in clang and GCC for __alignof, rather than trying to guess what Legalize is going to be doing. llvm-svn: 102206
* Code refactoring.Evan Cheng2010-04-231-11/+12
| | | | llvm-svn: 102202
* Add some missing x86 patterns for movdq2q. Fixes two (LLVM-)GCC DejaGNU ↵Stuart Hastings2010-04-231-0/+11
| | | | | | testcases. Radar 6881029. llvm-svn: 102199
* switch InlineInfo.DevirtualizedCalls's list to be of WeakVH.Chris Lattner2010-04-232-3/+5
| | | | | | | | | This fixes a bug where calls inlined into an invoke would get changed into an invoke but the array would keep pointing to the (now dead) call. The improved inliner behavior is still disabled for now. llvm-svn: 102196
* fix callgraph dump to not print 0x0x1234 for nodes.Chris Lattner2010-04-231-6/+8
| | | | | | | | | | | | | | | | Add the instruction pointer value for debuggability. We now get dump output that looks like this: Call graph node for function: 'f1'<<0x1017086b0>> #uses=1 CS<0x1017046f8> calls external node Call graph node for function: '_ZNSt6vectorIdSaIdEEC1EmRKdRKS0_'<<0x1017086f0>> #uses=1 CS<0x0> calls external node Call graph node for function: 'f4'<<0x1017087a0>> #uses=1 CS<0x101708c88> calls function 'f3' llvm-svn: 102194
* Fix X86ISD::CMP i16 to i32 promotion.Evan Cheng2010-04-232-13/+48
| | | | llvm-svn: 102192
* Move FastISel's HandlePHINodesInSuccessorBlocks call down into FastISelDan Gohman2010-04-232-14/+6
| | | | | | itself too. llvm-svn: 102176
OpenPOWER on IntegriCloud