aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2008-02-20Fix code styleAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47370 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20Remove bunch of gcc 4.3-related warnings from TargetAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47369 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20Update gcc 4.3 warnings fix patch with recent head changesAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47368 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20Unbreak build with gcc 4.3: provide missed includes and silence most ↵Anton Korobeynikov
annoying warnings. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47367 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20Added some comments and reformatted others. No functionality change.Bill Wendling
Added two "FIXMEs" for code that looks dubious to me (but I could be wrong). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47366 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20When performing return slot optimization, remember to inform memdep when ↵Owen Anderson
we're removing the memcpy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47364 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20Added memmove to interpreter external functions list. Patch by Daniel Dunbar.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47363 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20More constification of things. More comments added. No functionalityBill Wendling
changes. (Sorry for any formatting changes that creeped in.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47362 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20Use getConstant for ConstantInts.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47361 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20Add 'umax' similar to 'smax' SCEV. Closes PR2003.Nick Lewycky
Parse reversed smax and umax as smin and umin and express them with negative or binary-not SCEVs (which are really just subtract under the hood). Parse 'xor %x, -1' as (-1 - %x). Remove dead code (ConstantInt::get always returns a ConstantInt). Don't use getIntegerSCEV(-1, Ty). The first value is an int, then it gets passed into a uint64_t. Instead, create the -1 directly from ConstantInt::getAllOnesValue(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47360 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20Fix an incredibly subtle bug exposed by Ted's change to APInt profiling.Chris Lattner
AddNodeIDNode does profiling for a ConstantSDNode, but so does SelectionDAG::getConstant. This profiling should be moved to a common static function in ConstantSDNode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47359 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20No functionality change:Bill Wendling
- Constified some MachineOperand values. - Added/Modified some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47358 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20Disable for now. This is pessimizing code.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47354 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Add Alignment field to ParameterAttributes andDale Johannesen
treat more or less rationally in interface functions, subject to change. No functional change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47352 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Add hidden option -x86-fold-and-in-test to test the effect the test / and ↵Evan Cheng
folding change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47351 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19regenerateDevang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47350 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19ParseDevang Patel
%b = getresult {i32, i32} %a, i32 1 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47349 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Add GetResultInst. First step for multiple return value support.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47348 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Generated files for checkin 47342.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47344 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Forgot a file, goes with 47342.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47343 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Expand ParameterAttributes to 32 bits (in preparationDale Johannesen
for adding alignment info, not there yet). Clean up interfaces to reference ParameterAttributes consistently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47342 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Fixed bug in APInt::Profile() where the BitWidth field was not included in theTed Kremenek
profile of the APSInt object. This caused unexpected Profile collisions where none should have occurred. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47338 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19fix some byval problems in the cbe. Closes PR2065Andrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47337 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19random cleanups.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47334 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Don't fold and's into test instructions if they have multiple uses.Chris Lattner
This compiles test-nofold.ll into: _test: movl $15, %ecx andl 4(%esp), %ecx testl %ecx, %ecx movl $42, %eax cmove %ecx, %eax ret instead of: _test: movl 4(%esp), %eax movl %eax, %ecx andl $15, %ecx testl $15, %eax movl $42, %eax cmove %ecx, %eax ret git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47330 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Fix a compiler warning.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47328 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19remove the LowerSelect pass. The last client was the old Sparc backend, ↵Chris Lattner
which is long dead by now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47323 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19remove the lower packed pass. It can never work and even the parts that Chris Lattner
could work don't work fully. This fixes PR1705. Oh yeah, we don't have packed types anymore either ;-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47322 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Refactor this method a bit, and correct a test that was completely wrong but ↵Owen Anderson
happened to work out anyways. :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47321 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19isa+cast -> dyncast.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47320 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19simplify this code again, try 2 :)Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47319 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Fix a comment.Owen Anderson
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47318 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19In addition to arguments passed to it, memcpy (and all other calls) can ↵Owen Anderson
ModRef pointers that alias their arguments as well. This fixes PR2057. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47317 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Major improvements to yesterday's return slot optimization. Remove some ↵Owen Anderson
unneccessary constraints, and add some others that should have been in from the first place. Document the whole thing better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47315 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Fix some minor issues folding undef, PR2052Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47314 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19fdiv/frem of undef can produce undef, because the undef operand Chris Lattner
can be a SNaN. We could be more aggressive and turn this into unreachable, but that is less nice, and not really worth it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47313 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19regenerateChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47312 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Fix PR2060 by rejecting invalid types for integer constants.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47311 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Factor the profitability check for return slot optimization out into a ↵Owen Anderson
static function. At some point in the future, this check will become smarter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47310 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19An sret parameter is required to be the first parameter, so there's no need ↵Owen Anderson
to loop over all the parameters of the callee looking for it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47309 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Cleanup some of my patches from yesterday. Refactor the check for which xformOwen Anderson
to apply to a memcpy into processInstruction. Also, fix a bug in the check due to missing braces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47307 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Fix Transforms/GVN/memcpy.ll, which Chris broke in r47275 by reordering the ↵Owen Anderson
branches. memcpy's are a kind of CallInst. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47305 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19PR1909: Tail merging pass ran wild. It makes no sense to merge blocks in ↵Evan Cheng
order to save a single instruction since a branch will be inserted for each BB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47301 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19Me not like duplicated comments.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47300 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18- When DAG combiner is folding a bit convert into a BUILD_VECTOR, it should ↵Evan Cheng
check if it's essentially a SCALAR_TO_VECTOR. Avoid turning (v8i16) <10, u, u, u> to <10, 0, u, u, u, u, u, u>. Instead, simply convert it to a SCALAR_TO_VECTOR of the proper type. - X86 now normalize SCALAR_TO_VECTOR to (BIT_CONVERT (v4i32 SCALAR_TO_VECTOR)). Get rid of X86ISD::S2VEC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47290 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18Correctly fold divide-by-constant, even when faced with overflow.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47287 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18Chris pointed out that it's not necessary to set i64 MUL to ExpandDan Gohman
on x86-32 since i64 itself is not a Legal type. And, update some comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47282 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18- Remove the previous check which broke coalescer-commute3.llEvan Cheng
- For now, conservatively ignore copy MI whose source is a physical register. Commuting its def MI can cause a physical register live interval to be live through a loop (since we know it's live coming into the def MI). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47281 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18upgrade some tests.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47280 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18Add a noteNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47279 91177308-0d34-0410-b5e6-96231b3b80d8