summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Refactor.Devang Patel2010-04-292-4/+13
| | | | llvm-svn: 102661
* Make naked functions work on PPC.Dale Johannesen2010-04-292-1/+11
| | | | llvm-svn: 102657
* Print variable scope name in DEBUG_VALUE comment. Useful in some cases. e.g.Devang Patel2010-04-292-0/+4
| | | | | | | | | | ##DEBUG_VALUE: runOnMachineFunction:this <- RDI+0 ##DEBUG_VALUE: runOnMachineFunction:fn <- RSI+0 ##DEBUG_VALUE: DeadDefs <- undef ## SimpleRegisterCoalescing.cpp:2706 ##DEBUG_VALUE: getRegInfo:this <- [%rsp+$56]+$0 ##DEBUG_VALUE: getTarget:this <- [%rsp+$56]+$0 llvm-svn: 102655
* Remove DBG_VALUE which reference dead stack slots.Evan Cheng2010-04-291-2/+19
| | | | llvm-svn: 102654
* DO not push DBG_VALUE machine instructions for inlined fuction arguments in ↵Devang Patel2010-04-291-0/+7
| | | | | | entry block. llvm-svn: 102653
* Verify metadata harder. In particular, check that moduleDuncan Sands2010-04-291-39/+60
| | | | | | | level metadata does not have any function local operands. This would have caught the problem found in PR6112. llvm-svn: 102620
* Add comment.Evan Cheng2010-04-291-0/+2
| | | | llvm-svn: 102606
* Re-enable 102565 with fixes.Evan Cheng2010-04-292-14/+8
| | | | llvm-svn: 102602
* Load folding tail call should not use ebp / rbp after it's popped. PEIEvan Cheng2010-04-291-5/+15
| | | | | | should use esp / rsp to reference frame instead. llvm-svn: 102596
* Add support for assemblers that don't support periods in a nameMon P Wang2010-04-292-5/+9
| | | | llvm-svn: 102594
* Temporarily disable my changes to unbreak the build.Evan Cheng2010-04-292-0/+8
| | | | llvm-svn: 102590
* Do not generate duplicate dbg_value instructions for function arguments.Evan Cheng2010-04-292-9/+11
| | | | llvm-svn: 102585
* Fix missing #include.Dan Gohman2010-04-291-0/+1
| | | | llvm-svn: 102584
* Avoid emitting a dbg_value machineinstr that's not going to be inserted into ↵Evan Cheng2010-04-292-2/+2
| | | | | | entry block. llvm-svn: 102581
* Frame index can be negative.Evan Cheng2010-04-296-6/+6
| | | | llvm-svn: 102577
* Check Reg against zero.Evan Cheng2010-04-292-1/+3
| | | | llvm-svn: 102573
* - Really preserve dbg_value instructions when the register is spilled.Evan Cheng2010-04-281-2/+3
| | | | | | - Also, update dbg_value is the value is being re-matted from a frame slot, e.g. fixed slots for arguments. llvm-svn: 102565
* tidy up.Devang Patel2010-04-281-8/+2
| | | | llvm-svn: 102558
* Fixed the word sized Bit Scan Forward/Reverse instructions, they needed the Kevin Enderby2010-04-281-4/+6
| | | | | | Operand size override prefix to be part of their records. llvm-svn: 102556
* Replace r102368 with code that's less fragile. This creates DBG_VALUE ↵Evan Cheng2010-04-286-33/+77
| | | | | | instructions for function arguments early and insert them after instruction selection is done. llvm-svn: 102554
* Add sizes non-floating point versions for the eh sjlj intrinsic expansions.Jim Grosbach2010-04-281-1/+2
| | | | | | rdar://7895451 llvm-svn: 102526
* fix PR6112 - When globalopt (or any other pass) does RAUW(@G, %G), Chris Lattner2010-04-281-2/+15
| | | | | | | metadata references in non-function-local MDNodes should drop to null. llvm-svn: 102519
* Pretty print DBG_VALUE machine instructions.Evan Cheng2010-04-281-1/+9
| | | | | | | | | Before: DBG_VALUE %RSI, 0, !-1; dbg:SimpleRegisterCoalescing.cpp:2707 Now: DBG_VALUE %RSI, 0, !"this"; dbg:SimpleRegisterCoalescing.cpp:2707 llvm-svn: 102518
* Rework global alignment computation again. Now we do round upChris Lattner2010-04-281-19/+37
| | | | | | | | alignment of globals to the preferred alignment, but only when there is no section specified on the global (by far the common case). llvm-svn: 102515
* While lowering dbg_declare, emit DBG_VALUE machine instruction if alloca ↵Devang Patel2010-04-281-11/+11
| | | | | | matching llvm.dbg.declare intrinsic is missing. llvm-svn: 102513
* Recompute kill flags from live intervals after coalescing instead of trying toJakob Stoklund Olesen2010-04-282-49/+21
| | | | | | | | | | | update them. Computing kill flags is notoriously difficult, and the coalescer would get it wrong sometimes, and it would completely skip physical registers. Now we simply remove kill flags based on the live intervals after coalescing. This is a few percent slower, but now we get correct kill flags for physical registers after coalescing. llvm-svn: 102510
* Teach X86FloatingPoint that a register can be killed multiple times by the sameJakob Stoklund Olesen2010-04-281-6/+7
| | | | | | | | | | | | instruction. This instruction would crash the pass: INLINEASM <es:foo $0 $1>, 9, %FP0<kill>, 9, %FP0<kill>, 14, %EFLAGS<earlyclobber,def,dead> Now it doesn't. llvm-svn: 102509
* Enable i16 to i32 promotion by default.Evan Cheng2010-04-286-28/+28
| | | | llvm-svn: 102493
* Try operation promotion only if regular dag combine and target-specific ones ↵Evan Cheng2010-04-281-15/+42
| | | | | | failed to do anything. llvm-svn: 102492
* Unbreak the build. Only form shld / shrd after legalization.Evan Cheng2010-04-281-1/+1
| | | | llvm-svn: 102488
* Emit debug info for byval parameters.Devang Patel2010-04-284-4/+28
| | | | llvm-svn: 102486
* Rather than having a ton of patterns for double shift instructions, e.g. ↵Evan Cheng2010-04-283-147/+11
| | | | | | SHLD16rrCL, just perform custom dag combine to form x86 specific dag so they match to the same pattern. This also makes sure later dag combine do not cause isel to miss them (e.g. promoting i16 to i32). llvm-svn: 102485
* further simplify EmitAlignment by eliminating the Chris Lattner2010-04-282-6/+3
| | | | | | ForcedAlignBits argument, tweaking the single client of it. llvm-svn: 102484
* remove a dead argument to EmitAlignment.Chris Lattner2010-04-281-2/+1
| | | | llvm-svn: 102483
* remove some default arguments to EmitAlignment.Chris Lattner2010-04-282-8/+6
| | | | llvm-svn: 102482
* Refactor. Devang Patel2010-04-282-50/+87
| | | | llvm-svn: 102481
* Tweak x86 INC/DEC generation to look for CopyToReg or SETCC. Radar 7866163.Stuart Hastings2010-04-281-8/+13
| | | | llvm-svn: 102477
* further clarify alignment of globals, fix instcombineChris Lattner2010-04-281-17/+20
| | | | | | | to not increase the alignment of globals with an assigned alignment and section. llvm-svn: 102476
* Use MachineOperand::is* predicates.Devang Patel2010-04-274-7/+7
| | | | llvm-svn: 102472
* Use isReg(), isImm() and isFPImm().Devang Patel2010-04-271-9/+5
| | | | llvm-svn: 102470
* Check operand type first.Devang Patel2010-04-271-1/+2
| | | | llvm-svn: 102468
* Fix obvious typos.Evan Cheng2010-04-271-2/+2
| | | | llvm-svn: 102467
* Ignore DBG_VALUE instructions that points to undef values.Devang Patel2010-04-272-5/+5
| | | | llvm-svn: 102463
* 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
OpenPOWER on IntegriCloud