Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Move the code for printing a graph node label for an SUnit into | Dan Gohman | 2008-11-19 | 2 | -22/+19 |
| | | | | | | a virtual method of SelectionDAG. llvm-svn: 59667 | ||||
* | Convert SUnit's dump method into a print method and implement | Dan Gohman | 2008-11-19 | 1 | -6/+10 |
| | | | | | | dump in terms of it. llvm-svn: 59665 | ||||
* | Fix compilation error on MSVC. | Argyrios Kyrtzidis | 2008-11-19 | 1 | -1/+1 |
| | | | | llvm-svn: 59629 | ||||
* | Add support for rematerialization in pre-alloc-splitting. | Owen Anderson | 2008-11-19 | 1 | -3/+95 |
| | | | | llvm-svn: 59587 | ||||
* | Rearrange code to reduce the nesting level. No functionality change. | Dan Gohman | 2008-11-19 | 1 | -36/+36 |
| | | | | llvm-svn: 59580 | ||||
* | Fix debug printing of flagged SDNodes in SUnits so that they | Dan Gohman | 2008-11-19 | 1 | -12/+12 |
| | | | | | | print in the correct order. llvm-svn: 59567 | ||||
* | Make the same change to RegScavenger::backward. | Evan Cheng | 2008-11-18 | 1 | -9/+28 |
| | | | | llvm-svn: 59566 | ||||
* | We also need to keep the operand index for two address check. | Evan Cheng | 2008-11-18 | 1 | -9/+11 |
| | | | | llvm-svn: 59562 | ||||
* | Register scavenger should process early clobber defs first. A dead early ↵ | Evan Cheng | 2008-11-18 | 1 | -23/+37 |
| | | | | | | clobber def should not interfere with a normal def which happens one slot later. llvm-svn: 59559 | ||||
* | Tidy up ScheduleNodeBottomUp methods, and make them more | Dan Gohman | 2008-11-18 | 2 | -10/+8 |
| | | | | | | consistent with ScheduleNodeTopDown methods. llvm-svn: 59550 | ||||
* | Update a comment to reflect the current code. | Dan Gohman | 2008-11-18 | 1 | -3/+2 |
| | | | | llvm-svn: 59549 | ||||
* | Remove integer promotion support for FP_EXTEND | Duncan Sands | 2008-11-18 | 2 | -16/+1 |
| | | | | | | | | | and FP_ROUND. Not sure what these were doing here - probably they were sometimes (wrongly) created with integer operands somewhere that has since been fixed. llvm-svn: 59548 | ||||
* | Simplify code using helper routines. There is not | Duncan Sands | 2008-11-18 | 2 | -67/+53 |
| | | | | | | supposed to be any functionality change. llvm-svn: 59545 | ||||
* | Fix a bug introduced by my previous patch. With this change, SPEC is now ↵ | Owen Anderson | 2008-11-18 | 1 | -1/+1 |
| | | | | | | clean with prealloc splitting enabled. llvm-svn: 59544 | ||||
* | Add more const qualifiers. This fixes build breakage from r59540. | Dan Gohman | 2008-11-18 | 1 | -1/+1 |
| | | | | llvm-svn: 59542 | ||||
* | Make some methods const. | Dan Gohman | 2008-11-18 | 1 | -2/+4 |
| | | | | llvm-svn: 59540 | ||||
* | Whitespace cleanups. | Dan Gohman | 2008-11-18 | 1 | -2/+2 |
| | | | | llvm-svn: 59532 | ||||
* | LegalizeTypes support for splitting and scalarizing | Duncan Sands | 2008-11-18 | 2 | -11/+27 |
| | | | | | | | | SCALAR_TO_VECTOR. I didn't add the testcase, because once llc gets past scalar-to-vector it hits a SPU target lowering bug and explodes. llvm-svn: 59530 | ||||
* | Rename stackprotector_create intrinsic to stackprotector. | Bill Wendling | 2008-11-18 | 2 | -2/+2 |
| | | | | llvm-svn: 59519 | ||||
* | Reapply r59464, this time using the correct type | Duncan Sands | 2008-11-18 | 2 | -4/+188 |
| | | | | | | when softening FNEG. llvm-svn: 59513 | ||||
* | Remove the stackprotector_check intrinsic. Use a volatile load instead. | Bill Wendling | 2008-11-18 | 2 | -19/+4 |
| | | | | llvm-svn: 59504 | ||||
* | - Use "moveAfter" instead of "remove/insert" of a basic block. | Bill Wendling | 2008-11-18 | 1 | -103/+104 |
| | | | | | | | | | - Use less indentation in coding. - Shorten description. - Update comments. - Move code around llvm-svn: 59496 | ||||
* | Fix a typo in a comment. | Dan Gohman | 2008-11-18 | 1 | -1/+1 |
| | | | | llvm-svn: 59489 | ||||
* | Change SUnit's dump method to take a ScheduleDAG* instead of | Dan Gohman | 2008-11-18 | 4 | -23/+23 |
| | | | | | | a SelectionDAG*. llvm-svn: 59488 | ||||
* | Revert r59464. It was causing this failure: | Bill Wendling | 2008-11-18 | 2 | -188/+4 |
| | | | | | | | | | | | | | | | | | | Running /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/CodeGen/XCore/dg.exp ... FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/CodeGen/XCore/fneg.ll Failed with signal(SIGABRT) at line 1 while running: llvm-as < /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/test/CodeGen/XCore/fneg.ll | llc -march=xcore > fneg.ll.tmp1.s Assertion failed: (VT.isFloatingPoint() && "Cannot create integer FP constant!"), function getConstantFP, file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp, line 913. 0 llc 0x0092115c _ZN4llvm3sys18RemoveFileOnSignalERKNS0_4PathEPSs + 844 1 libSystem.B.dylib 0x9217809b _sigtramp + 43 2 ??? 0xffffffff 0x0 + 4294967295 3 libSystem.B.dylib 0x921f0ec2 raise + 26 4 libSystem.B.dylib 0x9220047f abort + 73 5 libSystem.B.dylib 0x921f2063 __assert_rtn + 101 6 llc 0x005a5b0a _ZN4llvm12SelectionDAG13getConmake[1]: *** [check-local] Error 1 make: *** [check] Error 2 llvm-svn: 59487 | ||||
* | Avoid using a loop in ReleasePred and ReleaseSucc methods to compute the | Dan Gohman | 2008-11-18 | 3 | -55/+64 |
| | | | | | | | | | | | | | new CycleBound value. Instead, just update CycleBound on each call. Also, make ReleasePred and ReleaseSucc methods more consistent accross the various schedulers. This also happens to make ScheduleDAGRRList's CycleBound computation somewhat more interesting, though it still doesn't have any noticeable effect, because no current targets that use the register-pressure reduction scheduler provide pipeline models. llvm-svn: 59475 | ||||
* | Eliminate some trivial differences between the ScheduleNodeTopDown | Dan Gohman | 2008-11-17 | 2 | -6/+8 |
| | | | | | | functions in these two schedulers. llvm-svn: 59465 | ||||
* | Add soft float support for a bunch more operations. Original | Duncan Sands | 2008-11-17 | 2 | -4/+188 |
| | | | | | | | patch by Richard Osborne, tweaked and extended by your humble servant. llvm-svn: 59464 | ||||
* | Don't bother doing latency calculations in the "fast" scheduler. | Dan Gohman | 2008-11-17 | 1 | -15/+5 |
| | | | | llvm-svn: 59461 | ||||
* | Use SUnit's CycleBound field instead of duplicating it in | Dan Gohman | 2008-11-17 | 1 | -8/+9 |
| | | | | | | a side-car datastructure llvm-svn: 59458 | ||||
* | Don't produce ADDC/ADDE when expanding SHL unless they are legal | Richard Osborne | 2008-11-17 | 1 | -1/+2 |
| | | | | | | for the target. This fixes PR3080. llvm-svn: 59450 | ||||
* | Don't use the isPending flag to mean what the isAvailable flag means. | Dan Gohman | 2008-11-17 | 2 | -2/+2 |
| | | | | llvm-svn: 59445 | ||||
* | Fixed legalization of CONVERT_RNDSAT for integers. | Mon P Wang | 2008-11-17 | 2 | -24/+16 |
| | | | | llvm-svn: 59432 | ||||
* | Big PBQP allocator update. Adds coalescing support, stack slot coloring, ↵ | Lang Hames | 2008-11-16 | 1 | -139/+478 |
| | | | | | | several bug-fixes. llvm-svn: 59414 | ||||
* | Improved shuffle normalization to avoid using extract/build when we | Mon P Wang | 2008-11-16 | 1 | -96/+122 |
| | | | | | | | can extract using different indexes for two vectors. Added a few tests for vector shuffles. llvm-svn: 59399 | ||||
* | When splitting a SHUFFLE_VECTOR, try to have the result | Duncan Sands | 2008-11-15 | 1 | -38/+109 |
| | | | | | | | | use SHUFFLE_VECTOR instead. If not practical, fall back to the old scheme of building the split result by hand using a BUILD_VECTOR. llvm-svn: 59361 | ||||
* | Add missing widen operations, fixed widening for extracting a subvector, | Mon P Wang | 2008-11-15 | 1 | -16/+44 |
| | | | | | | | and when loading/storing a widen vector, make sure that they are loaded and stored in consecutive order. llvm-svn: 59357 | ||||
* | Correct a comment. | Dan Gohman | 2008-11-15 | 1 | -1/+1 |
| | | | | llvm-svn: 59341 | ||||
* | Move ScheduleDAGList's LatencyPriorityQueue class out to a separate file. | Dan Gohman | 2008-11-15 | 4 | -259/+291 |
| | | | | llvm-svn: 59340 | ||||
* | Add support for building a ScheduleDAG from MachineInstrs. This is currently | Dan Gohman | 2008-11-14 | 1 | -0/+84 |
| | | | | | | | fairly conservative; it doesn't do alias-analysis queries and it doesn't attempt to break anti-dependencies. llvm-svn: 59324 | ||||
* | Test commit. | Lang Hames | 2008-11-14 | 1 | -0/+1 |
| | | | | llvm-svn: 59293 | ||||
* | For post-regalloc scheduling, remove the instructions from the block | Dan Gohman | 2008-11-14 | 1 | -0/+6 |
| | | | | | | before re-inserting them. llvm-svn: 59281 | ||||
* | Check in the correct version of the patch in r59279. | Dan Gohman | 2008-11-14 | 1 | -1/+1 |
| | | | | llvm-svn: 59280 | ||||
* | Debug printing for SUnits that carry MachineInstrs. | Dan Gohman | 2008-11-14 | 1 | -10/+17 |
| | | | | llvm-svn: 59279 | ||||
* | Initial support for carrying MachineInstrs in SUnits. | Dan Gohman | 2008-11-14 | 2 | -4/+27 |
| | | | | llvm-svn: 59278 | ||||
* | Change DOTGraphTraits<ScheduleDAG*>::getGraphName how to find the name of | Dan Gohman | 2008-11-13 | 1 | -1/+1 |
| | | | | | | the current function on its own, rather than relying on the SelectionDAG. llvm-svn: 59277 | ||||
* | Remove the FlaggedNodes member from SUnit. Instead of requiring each SUnit | Dan Gohman | 2008-11-13 | 6 | -59/+49 |
| | | | | | | | | | | to carry a SmallVector of flagged nodes, just calculate the flagged nodes dynamically when they are needed. The local-liveness change is due to a trivial scheduling change where the scheduler arbitrary decision differently. llvm-svn: 59273 | ||||
* | Don't allow the restore point to be placed after terminators. With this change, | Owen Anderson | 2008-11-13 | 1 | -2/+2 |
| | | | | | | | MultiSource/Applications is clean with the prealloc splitter. Some failures remain in SPEC. llvm-svn: 59267 | ||||
* | Make the Node member of SUnit private, and add accessors. | Dan Gohman | 2008-11-13 | 6 | -47/+47 |
| | | | | llvm-svn: 59264 | ||||
* | Change ScheduleDAG's DAG member from a reference to a pointer, to prepare | Dan Gohman | 2008-11-13 | 6 | -48/+48 |
| | | | | | | for the possibility of scheduling without a SelectionDAG being present. llvm-svn: 59263 |