OSDN Git Service
Bill Wendling [Mon, 9 Aug 2010 23:59:04 +0000 (23:59 +0000)]
Merge the OptimizeExts and OptimizeCmps passes into one PeepholeOptimizer
pass. This pass should expand with all of the small, fine-grained optimization
passes to reduce compile time and increase happiment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110627
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 9 Aug 2010 23:28:52 +0000 (23:28 +0000)]
Undo accidental commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110623
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 9 Aug 2010 23:26:06 +0000 (23:26 +0000)]
Simplify. Avoid redundant checks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110621
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Mon, 9 Aug 2010 22:52:47 +0000 (22:52 +0000)]
Wording.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110618
91177308-0d34-0410-b5e6-
96231b3b80d8
Kevin Enderby [Mon, 9 Aug 2010 22:52:14 +0000 (22:52 +0000)]
Next bit of support for the dwarf .file directive. This patch takes the
previously collected info from the .file directives and outputs the encoded
bytes for it. For now this is only in the Mach-O streamer but at some point
will move to a more generic place.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110617
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 9 Aug 2010 22:32:45 +0000 (22:32 +0000)]
ARMBaseRegisterInfo::hasFP() has been broken for a while now. :-(
This will always be false before PEI:
(DisableFramePointerElim(MF) && MFI->adjustsStack())
Which means it's going to make r11 available as a general purpose register even
if -disable-fp-elim is specified. It's working on Darwin only because r7 is
always reserved. But it's obviously broken for other targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110614
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Mon, 9 Aug 2010 21:51:56 +0000 (21:51 +0000)]
Add VCVTPD2PS, VCVTPS2DQ, VCVTPS2PDY, VCVTTPD2DQY, VCVTTPS2DQ and VCVTPD2DQ 256-bit conversion intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110608
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 9 Aug 2010 21:39:24 +0000 (21:39 +0000)]
Refactor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110607
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Mon, 9 Aug 2010 21:24:59 +0000 (21:24 +0000)]
Add patterns to AVX conversions instructions. Do that instead of declaring more intructions whenever is possible, more coming
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110605
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Mon, 9 Aug 2010 21:09:46 +0000 (21:09 +0000)]
Make it possible to set the target triple and expose that with an option in the
gold plugin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110604
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Mon, 9 Aug 2010 21:03:28 +0000 (21:03 +0000)]
Fix a use after free error caught by the valgrind builders.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110601
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Mon, 9 Aug 2010 21:01:39 +0000 (21:01 +0000)]
Refactoring. Update DbgVarible to handle queries itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110600
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 9 Aug 2010 20:50:46 +0000 (20:50 +0000)]
Add ConstantRange information to the debugging output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110598
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 9 Aug 2010 20:49:43 +0000 (20:49 +0000)]
PR7853: fix a silly mistake introduced in r101899, and add a test to make sure
it doesn't regress again.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110597
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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