Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | SDNode::dump should also print out extension type and VT. | Evan Cheng | 2006-10-10 | 1 | -0/+21 |
| | | | | llvm-svn: 30860 | ||||
* | Fix another bug in extload promotion. | Chris Lattner | 2006-10-10 | 1 | -1/+2 |
| | | | | llvm-svn: 30857 | ||||
* | Fix a bug introduced by my LOAD/LOADX changes. | Evan Cheng | 2006-10-10 | 1 | -2/+4 |
| | | | | llvm-svn: 30853 | ||||
* | Reflects ISD::LOAD / ISD::LOADX / LoadSDNode changes. | Evan Cheng | 2006-10-09 | 5 | -369/+401 |
| | | | | llvm-svn: 30844 | ||||
* | Eliminate more token factors by taking advantage of transitivity: | Chris Lattner | 2006-10-08 | 1 | -0/+25 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if TF depends on A and B, and A depends on B, TF just needs to depend on A. With Jim's alias-analysis stuff enabled, this compiles the testcase in PR892 into: __Z4test3Val: subl $44, %esp call L__Z3foov$stub movl %edx, 28(%esp) movl %eax, 32(%esp) movl %eax, 24(%esp) movl %edx, 36(%esp) movl 52(%esp), %ecx movl %ecx, 4(%esp) movl %eax, 8(%esp) movl %edx, 12(%esp) movl 48(%esp), %eax movl %eax, (%esp) call L__Z3bar3ValS_$stub addl $44, %esp ret instead of: __Z4test3Val: subl $44, %esp call L__Z3foov$stub movl %eax, 24(%esp) movl %edx, 28(%esp) movl 24(%esp), %eax movl %eax, 32(%esp) movl 28(%esp), %eax movl %eax, 36(%esp) movl 32(%esp), %eax movl 36(%esp), %ecx movl 52(%esp), %edx movl %edx, 4(%esp) movl %eax, 8(%esp) movl %ecx, 12(%esp) movl 48(%esp), %eax movl %eax, (%esp) call L__Z3bar3ValS_$stub addl $44, %esp ret llvm-svn: 30821 | ||||
* | Combiner alias analysis passes Multisource (release-asserts.) | Jim Laskey | 2006-10-07 | 1 | -88/+71 |
| | | | | llvm-svn: 30818 | ||||
* | Fix a bug legalizing zero-extending i64 loads into 32-bit loads. The bottom | Chris Lattner | 2006-10-07 | 1 | -3/+2 |
| | | | | | | part was always forced to be sextload, even when we needed an zextload. llvm-svn: 30782 | ||||
* | initialize ivar | Chris Lattner | 2006-10-06 | 1 | -0/+1 |
| | | | | llvm-svn: 30780 | ||||
* | If a target uses a GOT, put it in the jt data section, not the text | Chris Lattner | 2006-10-06 | 1 | -4/+12 |
| | | | | | | | section. This will fix alpha when Andrew implements AlphaTargetMachine::getTargetLowering(). llvm-svn: 30779 | ||||
* | jump tables handle pic | Chris Lattner | 2006-10-06 | 1 | -5/+0 |
| | | | | llvm-svn: 30776 | ||||
* | print labels even if a MBB doesn't have a corresponding LLVM BB, just don't | Chris Lattner | 2006-10-06 | 1 | -3/+4 |
| | | | | | | print the LLVM BB label. llvm-svn: 30775 | ||||
* | Fix a miscompilation of: | Chris Lattner | 2006-10-06 | 1 | -3/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | long long foo(long long X) { return (long long)(signed char)(int)X; } Instead of: _foo: extsb r2, r4 srawi r3, r4, 31 mr r4, r2 blr we now produce: _foo: extsb r4, r4 srawi r3, r4, 31 blr This fixes a miscompilation in ConstantFolding.cpp. llvm-svn: 30768 | ||||
* | MachineBasicBlock::splice was incorrectly updating parent pointers on | Chris Lattner | 2006-10-06 | 1 | -3/+3 |
| | | | | | | instructions. llvm-svn: 30760 | ||||
* | Make use of getStore(). | Evan Cheng | 2006-10-05 | 3 | -52/+36 |
| | | | | llvm-svn: 30759 | ||||
* | Add getStore() helper function to create ISD::STORE nodes. | Evan Cheng | 2006-10-05 | 1 | -1/+16 |
| | | | | llvm-svn: 30758 | ||||
* | Don't crash if an MBB doesn't have an LLVM BB | Chris Lattner | 2006-10-05 | 1 | -1/+1 |
| | | | | llvm-svn: 30757 | ||||
* | Alias analysis code clean ups. | Jim Laskey | 2006-10-05 | 1 | -163/+146 |
| | | | | llvm-svn: 30753 | ||||
* | Emit pic jumptables to the same section that the function is emitted to, | Chris Lattner | 2006-10-05 | 1 | -1/+4 |
| | | | | | | allowing label differences to work. This fixes CodeGen/X86/pic_jumptable.ll llvm-svn: 30744 | ||||
* | Pass the MachineFunction into EmitJumpTableInfo. | Chris Lattner | 2006-10-05 | 1 | -1/+2 |
| | | | | llvm-svn: 30742 | ||||
* | move getSectionForFunction to AsmPrinter | Chris Lattner | 2006-10-05 | 1 | -0/+4 |
| | | | | llvm-svn: 30736 | ||||
* | Fix some typos that can cause a flag value to have more than one use. | Evan Cheng | 2006-10-04 | 1 | -2/+2 |
| | | | | llvm-svn: 30727 | ||||
* | More extensive alias analysis. | Jim Laskey | 2006-10-04 | 1 | -201/+203 |
| | | | | llvm-svn: 30721 | ||||
* | More long term solution | Jim Laskey | 2006-10-04 | 1 | -10/+14 |
| | | | | llvm-svn: 30720 | ||||
* | Work around for some problems with templates. | Jim Laskey | 2006-10-04 | 1 | -0/+6 |
| | | | | llvm-svn: 30715 | ||||
* | Combine ISD::EXTLOAD, ISD::SEXTLOAD, ISD::ZEXTLOAD into ISD::LOADX. Add an | Evan Cheng | 2006-10-04 | 4 | -118/+102 |
| | | | | | | extra operand to LOADX to specify the exact value extension type. llvm-svn: 30714 | ||||
* | Use $( $| $) to represent alternatives in asm blocks instead of {|}. This | Chris Lattner | 2006-10-03 | 1 | -28/+34 |
| | | | | | | is needed to support targets where {|} aren't special symbols. llvm-svn: 30712 | ||||
* | Fix an obvious typo. | Evan Cheng | 2006-10-03 | 1 | -1/+1 |
| | | | | llvm-svn: 30711 | ||||
* | Bugfixes | Chris Lattner | 2006-10-03 | 1 | -7/+5 |
| | | | | llvm-svn: 30709 | ||||
* | Print the MBB ID # along with the bb tag in the -print-machine-instrs output. | Chris Lattner | 2006-10-03 | 1 | -1/+1 |
| | | | | llvm-svn: 30708 | ||||
* | Provide a function that ensures MBB numbering is dense and inorder. This | Chris Lattner | 2006-10-03 | 1 | -0/+47 |
| | | | | | | can be used by MachineFunctionPasses who need this property. llvm-svn: 30706 | ||||
* | Fix for PR929. The PHI nodes were being gone through for each instruction | Bill Wendling | 2006-10-03 | 1 | -21/+26 |
| | | | | | | | | in a successor block for every block...resulting in some O(N^k) algorithm which wasn't very good for performance. Calculating this information up front and keeping it in a map made it much faster. llvm-svn: 30697 | ||||
* | Debugging kruft | Jim Laskey | 2006-10-02 | 1 | -3/+0 |
| | | | | llvm-svn: 30688 | ||||
* | Add ability to annotate (color) nodes in a viewGraph. | Jim Laskey | 2006-10-02 | 1 | -1/+69 |
| | | | | llvm-svn: 30686 | ||||
* | simplify code | Chris Lattner | 2006-09-28 | 1 | -1/+1 |
| | | | | llvm-svn: 30659 | ||||
* | TargetRegisterClass specifies the desired spill alignment. However, it ↵ | Evan Cheng | 2006-09-28 | 1 | -1/+6 |
| | | | | | | cannot be honored if stack alignment is smaller. llvm-svn: 30648 | ||||
* | "Once more into the breach, dear friends, once more, or fill the wall up | Bill Wendling | 2006-09-28 | 1 | -26/+42 |
| | | | | | | | | | | with our English dead." No! Really! Serious this time...It was how the vreg uses were being adjusted that was causing hte Olden tests to fail. I corrected this and the Olden and Regression tests all passed. llvm-svn: 30644 | ||||
* | refactor critical edge breaking out into the SplitCritEdgesForPHIConstants ↵ | Chris Lattner | 2006-09-28 | 1 | -9/+20 |
| | | | | | | | | method. This is a baby step towards fixing PR925. llvm-svn: 30643 | ||||
* | re-re-revert this, back to the right revision. It currently breaks bisort/mst | Chris Lattner | 2006-09-28 | 1 | -44/+24 |
| | | | | | | in olden among others. llvm-svn: 30637 | ||||
* | PEI now place callee save spills closest to the address pointed to by the | Evan Cheng | 2006-09-28 | 1 | -11/+67 |
| | | | | | | | incoming stack. This allows X86 backend to use push / pop in epilogue / prologue. llvm-svn: 30636 | ||||
* | re-revert this patch, bisort and mst are still broken in Olden. | Chris Lattner | 2006-09-28 | 1 | -3/+3 |
| | | | | llvm-svn: 30634 | ||||
* | Reapplying this patch. With the newest commits, the error in Olden/bisort | Bill Wendling | 2006-09-27 | 1 | -24/+44 |
| | | | | | | has disappeared. llvm-svn: 30633 | ||||
* | Temporarily revert this. This breaks Olden/bisort on PPC | Chris Lattner | 2006-09-27 | 1 | -44/+24 |
| | | | | llvm-svn: 30628 | ||||
* | PR878: Instead of calculating the vreg to PHI use count everytime we get | Bill Wendling | 2006-09-27 | 1 | -24/+44 |
| | | | | | | | | a function, do it up front in linear time (going through all of the instructions once). We create a map out of them. Then it's no problem to use the information in it during elimination... llvm-svn: 30624 | ||||
* | Add support for ${:private} which prints "L" on darwin. | Chris Lattner | 2006-09-27 | 1 | -1/+3 |
| | | | | llvm-svn: 30620 | ||||
* | Add support for ${:comment}, which expands to the current target's comment | Chris Lattner | 2006-09-26 | 1 | -0/+24 |
| | | | | | | | character, and ${:uid} which expands to a unique ID for the MachineInstr. More can be added if/when they are needed. llvm-svn: 30619 | ||||
* | Rename function. It's determining which callee-save registers to save. | Evan Cheng | 2006-09-26 | 1 | -7/+7 |
| | | | | llvm-svn: 30616 | ||||
* | Comments on JumpTableness | Andrew Lenharth | 2006-09-26 | 2 | -0/+4 |
| | | | | llvm-svn: 30615 | ||||
* | Load chain check is not needed | Jim Laskey | 2006-09-26 | 1 | -24/+1 |
| | | | | llvm-svn: 30613 | ||||
* | Chain can be any operand | Jim Laskey | 2006-09-26 | 1 | -11/+9 |
| | | | | llvm-svn: 30611 | ||||
* | Wrong size for load | Jim Laskey | 2006-09-26 | 1 | -2/+8 |
| | | | | llvm-svn: 30610 |