Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Allow i/s to match (gv+c). This fixes ↵ | Chris Lattner | 2007-05-03 | 1 | -10/+31 |
| | | | | | | | | CodeGen/PowerPC/2007-05-03-InlineAsm-S-Constraint.ll and PR1382 llvm-svn: 36672 | ||||
* | Drop 'const' | Devang Patel | 2007-05-03 | 18 | -31/+31 |
| | | | | llvm-svn: 36662 | ||||
* | Properly set arguments bitwidth of EHSELECT node | Anton Korobeynikov | 2007-05-02 | 1 | -2/+2 |
| | | | | llvm-svn: 36654 | ||||
* | Use 'static const char' instead of 'static const int'. | Devang Patel | 2007-05-02 | 18 | -31/+31 |
| | | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652 | ||||
* | Fix build error. | Lauro Ramos Venancio | 2007-05-02 | 2 | -2/+2 |
| | | | | llvm-svn: 36648 | ||||
* | Fix couple of bugs connected with eh info: | Anton Korobeynikov | 2007-05-01 | 1 | -15/+27 |
| | | | | | | | 1. Correct output offsets on Linux 2. Fix "style" of personality function. It shouldn't be indirect. llvm-svn: 36633 | ||||
* | Do not use typeinfo to identify pass in pass manager. | Devang Patel | 2007-05-01 | 18 | -7/+66 |
| | | | | llvm-svn: 36632 | ||||
* | If call frame is not part of stack frame and no dynamic alloc, ↵ | Evan Cheng | 2007-05-01 | 2 | -18/+49 |
| | | | | | | eliminateFrameIndex() must adjust SP offset with size of call frames. llvm-svn: 36625 | ||||
* | Forgot about chain result; also UNDEF cannot have multiple values. | Evan Cheng | 2007-05-01 | 1 | -12/+12 |
| | | | | llvm-svn: 36622 | ||||
* | llvm bug #1350, parts 1, 2, and 3. | Nate Begeman | 2007-05-01 | 1 | -2/+2 |
| | | | | llvm-svn: 36618 | ||||
* | Under normal circumstances, when a frame pointer is not required, we reserve | Evan Cheng | 2007-05-01 | 1 | -17/+14 |
| | | | | | | | | | | | | argument space for call sites in the function immediately on entry to the current function. This eliminates the need for add/sub sp brackets around call sites. However, this is not always a good idea. If the "call frame" is large and the target load / store instructions have small immediate field to encode sp offset, this can cause poor codegen. In the worst case, this can make it impossible to scavenge a register if the reserved spill slot is pushed too far apart from sp / fp. llvm-svn: 36607 | ||||
* | * Only turn a load to UNDEF if all of its outputs have no uses (indexed loads | Evan Cheng | 2007-05-01 | 1 | -5/+20 |
| | | | | | | | produce two results.) * Do not touch volatile loads. llvm-svn: 36604 | ||||
* | Fix PR1228 and CodeGen/Generic/2007-04-30-LandingPadBranchFolding.ll | Chris Lattner | 2007-04-30 | 1 | -2/+8 |
| | | | | llvm-svn: 36602 | ||||
* | print isLandingPad() for MBBs | Chris Lattner | 2007-04-30 | 1 | -3/+5 |
| | | | | llvm-svn: 36600 | ||||
* | Continue refactoring inline asm code. If there is an earlyclobber output | Chris Lattner | 2007-04-30 | 1 | -79/+108 |
| | | | | | | | | register, preallocate all input registers and the early clobbered output. This fixes PR1357 and CodeGen/PowerPC/2007-04-30-InlineAsmEarlyClobber.ll llvm-svn: 36599 | ||||
* | Updates. | Evan Cheng | 2007-04-30 | 1 | -1/+57 |
| | | | | llvm-svn: 36594 | ||||
* | refactor GetRegistersForValue to take OpInfo as an argument instead of various | Chris Lattner | 2007-04-30 | 1 | -98/+101 |
| | | | | | | pieces of it. No functionality change. llvm-svn: 36592 | ||||
* | refactor some code, no functionality change | Chris Lattner | 2007-04-30 | 1 | -44/+52 |
| | | | | llvm-svn: 36590 | ||||
* | Clean up multi-line asam string printing. Instead of printing: | Chris Lattner | 2007-04-30 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | # InlineAsm Start subfc r3,r5,r4 subfze r4,r3 # InlineAsm End print: # InlineAsm Start subfc r3,r5,r4 subfze r4,r3 # InlineAsm End llvm-svn: 36589 | ||||
* | generalize aggregate handling | Chris Lattner | 2007-04-29 | 1 | -5/+21 |
| | | | | llvm-svn: 36568 | ||||
* | Implement review feedback | Anton Korobeynikov | 2007-04-29 | 1 | -12/+3 |
| | | | | llvm-svn: 36564 | ||||
* | memory operands that have a direct operand should have their stores created | Chris Lattner | 2007-04-28 | 1 | -35/+42 |
| | | | | | | | | | | | | | before the copies into physregs are done. This avoids having flag operands skip the store, causing cycles in the dag at sched time. This fixes infinite loops on these tests: test/CodeGen/Generic/2007-04-08-MultipleFrameIndices.ll for PR1308 test/CodeGen/PowerPC/2007-01-29-lbrx-asm.ll test/CodeGen/PowerPC/2007-01-31-InlineAsmAddrMode.ll test/CodeGen/X86/2006-07-12-InlineAsmQConstraint.ll for PR828 llvm-svn: 36547 | ||||
* | eliminate more redundant constraint type analysis | Chris Lattner | 2007-04-28 | 1 | -6/+2 |
| | | | | llvm-svn: 36546 | ||||
* | merge constraint type analysis stuff together. | Chris Lattner | 2007-04-28 | 1 | -14/+21 |
| | | | | llvm-svn: 36545 | ||||
* | Significant refactoring of the inline asm stuff, to support future changes. | Chris Lattner | 2007-04-28 | 1 | -82/+107 |
| | | | | | | No functionality change. llvm-svn: 36544 | ||||
* | Implement review feedback. Aliasees can be either GlobalValue's or | Anton Korobeynikov | 2007-04-28 | 1 | -6/+17 |
| | | | | | | bitcasts of them. llvm-svn: 36537 | ||||
* | memory inputs to an inline asm are required to have an address available. | Chris Lattner | 2007-04-28 | 2 | -20/+34 |
| | | | | | | | | | If the operand is not already an indirect operand, spill it to a constant pool entry or a stack slot. This fixes PR1356 and CodeGen/X86/2007-04-27-InlineAsm-IntMemInput.ll llvm-svn: 36536 | ||||
* | Fix CodeGen/Generic/2007-04-27-LargeMemObject.ll and | Chris Lattner | 2007-04-28 | 1 | -4/+10 |
| | | | | | | CodeGen/Generic/2007-04-27-InlineAsm-X-Dest.ll llvm-svn: 36534 | ||||
* | Fix this to match change to InlineAsm class. | Chris Lattner | 2007-04-28 | 1 | -3/+3 |
| | | | | llvm-svn: 36524 | ||||
* | Fix incorrect legalization of EHSELECTOR. This fixes | Chris Lattner | 2007-04-27 | 1 | -6/+10 |
| | | | | | | CodeGen/Generic/2007-04-14-EHSelectorCrash.ll and PR1326 llvm-svn: 36510 | ||||
* | Expand UINT_TO_FP in turns of SINT_TO_FP when UINTTOFP_* libcalls are not ↵ | Evan Cheng | 2007-04-27 | 1 | -4/+25 |
| | | | | | | available. llvm-svn: 36501 | ||||
* | improve EH global handling, patch by Duncan Sands. | Chris Lattner | 2007-04-27 | 1 | -6/+10 |
| | | | | llvm-svn: 36499 | ||||
* | enable Anton's shift/and switch lowering stuff! It now passes ppc bootstrap | Chris Lattner | 2007-04-26 | 1 | -1/+0 |
| | | | | | | successfully! woohoo... llvm-svn: 36496 | ||||
* | Fixx off-by-one bug, which prevents llvm-gcc bootstrap on ppc32 | Anton Korobeynikov | 2007-04-26 | 1 | -1/+1 |
| | | | | llvm-svn: 36490 | ||||
* | Fix a typo in a comment. | Dan Gohman | 2007-04-26 | 1 | -1/+1 |
| | | | | llvm-svn: 36485 | ||||
* | Rename findRegisterUseOperand to findRegisterUseOperandIdx to avoid confusion. | Evan Cheng | 2007-04-26 | 5 | -10/+11 |
| | | | | llvm-svn: 36483 | ||||
* | Minor bug. | Evan Cheng | 2007-04-26 | 1 | -2/+2 |
| | | | | llvm-svn: 36473 | ||||
* | Be careful when to add implicit kill / dead operands. Don't add them during ↵ | Evan Cheng | 2007-04-26 | 1 | -9/+17 |
| | | | | | | / post reg-allocation. llvm-svn: 36458 | ||||
* | Match MachineFunction::UsedPhysRegs changes. | Evan Cheng | 2007-04-25 | 5 | -48/+25 |
| | | | | llvm-svn: 36452 | ||||
* | Change UsedPhysRegs from array bool to BitVector to save some space. Setting ↵ | Evan Cheng | 2007-04-25 | 1 | -2/+2 |
| | | | | | | / getting its states now go through MachineFunction. llvm-svn: 36451 | ||||
* | Clean up. | Evan Cheng | 2007-04-25 | 1 | -3/+1 |
| | | | | llvm-svn: 36449 | ||||
* | Data structure change to improve compile time (especially in debug mode). | Evan Cheng | 2007-04-25 | 1 | -12/+23 |
| | | | | llvm-svn: 36447 | ||||
* | This was lefted out. Fixed sumarray-dbl. | Evan Cheng | 2007-04-25 | 1 | -0/+1 |
| | | | | llvm-svn: 36445 | ||||
* | Implement aliases. This fixes PR1017 and it's dependent bugs. CFE part | Anton Korobeynikov | 2007-04-25 | 1 | -1/+25 |
| | | | | | | will follow. llvm-svn: 36435 | ||||
* | Fix for PR1306. | Evan Cheng | 2007-04-25 | 2 | -47/+180 |
| | | | | | | | | | - A register def / use now implicitly affects sub-register liveness but does not affect liveness information of super-registers. - Def of a larger register (if followed by a use later) is treated as read/mod/write of a smaller register. llvm-svn: 36434 | ||||
* | Clean up. | Evan Cheng | 2007-04-25 | 1 | -4/+2 |
| | | | | llvm-svn: 36431 | ||||
* | support for >4G stack frames | Chris Lattner | 2007-04-25 | 1 | -1/+1 |
| | | | | llvm-svn: 36425 | ||||
* | support > 4G stack objects | Chris Lattner | 2007-04-25 | 2 | -3/+3 |
| | | | | llvm-svn: 36422 | ||||
* | allow support for 64-bit stack objects | Chris Lattner | 2007-04-25 | 1 | -1/+1 |
| | | | | llvm-svn: 36420 | ||||
* | Be more careful about folding op(x, undef) when we have vector operands. | Chris Lattner | 2007-04-25 | 1 | -9/+16 |
| | | | | | | This fixes CodeGen/X86/2007-04-24-VectorCrash.ll llvm-svn: 36413 |