summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* SDNode::dump should also print out extension type and VT.Evan Cheng2006-10-101-0/+21
| | | | llvm-svn: 30860
* Fix another bug in extload promotion.Chris Lattner2006-10-101-1/+2
| | | | llvm-svn: 30857
* Fix a bug introduced by my LOAD/LOADX changes.Evan Cheng2006-10-101-2/+4
| | | | llvm-svn: 30853
* Reflects ISD::LOAD / ISD::LOADX / LoadSDNode changes.Evan Cheng2006-10-095-369/+401
| | | | llvm-svn: 30844
* Eliminate more token factors by taking advantage of transitivity:Chris Lattner2006-10-081-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 Laskey2006-10-071-88/+71
| | | | llvm-svn: 30818
* Fix a bug legalizing zero-extending i64 loads into 32-bit loads. The bottomChris Lattner2006-10-071-3/+2
| | | | | | part was always forced to be sextload, even when we needed an zextload. llvm-svn: 30782
* initialize ivarChris Lattner2006-10-061-0/+1
| | | | llvm-svn: 30780
* If a target uses a GOT, put it in the jt data section, not the textChris Lattner2006-10-061-4/+12
| | | | | | | section. This will fix alpha when Andrew implements AlphaTargetMachine::getTargetLowering(). llvm-svn: 30779
* jump tables handle picChris Lattner2006-10-061-5/+0
| | | | llvm-svn: 30776
* print labels even if a MBB doesn't have a corresponding LLVM BB, just don'tChris Lattner2006-10-061-3/+4
| | | | | | print the LLVM BB label. llvm-svn: 30775
* Fix a miscompilation of:Chris Lattner2006-10-061-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 onChris Lattner2006-10-061-3/+3
| | | | | | instructions. llvm-svn: 30760
* Make use of getStore().Evan Cheng2006-10-053-52/+36
| | | | llvm-svn: 30759
* Add getStore() helper function to create ISD::STORE nodes.Evan Cheng2006-10-051-1/+16
| | | | llvm-svn: 30758
* Don't crash if an MBB doesn't have an LLVM BBChris Lattner2006-10-051-1/+1
| | | | llvm-svn: 30757
* Alias analysis code clean ups.Jim Laskey2006-10-051-163/+146
| | | | llvm-svn: 30753
* Emit pic jumptables to the same section that the function is emitted to,Chris Lattner2006-10-051-1/+4
| | | | | | allowing label differences to work. This fixes CodeGen/X86/pic_jumptable.ll llvm-svn: 30744
* Pass the MachineFunction into EmitJumpTableInfo.Chris Lattner2006-10-051-1/+2
| | | | llvm-svn: 30742
* move getSectionForFunction to AsmPrinterChris Lattner2006-10-051-0/+4
| | | | llvm-svn: 30736
* Fix some typos that can cause a flag value to have more than one use.Evan Cheng2006-10-041-2/+2
| | | | llvm-svn: 30727
* More extensive alias analysis.Jim Laskey2006-10-041-201/+203
| | | | llvm-svn: 30721
* More long term solutionJim Laskey2006-10-041-10/+14
| | | | llvm-svn: 30720
* Work around for some problems with templates.Jim Laskey2006-10-041-0/+6
| | | | llvm-svn: 30715
* Combine ISD::EXTLOAD, ISD::SEXTLOAD, ISD::ZEXTLOAD into ISD::LOADX. Add anEvan Cheng2006-10-044-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 {|}. ThisChris Lattner2006-10-031-28/+34
| | | | | | is needed to support targets where {|} aren't special symbols. llvm-svn: 30712
* Fix an obvious typo.Evan Cheng2006-10-031-1/+1
| | | | llvm-svn: 30711
* BugfixesChris Lattner2006-10-031-7/+5
| | | | llvm-svn: 30709
* Print the MBB ID # along with the bb tag in the -print-machine-instrs output.Chris Lattner2006-10-031-1/+1
| | | | llvm-svn: 30708
* Provide a function that ensures MBB numbering is dense and inorder. ThisChris Lattner2006-10-031-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 instructionBill Wendling2006-10-031-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 kruftJim Laskey2006-10-021-3/+0
| | | | llvm-svn: 30688
* Add ability to annotate (color) nodes in a viewGraph.Jim Laskey2006-10-021-1/+69
| | | | llvm-svn: 30686
* simplify codeChris Lattner2006-09-281-1/+1
| | | | llvm-svn: 30659
* TargetRegisterClass specifies the desired spill alignment. However, it ↵Evan Cheng2006-09-281-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 upBill Wendling2006-09-281-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 Lattner2006-09-281-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/mstChris Lattner2006-09-281-44/+24
| | | | | | in olden among others. llvm-svn: 30637
* PEI now place callee save spills closest to the address pointed to by theEvan Cheng2006-09-281-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 Lattner2006-09-281-3/+3
| | | | llvm-svn: 30634
* Reapplying this patch. With the newest commits, the error in Olden/bisortBill Wendling2006-09-271-24/+44
| | | | | | has disappeared. llvm-svn: 30633
* Temporarily revert this. This breaks Olden/bisort on PPCChris Lattner2006-09-271-44/+24
| | | | llvm-svn: 30628
* PR878: Instead of calculating the vreg to PHI use count everytime we getBill Wendling2006-09-271-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 Lattner2006-09-271-1/+3
| | | | llvm-svn: 30620
* Add support for ${:comment}, which expands to the current target's commentChris Lattner2006-09-261-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 Cheng2006-09-261-7/+7
| | | | llvm-svn: 30616
* Comments on JumpTablenessAndrew Lenharth2006-09-262-0/+4
| | | | llvm-svn: 30615
* Load chain check is not neededJim Laskey2006-09-261-24/+1
| | | | llvm-svn: 30613
* Chain can be any operandJim Laskey2006-09-261-11/+9
| | | | llvm-svn: 30611
* Wrong size for loadJim Laskey2006-09-261-2/+8
| | | | llvm-svn: 30610
OpenPOWER on IntegriCloud