oota-llvm.git
14 years agoUpdate cmake library dependencies.
Oscar Fuentes [Mon, 9 Aug 2010 20:33:20 +0000 (20:33 +0000)]
Update cmake library dependencies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110594 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCMake: eliminated unnecessary target_link_libraries.
Oscar Fuentes [Mon, 9 Aug 2010 20:33:08 +0000 (20:33 +0000)]
CMake: eliminated unnecessary target_link_libraries.

Next time the build is broken due to wrong library dependencies, just
try building again (if you are on some Unix and are building all LLVM
targets) or ask someone to commit the regenerated LLVMLibDeps.cmake.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110593 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoIt is ok, and convenient, to pass descriptors by value.
Devang Patel [Mon, 9 Aug 2010 20:20:05 +0000 (20:20 +0000)]
It is ok, and convenient, to pass descriptors by value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110590 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoA REG_SEQUENCE instruction may use the same register twice.
Jakob Stoklund Olesen [Mon, 9 Aug 2010 20:19:16 +0000 (20:19 +0000)]
A REG_SEQUENCE instruction may use the same register twice.

If we are emitting COPY instructions for the REG_SEQUENCE, make sure the kill
flag goes on the last COPY. Otherwise we may be using a killed register.

<rdar://problem/8287792>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110589 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoExplicitly initialize SlowFPBrcc and Pref32BitThumb to false.
Evan Cheng [Mon, 9 Aug 2010 19:19:36 +0000 (19:19 +0000)]
Explicitly initialize SlowFPBrcc and Pref32BitThumb to false.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110587 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRename a method.
Devang Patel [Mon, 9 Aug 2010 18:51:29 +0000 (18:51 +0000)]
Rename a method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110586 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoChange -prefer-32bit-thumb to attribute -mattr=+32bit instead to disable more 32...
Evan Cheng [Mon, 9 Aug 2010 18:35:19 +0000 (18:35 +0000)]
Change -prefer-32bit-thumb to attribute -mattr=+32bit instead to disable more 32-bit to 16-bit optimizations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110584 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMemory version of vcvtdq2pd intrinsic
Bruno Cardoso Lopes [Mon, 9 Aug 2010 18:20:14 +0000 (18:20 +0000)]
Memory version of vcvtdq2pd intrinsic

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110582 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPatterns to match vinsert, vbroadcast, vmovmask and vcvtdq2pd AVX intrinsics
Bruno Cardoso Lopes [Mon, 9 Aug 2010 18:03:43 +0000 (18:03 +0000)]
Patterns to match vinsert, vbroadcast, vmovmask and vcvtdq2pd AVX intrinsics

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110580 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd an option to disable 32 -> 16-bit Thumb2 size reduction pass for experimentation.
Evan Cheng [Mon, 9 Aug 2010 17:16:10 +0000 (17:16 +0000)]
Add an option to disable 32 -> 16-bit Thumb2 size reduction pass for experimentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110579 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove the ValueMap operator=, which was wrong (it did't correct the
Duncan Sands [Mon, 9 Aug 2010 16:44:56 +0000 (16:44 +0000)]
Remove the ValueMap operator=, which was wrong (it did't correct the
Map pointers of any contained ValueMapCallbackVH's) and unused.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110577 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoHave SPU handle halfvec stores aligned by 8 bytes.
Kalle Raiskila [Mon, 9 Aug 2010 16:33:00 +0000 (16:33 +0000)]
Have SPU handle halfvec stores aligned by 8 bytes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110576 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC/MachO: Fix possible null pointer dereference.
Michael J. Spencer [Mon, 9 Aug 2010 15:28:05 +0000 (15:28 +0000)]
MC/MachO: Fix possible null pointer dereference.

Discovered by Microsoft Visual Studio 2010 Code Analysis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110575 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoXFAIL for mingw that has no plugins.
Rafael Espindola [Mon, 9 Aug 2010 15:14:06 +0000 (15:14 +0000)]
XFAIL for mingw that has no plugins.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110574 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDon't try to build a plugin on windows.
Rafael Espindola [Mon, 9 Aug 2010 14:05:42 +0000 (14:05 +0000)]
Don't try to build a plugin on windows.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110573 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoStop the JIT from refusing to work just because the program it was compiled into
Nick Lewycky [Mon, 9 Aug 2010 07:20:20 +0000 (07:20 +0000)]
Stop the JIT from refusing to work just because the program it was compiled into
was built with -static.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110564 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCMake: llvm_map_components_to_libraries now returns system libs too.
Oscar Fuentes [Mon, 9 Aug 2010 03:47:11 +0000 (03:47 +0000)]
CMake: llvm_map_components_to_libraries now returns system libs too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110563 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoChange the Interval type to signed in ImmutableIntervalMap.h.
Zhongxing Xu [Mon, 9 Aug 2010 03:43:39 +0000 (03:43 +0000)]
Change the Interval type to signed in ImmutableIntervalMap.h.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110562 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCMake: document how to incorporate LLVM into the cmake project of an
Oscar Fuentes [Mon, 9 Aug 2010 03:26:48 +0000 (03:26 +0000)]
CMake: document how to incorporate LLVM into the cmake project of an
external project.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110561 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCMake: system for providing llvm-config-like features to the user.
Oscar Fuentes [Mon, 9 Aug 2010 03:26:43 +0000 (03:26 +0000)]
CMake: system for providing llvm-config-like features to the user.

The user can use a cmake function for obtaining the LLVM libraries
corresponding to a list of LLVM components.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110560 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCMake: documented testing procedure
Oscar Fuentes [Mon, 9 Aug 2010 02:49:39 +0000 (02:49 +0000)]
CMake: documented testing procedure

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110559 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agollc: Fix help typo as pointed out by Nick Lewycky.
Michael J. Spencer [Sun, 8 Aug 2010 23:26:49 +0000 (23:26 +0000)]
llc: Fix help typo as pointed out by Nick Lewycky.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110556 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a opt-args option that can be used to pass arguments to every opt
Rafael Espindola [Sun, 8 Aug 2010 22:14:20 +0000 (22:14 +0000)]
Add a opt-args option that can be used to pass arguments to every opt
invocation. Fixes PR7793:

bugpoint -debug test.ll --opt-args -unroll-count=4

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110555 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agos/libLLVMgold/LLVMgold/g
Rafael Espindola [Sun, 8 Aug 2010 21:14:26 +0000 (21:14 +0000)]
s/libLLVMgold/LLVMgold/g

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110552 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove unused variable.
Benjamin Kramer [Sun, 8 Aug 2010 19:54:10 +0000 (19:54 +0000)]
Remove unused variable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110551 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove the ValueMap copy constructor. It's not used anywhere,
Duncan Sands [Sun, 8 Aug 2010 12:57:48 +0000 (12:57 +0000)]
Remove the ValueMap copy constructor.  It's not used anywhere,
and removing it catches the mistake of passing a ValueMap by
copy rather than by reference.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110549 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRegenerate.
Eric Christopher [Sun, 8 Aug 2010 09:20:39 +0000 (09:20 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110548 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a bit of a hack to avoid multiple defines of variables in
Eric Christopher [Sun, 8 Aug 2010 09:18:29 +0000 (09:18 +0000)]
Add a bit of a hack to avoid multiple defines of variables in
config.h and llvm-config.h.  This could probably be improved.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110547 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd optimization to Target/README.txt.
Nick Lewycky [Sun, 8 Aug 2010 07:04:25 +0000 (07:04 +0000)]
Add optimization to Target/README.txt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110543 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReject unrepresentable pointer types in intrinsics. Fixes PR7316.
Nick Lewycky [Sun, 8 Aug 2010 06:12:09 +0000 (06:12 +0000)]
Reject unrepresentable pointer types in intrinsics. Fixes PR7316.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110541 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse the "isCompare" machine instruction attribute instead of calling the
Bill Wendling [Sun, 8 Aug 2010 05:04:59 +0000 (05:04 +0000)]
Use the "isCompare" machine instruction attribute instead of calling the
relatively expensive comparison analyzer on each instruction. Also rename the
comparison analyzer method to something more in line with what it actually does.

This pass is will eventually be folded into the Machine CSE pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110539 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDo more to modernize MergeFunctions. Refactor in response to Chris' code review.
Nick Lewycky [Sun, 8 Aug 2010 05:04:23 +0000 (05:04 +0000)]
Do more to modernize MergeFunctions. Refactor in response to Chris' code review.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110538 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCMake: set configure macro LLVM_PREFIX
Oscar Fuentes [Sun, 8 Aug 2010 04:32:21 +0000 (04:32 +0000)]
CMake: set configure macro LLVM_PREFIX

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110536 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCMake: configure header llvm-config.h
Oscar Fuentes [Sun, 8 Aug 2010 04:17:18 +0000 (04:17 +0000)]
CMake: configure header llvm-config.h

This is the cmake equivalent of r110532, which fixed bug #7809.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110535 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMost of bugpoint now only needs to know the pass names.
Rafael Espindola [Sun, 8 Aug 2010 03:55:08 +0000 (03:55 +0000)]
Most of bugpoint now only needs to know the pass names.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110534 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRegenerate.
Eric Christopher [Sun, 8 Aug 2010 02:44:25 +0000 (02:44 +0000)]
Regenerate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110533 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix PR7809 by creating a header for just llvm variables that can be
Eric Christopher [Sun, 8 Aug 2010 02:44:17 +0000 (02:44 +0000)]
Fix PR7809 by creating a header for just llvm variables that can be
included in exported interfaces.  Update a couple of exported interfaces.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110532 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd back in r109901, which adds a Compare flag to the target instructions. It's
Bill Wendling [Sun, 8 Aug 2010 01:49:35 +0000 (01:49 +0000)]
Add back in r109901, which adds a Compare flag to the target instructions. It's
useful after all.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110531 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse %shlibext instead of .so
Rafael Espindola [Sun, 8 Aug 2010 00:55:59 +0000 (00:55 +0000)]
Use %shlibext instead of .so

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110529 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTry to fix cmake build.
Rafael Espindola [Sun, 8 Aug 2010 00:50:57 +0000 (00:50 +0000)]
Try to fix cmake build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110528 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix a couple of warnings.
Eric Christopher [Sun, 8 Aug 2010 00:00:34 +0000 (00:00 +0000)]
Fix a couple of warnings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110527 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRun opt instead of bugpoint itself.
Rafael Espindola [Sat, 7 Aug 2010 23:03:21 +0000 (23:03 +0000)]
Run opt instead of bugpoint itself.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110524 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAnother missing file :-(
Rafael Espindola [Sat, 7 Aug 2010 21:58:44 +0000 (21:58 +0000)]
Another missing file :-(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110522 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd missing file.
Rafael Espindola [Sat, 7 Aug 2010 21:53:04 +0000 (21:53 +0000)]
Add missing file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110521 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove the bugpoint test passes to a plugin in preparation for having bugpoint
Rafael Espindola [Sat, 7 Aug 2010 21:48:09 +0000 (21:48 +0000)]
Move the bugpoint test passes to a plugin in preparation for having bugpoint
use opt.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110520 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRoll back my last two commits, valgrind complains.
Benjamin Kramer [Sat, 7 Aug 2010 13:27:41 +0000 (13:27 +0000)]
Roll back my last two commits, valgrind complains.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110518 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoA reference to the Timer's name is safe, it outlives the contents of the vector.
Benjamin Kramer [Sat, 7 Aug 2010 13:07:57 +0000 (13:07 +0000)]
A reference to the Timer's name is safe, it outlives the contents of the vector.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110517 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoKill rarely used std::sort.
Benjamin Kramer [Sat, 7 Aug 2010 12:37:00 +0000 (12:37 +0000)]
Kill rarely used std::sort.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110516 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoShrink PassNameParser's binary size with array_pod_sort.
Benjamin Kramer [Sat, 7 Aug 2010 11:45:42 +0000 (11:45 +0000)]
Shrink PassNameParser's binary size with array_pod_sort.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110512 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove layering violation.
Owen Anderson [Sat, 7 Aug 2010 06:01:13 +0000 (06:01 +0000)]
Remove layering violation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110505 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd an inverse() method to ConstantRange.
Owen Anderson [Sat, 7 Aug 2010 05:47:46 +0000 (05:47 +0000)]
Add an inverse() method to ConstantRange.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110504 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix typo.
Nick Lewycky [Sat, 7 Aug 2010 05:25:29 +0000 (05:25 +0000)]
Fix typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110502 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove assignPassManager's default arguments. It's really
Dan Gohman [Sat, 7 Aug 2010 01:25:32 +0000 (01:25 +0000)]
Remove assignPassManager's default arguments. It's really
confusing to have different arguments for the same virtual
function at different levels of the class hierarchy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110500 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMore #include cleanups.
Dan Gohman [Sat, 7 Aug 2010 01:18:18 +0000 (01:18 +0000)]
More #include cleanups.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110499 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDelete this explicit assignment operator; it's equivalent to
Dan Gohman [Sat, 7 Aug 2010 01:17:47 +0000 (01:17 +0000)]
Delete this explicit assignment operator; it's equivalent to
the implicit one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110498 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoOops, check in this file too.
Dan Gohman [Sat, 7 Aug 2010 01:04:15 +0000 (01:04 +0000)]
Oops, check in this file too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110496 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTidy up PMStack. Add a bunch of consts, use std::vector instead of
Dan Gohman [Sat, 7 Aug 2010 00:53:01 +0000 (00:53 +0000)]
Tidy up PMStack. Add a bunch of consts, use std::vector instead of
std::deque, since this is a stack and only supports push/pop on
one end, and remove an unimplemented declaration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110495 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTidy some #includes and forward-declarations, and move the C binding code
Dan Gohman [Sat, 7 Aug 2010 00:43:20 +0000 (00:43 +0000)]
Tidy some #includes and forward-declarations, and move the C binding code
out of PassManager.cpp and into Core.cpp with the rest of the C binding code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110494 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a convenience constructor.
Owen Anderson [Sat, 7 Aug 2010 00:42:06 +0000 (00:42 +0000)]
Add a convenience constructor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110493 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake AnalysisImpls private.
Dan Gohman [Sat, 7 Aug 2010 00:34:52 +0000 (00:34 +0000)]
Make AnalysisImpls private.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110492 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUse sdmem and sse_load_f64 (etc.) for the vector
Dale Johannesen [Sat, 7 Aug 2010 00:33:42 +0000 (00:33 +0000)]
Use sdmem and sse_load_f64 (etc.) for the vector
form of CMPSD (etc.)  Matching a 128-bit memory
operand is wrong, the instruction uses only 64 bits
(same as ADDSD etc.)  8193553.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110491 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDon't attempt the PRE inline asm calls, since we don't value number them yet. Fixes...
Owen Anderson [Sat, 7 Aug 2010 00:20:35 +0000 (00:20 +0000)]
Don't attempt the PRE inline asm calls, since we don't value number them yet.  Fixes PR7835.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110489 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a predicate to determine if a call is an inline asm statement.
Owen Anderson [Sat, 7 Aug 2010 00:19:59 +0000 (00:19 +0000)]
Add a predicate to determine if a call is an inline asm statement.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110488 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSome cleanup. Use a class (OptionInfo) instead of a pair of a pair and remove
Rafael Espindola [Fri, 6 Aug 2010 23:03:52 +0000 (23:03 +0000)]
Some cleanup. Use a class (OptionInfo) instead of a pair of a pair and remove
some default values that are not used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110485 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoLazily defer duplicating the live interval we are splitting until we know it is
Jakob Stoklund Olesen [Fri, 6 Aug 2010 22:17:33 +0000 (22:17 +0000)]
Lazily defer duplicating the live interval we are splitting until we know it is
necessary.

Sometimes, live range splitting doesn't shrink the current interval, but simply
changes some instructions to use a new interval. That makes the original more
suitable for spilling. In this case, we don't need to duplicate the original.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110481 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPatterns to match AVX 256-bit vzero intrinsics
Bruno Cardoso Lopes [Fri, 6 Aug 2010 22:10:01 +0000 (22:10 +0000)]
Patterns to match AVX 256-bit vzero intrinsics

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110480 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoEliminate PromoteMemoryToRegisterID; just use addPreserved("mem2reg")
Dan Gohman [Fri, 6 Aug 2010 21:48:06 +0000 (21:48 +0000)]
Eliminate PromoteMemoryToRegisterID; just use addPreserved("mem2reg")
instead, as an example of what this looks like.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110478 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agollc: Clarify -mc-relax-all description.
Michael J. Spencer [Fri, 6 Aug 2010 21:37:45 +0000 (21:37 +0000)]
llc: Clarify -mc-relax-all description.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110477 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agotidy up
Jim Grosbach [Fri, 6 Aug 2010 21:31:35 +0000 (21:31 +0000)]
tidy up

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110476 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMC: Add default value for AddrSpace argument to EmitValue.
Daniel Dunbar [Fri, 6 Aug 2010 21:24:05 +0000 (21:24 +0000)]
MC: Add default value for AddrSpace argument to EmitValue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110475 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPatterns to match AVX 256-bit permutation intrinsics
Bruno Cardoso Lopes [Fri, 6 Aug 2010 20:03:27 +0000 (20:03 +0000)]
Patterns to match AVX 256-bit permutation intrinsics

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110468 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTest case for r110459. Radar 8264751. Test case by Fariborz Jahanian!
Stuart Hastings [Fri, 6 Aug 2010 19:02:24 +0000 (19:02 +0000)]
Test case for r110459.  Radar 8264751.  Test case by Fariborz Jahanian!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110467 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoCleanup comment wording
Jim Grosbach [Fri, 6 Aug 2010 18:59:07 +0000 (18:59 +0000)]
Cleanup comment wording

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110466 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove empty processFunctionBeforeFrameFinalized(). The default
Jim Grosbach [Fri, 6 Aug 2010 18:57:24 +0000 (18:57 +0000)]
Remove empty processFunctionBeforeFrameFinalized(). The default
implementation of the function is equivalent, so no need to provide
the target-specific version until/unless it needs to do something.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110465 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoKeep the MachiuneFunctionPass pointer around. It is useful for verification.
Jakob Stoklund Olesen [Fri, 6 Aug 2010 18:47:06 +0000 (18:47 +0000)]
Keep the MachiuneFunctionPass pointer around. It is useful for verification.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110464 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd LiveInterval::RenumberValues - Garbage collection for VNInfos.
Jakob Stoklund Olesen [Fri, 6 Aug 2010 18:46:59 +0000 (18:46 +0000)]
Add LiveInterval::RenumberValues - Garbage collection for VNInfos.

After heavy editing of a live interval, it is much easier to simply renumber the
live values instead of trying to keep track of the unused ones.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110463 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReapply r110396, with fixes to appease the Linux buildbot gods.
Owen Anderson [Fri, 6 Aug 2010 18:33:48 +0000 (18:33 +0000)]
Reapply r110396, with fixes to appease the Linux buildbot gods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoImplement a proper getModRefInfo for va_arg.
Dan Gohman [Fri, 6 Aug 2010 18:24:38 +0000 (18:24 +0000)]
Implement a proper getModRefInfo for va_arg.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110458 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agospelling
Jim Grosbach [Fri, 6 Aug 2010 18:24:36 +0000 (18:24 +0000)]
spelling

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110457 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoBe more conservative in the face of volatile.
Dan Gohman [Fri, 6 Aug 2010 18:11:28 +0000 (18:11 +0000)]
Be more conservative in the face of volatile.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110456 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix a comment.
Dan Gohman [Fri, 6 Aug 2010 18:10:45 +0000 (18:10 +0000)]
Fix a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110455 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd more verification of LiveIntervals.
Jakob Stoklund Olesen [Fri, 6 Aug 2010 18:04:19 +0000 (18:04 +0000)]
Add more verification of LiveIntervals.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110454 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix swapped COPY operands.
Jakob Stoklund Olesen [Fri, 6 Aug 2010 18:04:17 +0000 (18:04 +0000)]
Fix swapped COPY operands.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110453 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDon't try to verify LiveIntervals for physical registers.
Jakob Stoklund Olesen [Fri, 6 Aug 2010 18:04:14 +0000 (18:04 +0000)]
Don't try to verify LiveIntervals for physical registers.

When a physical register is in use, some alias of that register has a live
interval with a relevant live range. That is the sad state of intervals after
physreg coalescing of subregs, and it is good enough for correct register
allocation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110452 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix eabi calling convention when a 64 bit value shadows r3.
Rafael Espindola [Fri, 6 Aug 2010 15:35:32 +0000 (15:35 +0000)]
Fix eabi calling convention when a 64 bit value shadows r3.

Without this what was happening was:

* R3 is not marked as "used"
* ARM backend thinks it has to save it to the stack because of vaarg
* Offset computation correctly ignores it
* Offsets are wrong

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110446 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix uninitialized variable warning.
Nick Lewycky [Fri, 6 Aug 2010 07:43:46 +0000 (07:43 +0000)]
Fix uninitialized variable warning.
Also move 'default' case next to a real case to help compiler optimize in
non-Debug builds.
No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110435 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWork in progress, cleaning up MergeFuncs.
Nick Lewycky [Fri, 6 Aug 2010 07:21:30 +0000 (07:21 +0000)]
Work in progress, cleaning up MergeFuncs.
Further clean up the comparison function by removing overly generalized
"domains".
Remove all understanding of ELF aliases and simplify folding code and comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110434 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate CMake build.
Ted Kremenek [Fri, 6 Aug 2010 04:05:21 +0000 (04:05 +0000)]
Update CMake build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110429 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix missing </a> tag error introduced by addition of LowerAtomic pass.
Peter Collingbourne [Fri, 6 Aug 2010 02:13:25 +0000 (02:13 +0000)]
Fix missing </a> tag error introduced by addition of LowerAtomic pass.
While at it, fix all other HTML validation errors in docs/Passes.html.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110428 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPatterns to match AVX 256-bit horizontal arithmetic intrinsics
Bruno Cardoso Lopes [Fri, 6 Aug 2010 02:10:30 +0000 (02:10 +0000)]
Patterns to match AVX 256-bit horizontal arithmetic intrinsics

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110427 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd a comment.
Dan Gohman [Fri, 6 Aug 2010 02:04:07 +0000 (02:04 +0000)]
Add a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110426 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoPatterns to match AVX 256-bit arithmetic intrinsics
Bruno Cardoso Lopes [Fri, 6 Aug 2010 01:52:29 +0000 (01:52 +0000)]
Patterns to match AVX 256-bit arithmetic intrinsics

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110425 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert r109901. The implementation of <rdar://problem/7405933> (r110423) doesn't
Bill Wendling [Fri, 6 Aug 2010 01:36:09 +0000 (01:36 +0000)]
Revert r109901. The implementation of <rdar://problem/7405933> (r110423) doesn't
need the Compare flag after all.

--- Reverse-merging r109901 into '.':
U    include/llvm/Target/TargetInstrDesc.h
U    include/llvm/Target/Target.td
U    utils/TableGen/InstrInfoEmitter.cpp
U    utils/TableGen/CodeGenInstruction.cpp
U    utils/TableGen/CodeGenInstruction.h

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110424 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd the Optimize Compares pass (disabled by default).
Bill Wendling [Fri, 6 Aug 2010 01:32:48 +0000 (01:32 +0000)]
Add the Optimize Compares pass (disabled by default).

This pass tries to remove comparison instructions when possible. For instance,
if you have this code:

   sub r1, 1
   cmp r1, 0
   bz  L1

and "sub" either sets the same flag as the "cmp" instruction or could be
converted to set the same flag, then we can eliminate the "cmp" instruction all
together. This is a important for ARM where the ALU instructions could set the
CPSR flag, but need a special suffix ('s') to do so.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110423 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMoar words!
Eric Christopher [Fri, 6 Aug 2010 01:30:54 +0000 (01:30 +0000)]
Moar words!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110422 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMove all the logic for function attributes and call attributes out of the
Dan Gohman [Fri, 6 Aug 2010 01:25:49 +0000 (01:25 +0000)]
Move all the logic for function attributes and call attributes out of the
AliasAnalysis base class and into BasicAliasAnalyais. This avoids confusion
about where such logic is happening when there are other AliasAnalysis
implementations present.

Move the logic for translating two-callsite getModRefInfo queries into
other AliasAnalysis queries out of BasicAliasAnalysis and into the
AliasAnalysis base class, as it is useful for other AliasAnalysis
implementations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110421 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdd tablegen support for vdup_lane
Nate Begeman [Fri, 6 Aug 2010 01:24:11 +0000 (01:24 +0000)]
Add tablegen support for vdup_lane

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110419 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix botched revert.
Owen Anderson [Fri, 6 Aug 2010 00:36:20 +0000 (00:36 +0000)]
Fix botched revert.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110416 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoWhile emitting DBG_VALUE for registers spilled at the end of a block do not use locat...
Devang Patel [Fri, 6 Aug 2010 00:26:18 +0000 (00:26 +0000)]
While emitting DBG_VALUE for registers spilled at the end of a block do not use location of MBB->end(). If a block does not have terminator then incoming iterator points to end().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110411 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert r110396 to fix buildbots.
Owen Anderson [Fri, 6 Aug 2010 00:23:35 +0000 (00:23 +0000)]
Revert r110396 to fix buildbots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410 91177308-0d34-0410-b5e6-96231b3b80d8