aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* At Nick Lewycky's request, rename this test with a more informative name.Dan Gohman2009-01-261-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63042 91177308-0d34-0410-b5e6-96231b3b80d8
* Also revert r63206Bill Wendling2009-01-261-0/+321
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63041 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporarily revert r63025 until the testsuite failures can be fixed.Bill Wendling2009-01-261-12/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63040 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the name of an argument.Dan Gohman2009-01-261-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63037 91177308-0d34-0410-b5e6-96231b3b80d8
* During bittest switch lowering emit shift in the test block, which should ↵Anton Korobeynikov2009-01-261-11/+9
| | | | | | | | (theoretically) allow us to generate more efficient code. We don't do this now though :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63027 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid of a bunch of dead code now that interval reconstruction is enabled.Owen Anderson2009-01-261-321/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63026 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an issue where LiveIntervals was trying to be smart about removing killOwen Anderson2009-01-261-34/+12
| | | | | | | | | | markers, and ended up foiling the interval reconstruction. This allows us to turn on reconstruction in the pre alloc splitter, which fixes a number of miscompilations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63025 91177308-0d34-0410-b5e6-96231b3b80d8
* Enhance logic in X86DAGToDAGISel::PreprocessForRMW which move load inside ↵Evan Cheng2009-01-262-8/+72
| | | | | | callseq_start to allow it to be folded into a call. It was not considering the cases where a token factor is between the load and the callseq_start. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63022 91177308-0d34-0410-b5e6-96231b3b80d8
* Silence a bogus compiler warning.Evan Cheng2009-01-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63021 91177308-0d34-0410-b5e6-96231b3b80d8
* Update VS project files.Steve Naroff2009-01-262-0/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63017 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in BitVector.h. All assignment operations (except the usual Roman Levenstein2009-01-261-3/+3
| | | | | | | | | | assignment operator) were returning a copy of the bit vector, instead of a reference! This old semantics probably did not meet the expectations. With this patch, chained assignments happen to the right object. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63012 91177308-0d34-0410-b5e6-96231b3b80d8
* Actually source file has already been uniquified into an id during isel. ↵Evan Cheng2009-01-263-40/+12
| | | | | | Eliminate the StringMap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63009 91177308-0d34-0410-b5e6-96231b3b80d8
* Add data structure to define and track debug location during codegen.Evan Cheng2009-01-263-1/+150
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63008 91177308-0d34-0410-b5e6-96231b3b80d8
* Looks like comments were chopped off.Evan Cheng2009-01-261-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63007 91177308-0d34-0410-b5e6-96231b3b80d8
* LLVM_SUPPORT_DEBUGINFO_H -> LLVM_ANALYSIS_DEBUGINFO_H since DebugInfo.h is ↵Evan Cheng2009-01-261-2/+2
| | | | | | under Analysis. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63005 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed optimization of combining two shuffles where the first shuffle inputsMon P Wang2009-01-262-1/+22
| | | | | | | has a different number of elements than the output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62998 91177308-0d34-0410-b5e6-96231b3b80d8
* Take the next steps in making SDUse more consistent with LLVM Use, andDan Gohman2009-01-265-266/+238
| | | | | | | | | | | | | | | | | | tidy up SDUse and related code. - Replace the operator= member functions with a set method, like LLVM Use has, and variants setInitial and setNode, which take care up updating use lists, like LLVM Use's does. This simplifies code that calls these functions. - getSDValue() is renamed to get(), as in LLVM Use, though most places can either use the implicit conversion to SDValue or the convenience functions instead. - Fix some more node vs. value terminology issues. Also, eliminate the one remaining use of SDOperandPtr, and SDOperandPtr itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62995 91177308-0d34-0410-b5e6-96231b3b80d8
* Untabify code.Scott Michel2009-01-266-49/+49
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62991 91177308-0d34-0410-b5e6-96231b3b80d8
* CellSPU:Scott Michel2009-01-2611-300/+552
| | | | | | | | | | | | | | | | | - Rename fcmp.ll test to fcmp32.ll, start adding new double tests to fcmp64.ll - Fix select_bits.ll test - Capitulate to the DAGCombiner and move i64 constant loads to instruction selection (SPUISelDAGtoDAG.cpp). <rant>DAGCombiner will insert all kinds of 64-bit optimizations after operation legalization occurs and now we have to do most of the work that instruction selection should be doing twice (once to determine if v2i64 build_vector can be handled by SelectCode(), which then runs all of the predicates a second time to select the necessary instructions.) But, CellSPU is a good citizen.</rant> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62990 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typoNate Begeman2009-01-261-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62989 91177308-0d34-0410-b5e6-96231b3b80d8
* De-identifying per sabre reviewNate Begeman2009-01-261-56/+59
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62988 91177308-0d34-0410-b5e6-96231b3b80d8
* Build libLTO on any platform so long as PIC is enabled.Nick Lewycky2009-01-262-8/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62987 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some documentation for address-space-based access to the segment registers.Nate Begeman2009-01-261-1/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62986 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle single-entry phi nodes gracefully in condprop.Chris Lattner2009-01-262-0/+45
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62985 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR3408 by making a non-obvious assumption very obvious, and Chris Lattner2009-01-262-2/+27
| | | | | | | handling the flaw inherent in that assumption. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62984 91177308-0d34-0410-b5e6-96231b3b80d8
* More cleanups and simplifications, no functionality change.Chris Lattner2009-01-261-47/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62983 91177308-0d34-0410-b5e6-96231b3b80d8
* tidy assertsChris Lattner2009-01-261-18/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62982 91177308-0d34-0410-b5e6-96231b3b80d8
* Map address space 256 to gs; similar mappings could be supported for theNate Begeman2009-01-263-0/+28
| | | | | | | | other x86 segments. address space 0 is stack/default, 1-255 are reserved for client use. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62980 91177308-0d34-0410-b5e6-96231b3b80d8
* Support pattern matching various x86 sse shifts.Nate Begeman2009-01-261-0/+93
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62979 91177308-0d34-0410-b5e6-96231b3b80d8
* silence a warning when assertions are disabled.Chris Lattner2009-01-251-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62976 91177308-0d34-0410-b5e6-96231b3b80d8
* should have removed the + when manually applying a patch!Torok Edwin2009-01-251-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62973 91177308-0d34-0410-b5e6-96231b3b80d8
* revert this patch for now, because Codegen does still want to generate SSE code,Torok Edwin2009-01-253-0/+8
| | | | | | | for example in the case of va-args. XFAIL associated tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62972 91177308-0d34-0410-b5e6-96231b3b80d8
* testcase for llvm-gcc part of PR3402.Torok Edwin2009-01-251-0/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62969 91177308-0d34-0410-b5e6-96231b3b80d8
* If user explicitly asks not to use SSE, don't force it. This fixes LLVM part ↵Torok Edwin2009-01-252-2/+20
| | | | | | of PR3402. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62967 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate the loop that searches through each of the operandsDan Gohman2009-01-252-196/+179
| | | | | | | | | | | | of each use in the SelectionDAG ReplaceAllUses* functions. Thanks to Chris for spotting this opportunity. Also, factor out code from all 5 of the ReplaceAllUses* functions into AddNonLeafNodeToCSEMaps, which is now renamed AddModifiedNodeToCSEMaps to more accurately reflect its purpose. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62964 91177308-0d34-0410-b5e6-96231b3b80d8
* Whitespace tidiments.Dan Gohman2009-01-251-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62963 91177308-0d34-0410-b5e6-96231b3b80d8
* Move the N->use_empty() assert from DeleteNode toDan Gohman2009-01-251-3/+2
| | | | | | | | DeleteNodeNotInCSEMaps, since DeleteNode just calls DeleteNodeNotInCSEMaps. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62962 91177308-0d34-0410-b5e6-96231b3b80d8
* Reality-check the FAQ entry for "Can I use LLVM to convert C++ to C?"Dan Gohman2009-01-251-12/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62961 91177308-0d34-0410-b5e6-96231b3b80d8
* Start generating arbitrary precision integer SCEVs. This removes the temporaryNick Lewycky2009-01-251-11/+1
| | | | | | | code that rounded up and capped the size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62958 91177308-0d34-0410-b5e6-96231b3b80d8
* Actually run the test in this directory.Nick Lewycky2009-01-251-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62957 91177308-0d34-0410-b5e6-96231b3b80d8
* The function that does nothing but call malloc is noalias return.Nick Lewycky2009-01-252-5/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62956 91177308-0d34-0410-b5e6-96231b3b80d8
* Private linkage support for PPC / Darwin.Evan Cheng2009-01-252-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62955 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach 2addr pass to be do more commuting. If both uses of a two-address ↵Evan Cheng2009-01-255-9/+132
| | | | | | | | | | | | | | | | | | | | | | instruction are killed, but the first operand has a use before and after the def, commute if the second operand does not suffer from the same issue. %reg1028<def> = EXTRACT_SUBREG %reg1027<kill>, 1 %reg1029<def> = MOV8rr %reg1028 %reg1029<def> = SHR8ri %reg1029, 7, %EFLAGS<imp-def,dead> insert => %reg1030<def> = MOV8rr %reg1028 %reg1030<def> = ADD8rr %reg1028<kill>, %reg1029<kill>, %EFLAGS<imp-def,dead> In this case, it might not be possible to coalesce the second MOV8rr instruction if the first one is coalesced. So it would be profitable to commute it: %reg1028<def> = EXTRACT_SUBREG %reg1027<kill>, 1 %reg1029<def> = MOV8rr %reg1028 %reg1029<def> = SHR8ri %reg1029, 7, %EFLAGS<imp-def,dead> insert => %reg1030<def> = MOV8rr %reg1029 %reg1030<def> = ADD8rr %reg1029<kill>, %reg1028<kill>, %EFLAGS<imp-def,dead> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62954 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an indent and a typo.Nate Begeman2009-01-242-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62940 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert previous change; even this mild and clearlyDale Johannesen2009-01-241-7/+4
| | | | | | | | | more accurate change loses more than it gains on benchmarks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62938 91177308-0d34-0410-b5e6-96231b3b80d8
* add note about possible GEP improvement with fields of size 0.Torok Edwin2009-01-241-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62925 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a PR comment to this test.Dan Gohman2009-01-241-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62921 91177308-0d34-0410-b5e6-96231b3b80d8
* testcase for PR3381.Torok Edwin2009-01-242-1/+19
| | | | | | | Also it was an empty struct, not a void after all. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62920 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more documentation mentioning the limitations due to PR2660.Dan Gohman2009-01-241-2/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62919 91177308-0d34-0410-b5e6-96231b3b80d8
* void* is represented as pointer to empty struct {}.Torok Edwin2009-01-241-0/+2
| | | | | | | | Thus we need to check whether the struct is empty before trying to index into it. This fixes PR3381. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62918 91177308-0d34-0410-b5e6-96231b3b80d8