Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix global variable's address in a DIE. | Devang Patel | 2009-01-20 | 1 | -1/+1 |
| | | | | llvm-svn: 62596 | ||||
* | Enable debug info for enums. | Devang Patel | 2009-01-20 | 1 | -10/+14 |
| | | | | llvm-svn: 62594 | ||||
* | Enable debug info for composite types. | Devang Patel | 2009-01-20 | 1 | -4/+0 |
| | | | | llvm-svn: 62589 | ||||
* | Refactor code. No functionality change. | Evan Cheng | 2009-01-20 | 2 | -34/+89 |
| | | | | llvm-svn: 62573 | ||||
* | Shift types need to match. | Bill Wendling | 2009-01-20 | 1 | -8/+9 |
| | | | | llvm-svn: 62571 | ||||
* | Fix a dagcombine to not generate loads of non-round integer types, | Dan Gohman | 2009-01-20 | 1 | -1/+1 |
| | | | | | | | as its comment says, even in the case where it will be generating extending loads. This fixes PR3216. llvm-svn: 62557 | ||||
* | Do not use DenseMap because the iterator is invalidated while constructing ↵ | Devang Patel | 2009-01-20 | 1 | -2/+2 |
| | | | | | | types. After all there was a reason why std::map was used initially! llvm-svn: 62555 | ||||
* | Make linear scan's trivial coalescer slightly more aggressive. | Evan Cheng | 2009-01-20 | 1 | -6/+6 |
| | | | | llvm-svn: 62547 | ||||
* | Verify debug info. | Devang Patel | 2009-01-19 | 3 | -10/+27 |
| | | | | llvm-svn: 62545 | ||||
* | Remove SDNode's virtual destructor. This makes it impossible for | Dan Gohman | 2009-01-19 | 1 | -53/+14 |
| | | | | | | | | | | | | | | SDNode subclasses to keep state that requires non-trivial destructors, however it was already effectively impossible, since the destructor isn't actually ever called. There currently aren't any SDNode subclasses affected by this, and in general it's desireable to keep SDNode objects light-weight. This eliminates the last virtual member function in the SDNode class, so it eliminates the need for a vtable pointer, making SDNode smaller. llvm-svn: 62539 | ||||
* | Fix SelectionDAG::ReplaceAllUsesWith to behave correctly when | Dan Gohman | 2009-01-19 | 2 | -16/+39 |
| | | | | | | | | | | | | | uses are added to the From node while it is processing From's use list, because of automatic local CSE. The fix is to avoid visiting any new uses. Fix a few places in the DAGCombiner that assumed that after a RAUW call, the From node has no users and may be deleted. This fixes PR3018. llvm-svn: 62533 | ||||
* | Few targets like PIC16 wants libcall generation for illegal type i16. | Sanjiv Gupta | 2009-01-18 | 2 | -4/+16 |
| | | | | llvm-svn: 62467 | ||||
* | Simplify extract element based on comments from Duncan Sands. | Mon P Wang | 2009-01-18 | 1 | -7/+3 |
| | | | | llvm-svn: 62459 | ||||
* | Remove tabs. | Devang Patel | 2009-01-17 | 1 | -19/+19 |
| | | | | llvm-svn: 62423 | ||||
* | Refactor code | Devang Patel | 2009-01-17 | 1 | -118/+73 |
| | | | | llvm-svn: 62421 | ||||
* | Assign argument type to appropriate DIE. | Devang Patel | 2009-01-17 | 1 | -2/+2 |
| | | | | llvm-svn: 62412 | ||||
* | Remove dead code. | Devang Patel | 2009-01-17 | 1 | -14/+2 |
| | | | | llvm-svn: 62410 | ||||
* | Disable composite type debug info for now. | Devang Patel | 2009-01-17 | 1 | -0/+3 |
| | | | | llvm-svn: 62406 | ||||
* | Simplify extract element of a scalar to vector. | Mon P Wang | 2009-01-17 | 1 | -5/+13 |
| | | | | llvm-svn: 62383 | ||||
* | Instead of adding dependence edges between terminator instructions | Dan Gohman | 2009-01-16 | 6 | -25/+65 |
| | | | | | | | | | | | | | | and every other instruction in their blocks to keep the terminator instructions at the end, teach the post-RA scheduler how to operate on ranges of instructions, and exclude terminators from the range of instructions that get scheduled. Also, exclude mid-block labels, such as EH_LABEL instructions, and schedule code before them separately from code after them. This fixes problems with the post-RA scheduler moving code past EH_LABELs. llvm-svn: 62366 | ||||
* | If an anti-dependence uses a non-allocatable register, set AntiDepReg | Dan Gohman | 2009-01-16 | 1 | -1/+3 |
| | | | | | | | to 0, to ensure that the subsequent code doesn't try to break the dependence. llvm-svn: 62365 | ||||
* | Use the getNode() accessor instead of accessing the Node | Dan Gohman | 2009-01-16 | 1 | -1/+1 |
| | | | | | | member directly, which is private as of r55504. llvm-svn: 62364 | ||||
* | Fix the check for an empty basic block to check for an empty SUnits | Dan Gohman | 2009-01-16 | 1 | -2/+2 |
| | | | | | | | | array instead, since this is what the scheduler actually cares about. And remove a check that is unnecessary, since it can assume that SUnits isn't empty. llvm-svn: 62362 | ||||
* | new nodes should be added to the worklist, not old nodes. | Chris Lattner | 2009-01-16 | 1 | -1/+2 |
| | | | | llvm-svn: 62359 | ||||
* | Fix comments. | Devang Patel | 2009-01-16 | 1 | -5/+5 |
| | | | | llvm-svn: 62358 | ||||
* | CreateVirtualRegisters does trivial copy coalescing. If a node def is used ↵ | Evan Cheng | 2009-01-16 | 2 | -56/+63 |
| | | | | | | by a single CopyToReg, it reuses the virtual register assigned to the CopyToReg. This won't work for SDNode that is a clone or is itself cloned. Disable this optimization for those nodes or it can end up with non-SSA machine instructions. llvm-svn: 62356 | ||||
* | Use lightweight DebugInfo objects directly. | Devang Patel | 2009-01-16 | 1 | -51/+50 |
| | | | | llvm-svn: 62341 | ||||
* | Align source code. | Devang Patel | 2009-01-16 | 1 | -4/+4 |
| | | | | llvm-svn: 62328 | ||||
* | Fix a "comparison between signed and unsigned integer expressions" | Dan Gohman | 2009-01-16 | 1 | -1/+1 |
| | | | | | | warning. llvm-svn: 62327 | ||||
* | Registry.h should not depend on CommandLine.h. | Mikhail Glushenkov | 2009-01-16 | 4 | -0/+4 |
| | | | | | | | Split Support/Registry.h into two files so that we have less to recompile every time CommandLine.h is changed. llvm-svn: 62312 | ||||
* | Delete trailing whitespace. | Mikhail Glushenkov | 2009-01-16 | 4 | -323/+323 |
| | | | | llvm-svn: 62307 | ||||
* | Validate debug info values only if DwarfDebug is initialized. | Devang Patel | 2009-01-16 | 1 | -1/+1 |
| | | | | llvm-svn: 62298 | ||||
* | Any debug info symbol is only valid if atleast one compile unit is seen. | Devang Patel | 2009-01-16 | 1 | -0/+4 |
| | | | | llvm-svn: 62294 | ||||
* | Initial hazard recognizer support in post-pass scheduling. This includes | Dan Gohman | 2009-01-16 | 2 | -9/+120 |
| | | | | | | | a new toy hazard recognizier heuristic which attempts to direct the scheduler to avoid clumping large groups of loads or stores too densely. llvm-svn: 62291 | ||||
* | Do not stumble over forward declared struct member. | Devang Patel | 2009-01-16 | 1 | -0/+5 |
| | | | | llvm-svn: 62288 | ||||
* | Validate dbg_* intrinsics before lowering them. | Devang Patel | 2009-01-15 | 3 | -10/+55 |
| | | | | llvm-svn: 62286 | ||||
* | Added missing support to widen an operand from a bit convert. | Mon P Wang | 2009-01-15 | 2 | -0/+32 |
| | | | | llvm-svn: 62285 | ||||
* | Generalize the HazardRecognizer interface so that it can be used | Dan Gohman | 2009-01-15 | 3 | -23/+14 |
| | | | | | | | to support MachineInstr-based scheduling in addition to SDNode-based scheduling. llvm-svn: 62284 | ||||
* | Simplify the MachineLICM pass by having it only traverse outer | Dan Gohman | 2009-01-15 | 1 | -122/+60 |
| | | | | | | | | | loops, hoisting instructions all the way out in one step rather than hoisting them one nest level at a time. Also, make a few other code simplifications. This speeds up MachineLICM by several fold. llvm-svn: 62283 | ||||
* | Add the private linkage. | Rafael Espindola | 2009-01-15 | 5 | -6/+13 |
| | | | | llvm-svn: 62279 | ||||
* | Use lightweight DebugInfo objects directly. | Devang Patel | 2009-01-15 | 1 | -82/+65 |
| | | | | llvm-svn: 62276 | ||||
* | Move a few containers out of ScheduleDAGInstrs::BuildSchedGraph | Dan Gohman | 2009-01-15 | 12 | -108/+103 |
| | | | | | | | | | | | and into the ScheduleDAGInstrs class, so that they don't get destructed and re-constructed for each block. This fixes a compile-time hot spot in the post-pass scheduler. To help facilitate this, tidy and do some minor reorganization in the scheduler constructor functions. llvm-svn: 62275 | ||||
* | Use variable's context to identify respective DbgScope. | Devang Patel | 2009-01-15 | 1 | -11/+25 |
| | | | | | | Use light weight DebugInfo object directly. llvm-svn: 62269 | ||||
* | Make getWidenVectorType const; this file was missed in the | Dan Gohman | 2009-01-15 | 1 | -1/+1 |
| | | | | | | previous commit. llvm-svn: 62266 | ||||
* | More consts on TargetLowering references. | Dan Gohman | 2009-01-15 | 4 | -10/+9 |
| | | | | llvm-svn: 62262 | ||||
* | Use const with TargetLowering references in a few more places. | Dan Gohman | 2009-01-15 | 2 | -5/+7 |
| | | | | llvm-svn: 62260 | ||||
* | minor refactoring: use a more specific API | Gabor Greif | 2009-01-15 | 1 | -2/+3 |
| | | | | llvm-svn: 62256 | ||||
* | Do not construct debug scope if RootScope *is* null. | Devang Patel | 2009-01-14 | 1 | -1/+1 |
| | | | | llvm-svn: 62209 | ||||
* | Removoe MachineModuleInfo methods (and related DebugInfoDesc class ↵ | Devang Patel | 2009-01-13 | 3 | -2453/+10 |
| | | | | | | hierarchy) that were used to handle debug info. llvm-svn: 62199 | ||||
* | Keep "has debug info" big in MachineModuleInfo to avoid circular dependency ↵ | Devang Patel | 2009-01-13 | 2 | -0/+2 |
| | | | | | | between AsmPrinter and CodeGen. llvm-svn: 62191 |