summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Fix the issues originally addressed in r54070. After thinking about it some ↵Owen Anderson2008-07-251-2/+19
| | | | | | | | | | more, I realized that the right thing to do is to have StrongPHIElimination use its knowledge of the PHIs before they're erased to update the intervals appropriate. This is both simpler and more accurate than the alternative, which was having LIA figure it out when it renumbered things, plus it's just the right thing to do! llvm-svn: 54077
* Revert my previous patch. In retrospect, this is completely the wrong way ↵Owen Anderson2008-07-251-66/+15
| | | | | | to fix this problem. llvm-svn: 54072
* Special cases are needed in renumbering when dealing with renumbering after ↵Owen Anderson2008-07-251-15/+66
| | | | | | | | | a PHI has been removed. The interval previously defined by the PHI needs to be extended to the beginning of its basic block, and the intervals that were inputs need to be trimmed to the end of their basic blocks. llvm-svn: 54070
* In order to avoid reprocessing a register more than once, we need to add itOwen Anderson2008-07-251-1/+1
| | | | | | to the handled set so it will get filtered out in future iterations. llvm-svn: 54065
* Remove live interval entries for an interval if we're eliminating its only VN.Owen Anderson2008-07-251-1/+6
| | | | llvm-svn: 54062
* Properly remap live ranges whose end indices are the end of the function.Owen Anderson2008-07-251-4/+13
| | | | llvm-svn: 54061
* Rename the version of CreateRet that's a convenience method for creatingDan Gohman2008-07-251-5/+8
| | | | | | | multiple-valued return values, so that the name CreateRet is just for creating plain ret statements. llvm-svn: 54053
* Make the remapping of interval indices (particularly ending indices) more ↵Owen Anderson2008-07-251-10/+15
| | | | | | | | | robust. This is tricky business, and will probably take a few more iterations to get the last kinks out of it. llvm-svn: 54043
* Fix error: ‘std::ostream’ has not been declaredDuncan Sands2008-07-251-0/+1
| | | | | | when compiling with gcc 4.3. llvm-svn: 54041
* Fix test RUN lineNate Begeman2008-07-251-1/+1
| | | | llvm-svn: 54040
* Disable mov{L, LP, HP, HLP, *DUP} shuffles for mmxNate Begeman2008-07-252-15/+31
| | | | | | | | mmx needs its own fancy shuffle logic based on unpack; for now we get correct but awful code. Also commit Mon Ping's VSETCC patch llvm-svn: 54039
* Remove unnecessary implicit argumentNate Begeman2008-07-252-8/+10
| | | | llvm-svn: 54031
* Fix minor issues with VICmp/VFCmp constant expressionsNate Begeman2008-07-253-16/+22
| | | | llvm-svn: 54030
* Fit in 80 colsNate Begeman2008-07-251-2/+2
| | | | llvm-svn: 54029
* Allow verifier to be run on partially materialized modules.Nate Begeman2008-07-251-1/+2
| | | | llvm-svn: 54028
* Add predicate for GhostLinkage, used by the JITNate Begeman2008-07-251-0/+1
| | | | llvm-svn: 54027
* Remove dead PatLeaf; there are a number of issues around MMX movl that need ↵Nate Begeman2008-07-251-5/+0
| | | | | | to be fixed. llvm-svn: 54026
* Tab removalNate Begeman2008-07-251-1/+1
| | | | llvm-svn: 54025
* Add a #include for the uses of uint64_t.Dan Gohman2008-07-251-0/+1
| | | | llvm-svn: 54016
* This test needs -aggressive-remat enabled.Dan Gohman2008-07-251-1/+1
| | | | llvm-svn: 54015
* Disable the new aggressive remat logic introduced in 54000; it causes someDan Gohman2008-07-251-0/+4
| | | | | | | regressions, such as PR2595. Also, there is a significant code-quality issue in SPEC 464.h264ref and a few others. llvm-svn: 54014
* When splitting a vector shuffle, fixed which type we used for the hi partMon P Wang2008-07-251-1/+1
| | | | llvm-svn: 54007
* Teach ARM isLegalAddressingMode to handle unknown type without crashing. ↵Evan Cheng2008-07-252-1/+10
| | | | | | This fixes pr2589. llvm-svn: 54004
* Add a #include <cassert>, since this file use assert.Dan Gohman2008-07-251-0/+1
| | | | llvm-svn: 54003
* Apply a patch from Mahadevan R, with minor formatting changes, toDan Gohman2008-07-251-1/+7
| | | | | | workaround a GCC 3.3 bug observed on OpenBSD. llvm-svn: 54002
* Use AliasAnalysis::pointsToConstantMemory in SDISel to avoid unnecessaryDan Gohman2008-07-251-7/+15
| | | | | | | dependencies with constant load nodes. This allows them to be scheduled freely. llvm-svn: 54001
* Enable rematerialization of constants using ↵Dan Gohman2008-07-256-15/+140
| | | | | | | | | | AliasAnalysis::pointsToConstantMemory, and knowledge of PseudoSourceValues. This unfortunately isn't sufficient to allow constants to be rematerialized in PIC mode -- the extra indirection is a complication. llvm-svn: 54000
* Put the LICM of constant GlobalVariables, introduced in r53945, under aDan Gohman2008-07-242-2/+12
| | | | | | | command-line option, and disable it by default. It introduced performance regressions because CodeGen is currently not able to remat such loads. llvm-svn: 53997
* Add target triples so these tests behave as expected on non-darwin hosts.Dan Gohman2008-07-243-3/+3
| | | | llvm-svn: 53991
* Avoid emitting casts in static initializer contexts. This fixesDan Gohman2008-07-241-65/+62
| | | | | | large numbers of CBE regressions caused by r53958. llvm-svn: 53990
* Store the predecessor MBB in the PHIUnion, rather than an index, since the ↵Owen Anderson2008-07-241-26/+28
| | | | | | indices will change after renumbering. llvm-svn: 53985
* Fix a catastrophic PPC64 ABI bug: i32 operands which are passed in memory ↵Evan Cheng2008-07-242-0/+12
| | | | | | (all of the parameter registers are used) are loaded from sp offsets that were off by 4. llvm-svn: 53979
* Create temp. file in current path.Devang Patel2008-07-241-6/+3
| | | | llvm-svn: 53973
* Identify llvm bit-code file that is causing linking failure in LTO mode.Devang Patel2008-07-242-18/+144
| | | | llvm-svn: 53972
* New test case.Evan Cheng2008-07-241-0/+7
| | | | llvm-svn: 53971
* Rename instance variables, parameter argument names to eliminate a bunch of ↵Evan Cheng2008-07-244-241/+246
| | | | | | compilation warnings with -Wshadow. llvm-svn: 53970
* Enable the insertion of empty indices into LiveInterals, thereby making ↵Owen Anderson2008-07-231-70/+80
| | | | | | renumbering possible. llvm-svn: 53961
* Fix a compile-time regression introduced by my heuristic-changing patch. I ↵Owen Anderson2008-07-234-4/+5
| | | | | | | | | forgot to multiply the instruction count by a constant factor in a few places, which caused the register allocator to require many more iterations. llvm-svn: 53959
* Use C99 aggregate literal syntax for first-class struct and array values.Dan Gohman2008-07-231-0/+8
| | | | | | This fixes several recent CBE regressions. llvm-svn: 53958
* Minor fixes.Bruno Cardoso Lopes2008-07-235-28/+54
| | | | | | Added ConstantPool support. llvm-svn: 53951
* Make CreateBinOp/CreateNeg/CreateNot do constant folding.Chris Lattner2008-07-231-4/+11
| | | | llvm-svn: 53950
* "Allow LICM to sink or lift loads from constant memory. Also add a testChris Lattner2008-07-232-0/+28
| | | | | | | | | | | case for this. This allows instructions like loads from global variables declared to be constant to be moved out of loops." Patch by Stefanus Du Toit! llvm-svn: 53945
* 'Previously, the emacs tablegen mode would highlight constants even if Chris Lattner2008-07-231-4/+4
| | | | | | | | | | they appear in words. This would cause things like the "128" in "VR128" to be highlighted. This patch fixes the highlighting by only recognizing constants when they have word breaks around them.' Patch by Stefanus Du Toit! llvm-svn: 53944
* Update the generated .cvs files.Dan Gohman2008-07-233-307/+345
| | | | llvm-svn: 53943
* Enable first-class aggregates support.Dan Gohman2008-07-2329-559/+168
| | | | | | | | | | | | Remove the GetResultInst instruction. It is still accepted in LLVM assembly and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove support for return instructions with multiple values. These are auto-upgraded to use InsertValueInst instructions. The IRBuilder still accepts multiple-value returns, and auto-upgrades them to InsertValueInst instructions. llvm-svn: 53941
* Fix PR2485: do all 4-element SSE shuffles in max. of 2 shuffle instructions.Evan Cheng2008-07-234-9/+72
| | | | | | Based on patch by Nicolas Capens. llvm-svn: 53939
* LegalizeTypes support for VSETCC. Fixes PR2575.Duncan Sands2008-07-223-9/+68
| | | | llvm-svn: 53938
* Change the heuristics used in the coalescer, register allocator, and withinOwen Anderson2008-07-225-14/+29
| | | | | | | live intervals itself to use an instruction count approximation that is not affected by inserting empty indices. llvm-svn: 53937
* Quit early, if unable to reproduce error using original input files.Devang Patel2008-07-222-1/+86
| | | | | | Quit, if unable to fix error when linker input files are all native object files. llvm-svn: 53935
* Factor out SSE 4 wide shuffle lowering code into its own function. No ↵Evan Cheng2008-07-221-104/+106
| | | | | | functionality changes. llvm-svn: 53933
OpenPOWER on IntegriCloud