Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Disable composite type debug info for now. | Devang Patel | 2009-01-17 | 1 | -0/+3 |
| | | | | llvm-svn: 62406 | ||||
* | Temporarily revert my last change. It is causing a bootstrap failure. | Bill Wendling | 2009-01-17 | 1 | -0/+4 |
| | | | | llvm-svn: 62405 | ||||
* | Implement a special algorithm for converting uint_to_fp for i32 values on | Bill Wendling | 2009-01-17 | 2 | -49/+105 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | X86. This code: void f() { uint32_t x; float y = (float)x; } used to be: movl %eax, -8(%ebp) movl [2^52 double], -4(%ebp) movsd -8(%ebp), %xmm0 subsd [2^52 double], %xmm0 cvtsd2ss %xmm0, %xmm0 Is now: movsd [2^52 double], %xmm0 movsd %xmm0, %xmm1 movd %ecx, %xmm2 orps %xmm2, %xmm1 subsd %xmm0, %xmm1 cvtsd2ss %xmm1, %xmm0 This is faster on X86. Note that there's an extra load of %xmm0 into %xmm1. That will be fixed in a later coalescer fix. llvm-svn: 62404 | ||||
* | CMake: Add lib/Target/IA64/IA64Subtarget.cpp | Oscar Fuentes | 2009-01-17 | 1 | -0/+1 |
| | | | | llvm-svn: 62394 | ||||
* | speed up iterative loop by using iterators. changes direction, but ↵ | Gabor Greif | 2009-01-17 | 1 | -4/+4 |
| | | | | | | | | functionally equivalent if this works out, I'll change the others next. llvm-svn: 62385 | ||||
* | introduce typedef for complicated vector, and use it too | Gabor Greif | 2009-01-17 | 1 | -2/+1 |
| | | | | llvm-svn: 62384 | ||||
* | Simplify extract element of a scalar to vector. | Mon P Wang | 2009-01-17 | 1 | -5/+13 |
| | | | | llvm-svn: 62383 | ||||
* | typo | Gabor Greif | 2009-01-16 | 1 | -1/+1 |
| | | | | llvm-svn: 62377 | ||||
* | Fix PPC ISD::Declare isel and eliminate the need for ↵ | Evan Cheng | 2009-01-16 | 2 | -4/+21 |
| | | | | | | PPCTargetLowering::LowerGlobalAddress to check if isVerifiedDebugInfoDesc() is true. Given the recent changes, it would falsely return true for a lot of GlobalAddressSDNode's. llvm-svn: 62373 | ||||
* | Support for multi-valued options in CommandLine | Mikhail Glushenkov | 2009-01-16 | 1 | -4/+40 |
| | | | | | | | Makes possible to specify options that take multiple arguments (a-la -sectalign on Darwin). See documentation for details. llvm-svn: 62372 | ||||
* | Give IA64 a TargetSubtarget subclass, so that it can | Dan Gohman | 2009-01-16 | 3 | -0/+49 |
| | | | | | | implement getSubtargetImpl. llvm-svn: 62369 | ||||
* | 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 | ||||
* | don't assert and die on out of range (undefined) shifts. This fixes | Chris Lattner | 2009-01-16 | 1 | -4/+16 |
| | | | | | | PR3334. llvm-svn: 62352 | ||||
* | Fix PR3335 by not turning a store to one address space into a store to another. | Chris Lattner | 2009-01-16 | 1 | -1/+5 |
| | | | | llvm-svn: 62351 | ||||
* | reduce indentation by using early exits, no functionality change. | Chris Lattner | 2009-01-16 | 1 | -44/+47 |
| | | | | llvm-svn: 62350 | ||||
* | Use lightweight DebugInfo objects directly. | Devang Patel | 2009-01-16 | 1 | -51/+50 |
| | | | | llvm-svn: 62341 | ||||
* | Add support for non-zero __builtin_return_address values on X86. | Bill Wendling | 2009-01-16 | 1 | -8/+17 |
| | | | | llvm-svn: 62338 | ||||
* | Change isGVCompilationDisabled() semantics again. It should abort on any GV ↵ | Evan Cheng | 2009-01-16 | 1 | -1/+4 |
| | | | | | | that's not constant whether it's "internal" or not. In a server / client environment, GV is returned in the same block of memory as code. However, the memory might not be writable. llvm-svn: 62336 | ||||
* | use specialized accessor instead of plain getOperand(0) | Gabor Greif | 2009-01-16 | 1 | -4/+5 |
| | | | | llvm-svn: 62330 | ||||
* | 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 | ||||
* | Reinstate r60509 from Dale: | Nick Lewycky | 2009-01-16 | 1 | -0/+1 |
| | | | | | | Make the debugging dump be a full line. llvm-svn: 62325 | ||||
* | Registry.h should not depend on CommandLine.h. | Mikhail Glushenkov | 2009-01-16 | 5 | -1/+6 |
| | | | | | | | 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 | 5 | -325/+325 |
| | | | | llvm-svn: 62307 | ||||
* | ARMCompilationCallback should not save / restore vfp registers if vfp is not ↵ | Evan Cheng | 2009-01-16 | 1 | -2/+2 |
| | | | | | | available. llvm-svn: 62299 | ||||
* | Validate debug info values only if DwarfDebug is initialized. | Devang Patel | 2009-01-16 | 1 | -1/+1 |
| | | | | llvm-svn: 62298 | ||||
* | Clean up previous cast optimization a bit. Also make zext elimination a bit ↵ | Evan Cheng | 2009-01-16 | 1 | -30/+55 |
| | | | | | | more aggressive: if it's not necessary to emit an AND (i.e. high bits are already zero), it's profitable to evaluate the operand at a different type. llvm-svn: 62297 | ||||
* | 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 | 4 | -14/+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 | 9 | -42/+40 |
| | | | | | | | 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 | ||||
* | Fix Alpha test and support for private linkage. | Rafael Espindola | 2009-01-15 | 1 | -1/+2 |
| | | | | llvm-svn: 62282 | ||||
* | Expand insert/extract of a <4 x i32> with a variable index. | Mon P Wang | 2009-01-15 | 1 | -2/+10 |
| | | | | llvm-svn: 62281 | ||||
* | Add the private linkage. | Rafael Espindola | 2009-01-15 | 56 | -136/+179 |
| | | | | 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 | 22 | -118/+113 |
| | | | | | | | | | | | 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 | ||||
* | add comment to explain my previous commit, as asked by Chris | Nuno Lopes | 2009-01-15 | 1 | -0/+2 |
| | | | | llvm-svn: 62272 | ||||
* | avoid using iterators when they get invalidated potentially | Gabor Greif | 2009-01-15 | 1 | -4/+14 |
| | | | | | | this fixes PR3332 llvm-svn: 62271 | ||||
* | 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 | ||||
* | Add load-folding table entries for BT*ri8 instructions. | Dan Gohman | 2009-01-15 | 1 | -0/+3 |
| | | | | llvm-svn: 62267 | ||||
* | Make getWidenVectorType const; this file was missed in the | Dan Gohman | 2009-01-15 | 1 | -1/+1 |
| | | | | | | previous commit. llvm-svn: 62266 |