OSDN Git Service
Chris Lattner [Thu, 2 Sep 2010 23:09:42 +0000 (23:09 +0000)]
lets get crazy and name the header file the exact class name,
not a scrunched version of it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112904
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Sep 2010 23:07:12 +0000 (23:07 +0000)]
AsmPrinter has a formatted stream, pass it down through AsmAnnotationWriter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112903
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 2 Sep 2010 23:03:46 +0000 (23:03 +0000)]
Properly emit __chkstk call instead of __alloca on non-mingw windows targets.
Patch by Cameron Esfahani!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112902
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Sep 2010 23:03:10 +0000 (23:03 +0000)]
stop forcing a noop AssemblyAnnotationWriter to silence #uses
comments, these don't happen anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112901
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 2 Sep 2010 23:01:10 +0000 (23:01 +0000)]
There is no need to use .set here.
Thanks Chris!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112900
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Sep 2010 22:52:10 +0000 (22:52 +0000)]
reapply 112894:
Remove #uses comments from functions: they we're padded out to column 50
and were potentially confusing for externally visible functions.
going further, remove the "<i8**> [#uses=3]" comments entirely. They
add a lot of noise, confuse people about what the IR is, and don't add
any particular value. When the types are long it makes it really really
hard to read IR.
If someone is interested in this sort of thing, the right way to do this
is to implement an AsmAnnotationWriter that produces the same output, and
add a flag to llvm-dis (only) to produce this output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112899
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 2 Sep 2010 22:43:39 +0000 (22:43 +0000)]
Move insertps mask decoding to header file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112896
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Sep 2010 22:42:07 +0000 (22:42 +0000)]
revert patch, need to update clang tests too
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112895
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Sep 2010 22:41:24 +0000 (22:41 +0000)]
Remove #uses comments from functions: they we're padded out to column 50
and were potentially confusing for externally visible functions.
going further, remove the "<i8**> [#uses=3]" comments entirely. They
add a lot of noise, confuse people about what the IR is, and don't add
any particular value. When the types are long it makes it really really
hard to read IR.
If someone is interested in this sort of thing, the right way to do this
is to implement an AsmAnnotationWriter that produces the same output, and
add a flag to llvm-dis (only) to produce this output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112894
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Sep 2010 22:38:56 +0000 (22:38 +0000)]
more test cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112892
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Sep 2010 22:35:33 +0000 (22:35 +0000)]
remove some noise from tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112889
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 2 Sep 2010 22:32:38 +0000 (22:32 +0000)]
Use the FindProgramByName fallback only with known absolute paths.
I wasn't able to convince myself that all GetMainExecutable
implementations always return absolute paths; this prevents
unexpected behavior in case they ever don't.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112888
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Sep 2010 22:32:02 +0000 (22:32 +0000)]
we are past the point where these tests are useful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112887
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 2 Sep 2010 22:31:53 +0000 (22:31 +0000)]
Revert int_x86_mmx_palignr_b intrinsic to match llvm-gcc's version.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112886
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 2 Sep 2010 22:31:32 +0000 (22:31 +0000)]
Revert win64 changes. They seem to be incomplete
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112885
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 2 Sep 2010 22:29:01 +0000 (22:29 +0000)]
For ARM stack frames that utilize variable sized objects and have either
large local stack areas or require dynamic stack realignment, allocate a
base register via which to access the local frame. This allows efficient
access to frame indices not accessible via the FP (either due to being out
of range or due to dynamic realignment) or the SP (due to variable sized
object allocation). In particular, this greatly improves efficiency of access
to spill slots in Thumb functions which contain VLAs.
rdar://
7352504
rdar://
8374540
rdar://
8355680
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112883
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 2 Sep 2010 22:26:35 +0000 (22:26 +0000)]
- Change __builtin_ia32_palignr intrinsic type to match the pattern in clang.
- Add patterns to match the following MMX builtins:
* __builtin_ia32_vec_init_v8qi
* __builtin_ia32_vec_init_v4hi
* __builtin_ia32_vec_init_v2si
* __builtin_ia32_vec_ext_v2si
These builtins do not correspond to a single MMX instruction. They will have
to be lowered -- most likely in the back-end.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112881
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Sep 2010 22:19:10 +0000 (22:19 +0000)]
fix more AST updating bugs, correcting miscompilation in PR8041
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112878
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 2 Sep 2010 22:16:52 +0000 (22:16 +0000)]
Remove incorrect and poorly tested code for trying to reason about values on default edges of
switches. Just return the conservatively correct answer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112876
91177308-0d34-0410-b5e6-
96231b3b80d8
Anton Korobeynikov [Thu, 2 Sep 2010 22:16:28 +0000 (22:16 +0000)]
Properly allocate win64 shadow reg area.
Patch by Jan Sjodin!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112875
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 2 Sep 2010 22:14:51 +0000 (22:14 +0000)]
Remove obsolete comments about throwing exceptions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112874
91177308-0d34-0410-b5e6-
96231b3b80d8
John McCall [Thu, 2 Sep 2010 21:55:03 +0000 (21:55 +0000)]
After some discussion with djg, teach SmallVector to grow from a zero
capacity and remove the workaround in SmallVector<T,0>. There are some
theoretical benefits to a N->2N+1 growth policy anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112870
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 2 Sep 2010 21:51:11 +0000 (21:51 +0000)]
Move decoding of insertps back to avoid unused warnings in x86 isel lowering, and fix movlhps/movhlps to decode 4 elements shuffles
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112869
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 2 Sep 2010 21:29:42 +0000 (21:29 +0000)]
Detect undef value early and save unnecessary NodeMap query.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112864
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 2 Sep 2010 21:18:42 +0000 (21:18 +0000)]
Don't narrow the load and store in a load+twiddle+store sequence unless
there are clearly no stores between the load and the store. This fixes
this miscompile reported as PR7833.
This breaks the test/CodeGen/X86/narrow_op-2.ll optimization, which is
safe, but awkward to prove safe. Move it to X86's README.txt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112861
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 2 Sep 2010 21:02:27 +0000 (21:02 +0000)]
Tidy up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112858
91177308-0d34-0410-b5e6-
96231b3b80d8
Sandeep Patel [Thu, 2 Sep 2010 20:19:24 +0000 (20:19 +0000)]
Fix an unnecessary XFAIL
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112853
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 2 Sep 2010 19:52:39 +0000 (19:52 +0000)]
trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112852
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 2 Sep 2010 19:52:06 +0000 (19:52 +0000)]
Fix typo. I accidentally edited the wrong file before my last commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112851
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 2 Sep 2010 18:53:37 +0000 (18:53 +0000)]
Add AsmParser support for the ELF .previous directive. Patch by Roman Divacky.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112849
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 2 Sep 2010 18:44:51 +0000 (18:44 +0000)]
remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112847
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 2 Sep 2010 18:40:13 +0000 (18:40 +0000)]
Move x86 specific shuffle mask decoding to its own header, it's also going to be used elsewhere. Also trim trailing whitespaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112846
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 2 Sep 2010 18:29:04 +0000 (18:29 +0000)]
The scavenger should just use getAllocatableSet() rather than reinventing it
locally.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112845
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 2 Sep 2010 18:24:46 +0000 (18:24 +0000)]
Apply a patch from Kees van Reeuwijk to add support for Minix.
Minix apparently doesn't like double-slash separators, and there's
no apparent need for them here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112844
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Thu, 2 Sep 2010 18:23:58 +0000 (18:23 +0000)]
Fix a bug in LazyValueInfo that CorrelatedValuePropagation exposed: In the LVI lattice, undef and the full set ConstantRange should not
be treated as equivalent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112843
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 2 Sep 2010 18:18:52 +0000 (18:18 +0000)]
handle case where a register class is specified
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112842
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 2 Sep 2010 18:14:29 +0000 (18:14 +0000)]
Now that register allocation properly considers reserved regs, simplify the
ARM register class allocation order functions to take advantage of that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112841
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 2 Sep 2010 17:35:10 +0000 (17:35 +0000)]
Add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112836
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 2 Sep 2010 17:18:32 +0000 (17:18 +0000)]
Allow MCSA_WeakRef in ELF. Patch by Roman Divacky.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112834
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 2 Sep 2010 17:12:55 +0000 (17:12 +0000)]
Anti-dependency breaking needs to be careful not to use reserved regs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112832
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 2 Sep 2010 16:43:44 +0000 (16:43 +0000)]
Fix .debug_range for linux. Patch by Krister Wombell.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112830
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 2 Sep 2010 16:31:21 +0000 (16:31 +0000)]
Mask out reserved registers when constructing the set of allocatable regs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112828
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 2 Sep 2010 16:17:29 +0000 (16:17 +0000)]
Fill in a missing comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112826
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Thu, 2 Sep 2010 16:00:54 +0000 (16:00 +0000)]
Convert VLD1 and VLD2 instructions to use pseudo-instructions until
after regalloc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112825
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Thu, 2 Sep 2010 14:06:21 +0000 (14:06 +0000)]
llvmc: .dylib support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112818
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 2 Sep 2010 08:52:23 +0000 (08:52 +0000)]
Print the number of uses of a function in the .ll since it can be informative
and there seems to be no reason not to.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112812
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Thu, 2 Sep 2010 08:27:00 +0000 (08:27 +0000)]
Added support for register allocators to record which intervals are spill intervals, and where the uses and defs of the original intervals were in the original code.
Spill intervals can be hidden using the "-rmf-intervals=virt-nospills*" option.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112811
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 2 Sep 2010 08:14:03 +0000 (08:14 +0000)]
Reapply commit 112699, speculatively reverted by echristo, since
I'm sure it is harmless. Original commit message:
If PrototypeValue is erased in the middle of using the SSAUpdator
then the SSAUpdator may access freed memory. Instead, simply pass
in the type and name explicitly, which is all that was used anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112810
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Thu, 2 Sep 2010 07:08:05 +0000 (07:08 +0000)]
Silence an ambiguous else warning from GCC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112809
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 2 Sep 2010 05:44:31 +0000 (05:44 +0000)]
Fix compile errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112808
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Thu, 2 Sep 2010 05:37:52 +0000 (05:37 +0000)]
Added counters for PBQP reduction rules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112807
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 2 Sep 2010 05:23:12 +0000 (05:23 +0000)]
Replace unpckl_undef and unpckh_undef matching with target specific opcodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112806
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 2 Sep 2010 04:20:26 +0000 (04:20 +0000)]
Move condition out to prepare for more matching
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112805
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 2 Sep 2010 03:57:58 +0000 (03:57 +0000)]
Remove checking for isUNPCKL_v_undef_Mask, the specific node is already emitted for it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112804
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Thu, 2 Sep 2010 03:46:04 +0000 (03:46 +0000)]
llvm::FindExecutable(): Retrieve the name with suffix.exe, if available.
bugpoint uses it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112803
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Thu, 2 Sep 2010 03:45:58 +0000 (03:45 +0000)]
test/loop-strength-reduce4: Add explicit triplet for Win32 host.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112802
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Thu, 2 Sep 2010 03:45:51 +0000 (03:45 +0000)]
test/twoaddr-coalesce: Do not use @main.
Win32 codegen emits implicit invoking __main into, to fail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112801
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Thu, 2 Sep 2010 02:35:51 +0000 (02:35 +0000)]
become more strict about when it's safe to use X86ISD::MOVLPS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112799
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 2 Sep 2010 02:30:46 +0000 (02:30 +0000)]
Clang's -ccc-host-triple was ignoring the arch specifier on my triple,
I don't need to implement this quite yet - and not for ConstantInt anyhow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112798
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 2 Sep 2010 01:48:11 +0000 (01:48 +0000)]
This should be TargetMaterializeConstant instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112795
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 2 Sep 2010 01:39:14 +0000 (01:39 +0000)]
One definition of isThumb is plenty, thanks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112793
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 2 Sep 2010 01:02:06 +0000 (01:02 +0000)]
Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112790
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 2 Sep 2010 00:53:56 +0000 (00:53 +0000)]
Rework arm fast-isel load and store handling. Move offset computation
into the "address selection" routine and handle constant materialization
for stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112788
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 2 Sep 2010 00:51:37 +0000 (00:51 +0000)]
Add a bit of debug output for register scavenging
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112787
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 2 Sep 2010 00:09:17 +0000 (00:09 +0000)]
updates to make it clear that this applies to clang and other llvm subprojects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112781
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 2 Sep 2010 00:02:26 +0000 (00:02 +0000)]
trivial cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112779
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 1 Sep 2010 23:50:23 +0000 (23:50 +0000)]
Simplify the tGPR register class now that the register allocators know not
to try to allocate reserved registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112774
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Wed, 1 Sep 2010 23:50:19 +0000 (23:50 +0000)]
Remove NEON vmull, vmlal, and vmlsl intrinsics, replacing them with multiply,
add, and subtract operations with zero-extended or sign-extended vectors.
Update tests. Add auto-upgrade support for the old intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112773
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 1 Sep 2010 23:33:02 +0000 (23:33 +0000)]
Reword this comment. Don't mention outs(), as that's not what
this code is actually testing for.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112767
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Sep 2010 23:09:27 +0000 (23:09 +0000)]
deepen my MMX/SRoA hack to avoid hurting non-x86 codegen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112763
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Wed, 1 Sep 2010 22:59:03 +0000 (22:59 +0000)]
Revert r112689, avoid those kind of checks cause they mess up with mmx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112760
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 1 Sep 2010 22:48:34 +0000 (22:48 +0000)]
Tweak to ignoring reserved regs. The allocator was occasionally still looking
at them since they'd end up in the register weights list. Tell it to stop
doing that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112756
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 1 Sep 2010 22:43:48 +0000 (22:43 +0000)]
Recommit with changes. Comment out palignr for the
moment, as there's a testcase that uses it and expects it
to be subject to optimizations; we won't be doing that.
Some adjustments based on feedback from Bill.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112754
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Wed, 1 Sep 2010 22:33:20 +0000 (22:33 +0000)]
Using target specific nodes for shuffle nodes makes the mask
check more strict, breaking some cases not checked in the
testsuite, but also exposes some foldings not done before,
as this example:
movaps (%rdi), %xmm0
movaps (%rax), %xmm1
movaps %xmm0, %xmm2
movss %xmm1, %xmm2
shufps $36, %xmm2, %xmm0
now is generated as:
movaps (%rdi), %xmm0
movaps %xmm0, %xmm1
movlps (%rax), %xmm1
shufps $36, %xmm1, %xmm0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112753
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 1 Sep 2010 22:16:27 +0000 (22:16 +0000)]
Some basic store support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112752
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 1 Sep 2010 22:15:35 +0000 (22:15 +0000)]
Teach RemoveCopyByCommutingDef to check all aliases, not just subregisters.
This caused a miscompilation in WebKit where %RAX had conflicting defs when
RemoveCopyByCommutingDef was commuting a %EAX use.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112751
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 1 Sep 2010 21:57:20 +0000 (21:57 +0000)]
Apparently only Darwin passes long double misaligned. Compensate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112748
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 1 Sep 2010 21:48:06 +0000 (21:48 +0000)]
tidy up trailing whitespace and an 80 column violation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112746
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 1 Sep 2010 21:46:45 +0000 (21:46 +0000)]
Fix loop unswitching's assumption that a code path which either
infinite loops or exits will eventually exit. This fixes PR5373.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112745
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 1 Sep 2010 21:36:44 +0000 (21:36 +0000)]
Revert 112740, it broke some clang tests somehow...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112744
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 1 Sep 2010 21:34:41 +0000 (21:34 +0000)]
cleanup per feedback. use a helper function for getting the first non-reserved
physical register in a register class. Make sure to assert if the register
class is empty.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112743
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 1 Sep 2010 21:23:03 +0000 (21:23 +0000)]
The register allocator shouldn't consider allocating reserved registers. PBQP version.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112742
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 1 Sep 2010 21:04:27 +0000 (21:04 +0000)]
The register allocator shouldn't consider allocating reserved registers.
r112728 did this for fast regalloc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112741
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 1 Sep 2010 21:03:03 +0000 (21:03 +0000)]
Add a few more missing MMX operations. This should be it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112740
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Sep 2010 20:09:20 +0000 (20:09 +0000)]
update the tutorial to use CreateFAdd to create fp operations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112733
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 1 Sep 2010 19:28:41 +0000 (19:28 +0000)]
The register allocator shouldn't consider allocating reserved registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112728
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Sep 2010 19:20:46 +0000 (19:20 +0000)]
Disable CorrelatedValuePropagation while I track down selfhost failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112727
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 1 Sep 2010 19:16:29 +0000 (19:16 +0000)]
tidy up a few 80-column and trailing whitespace bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112726
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 1 Sep 2010 18:32:56 +0000 (18:32 +0000)]
The output of opt -stats must be sent to stderr. Patch by NAKAMURA Takumi!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112724
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Sep 2010 18:30:15 +0000 (18:30 +0000)]
Tentatively add correlated value propagation to the set of standard passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112723
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 1 Sep 2010 18:27:22 +0000 (18:27 +0000)]
JumpThreading keeps LazyValueInfo up to date, so we don't need to rerun it
if we schedule another LVI-using pass afterwards.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112722
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 1 Sep 2010 18:01:32 +0000 (18:01 +0000)]
Add some more load types in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112721
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 1 Sep 2010 17:29:10 +0000 (17:29 +0000)]
Speculatively revert 112699 and 112702, they seem to be causing
self host errors on clang-x86-64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112719
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Sep 2010 16:11:17 +0000 (16:11 +0000)]
have the makefiles check the llvm-config error code instead of charging
on an producing weird link errors. Patch by Yuri Gribov!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112714
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Sep 2010 16:06:39 +0000 (16:06 +0000)]
dead code patrol
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112713
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Sep 2010 16:04:34 +0000 (16:04 +0000)]
zap dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112712
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Sep 2010 16:00:50 +0000 (16:00 +0000)]
temporarily revert r112664, it is causing a decoding conflict, and
the testcases should be merged.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112711
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Sep 2010 15:44:05 +0000 (15:44 +0000)]
zap dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112708
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 1 Sep 2010 15:39:31 +0000 (15:39 +0000)]
remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112707
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 1 Sep 2010 14:20:41 +0000 (14:20 +0000)]
Make tool_output_file's raw_ostream instance a member variable instead
of a base class.
This makes it possible to unregister the file from FilesToRemove when
the file is done. Also, this eliminates the need for
formatted_tool_output_file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112706
91177308-0d34-0410-b5e6-
96231b3b80d8