Eli Friedman
3346582bca
Change -mno-mmx to be more compatible with gcc. Specifically, -mno-mmx should not imply -mno-sse.
...
Note that because we don't usually touch the MMX registers anyway, all -mno-mmx needs to do is tweak the x86-32 calling convention a little for vectors that look like MMX vectors, and prevent the definition of __MMX__.
clang doesn't actually stop the user from using MMX inline asm operands or MMX builtins in -mno-mmx mode; as a QOI issue, it would be nice to diagnose, but I doubt it really matters much.
<rdar://problem/9694837>
llvm-svn: 134770
2011-07-08 23:31:17 +00:00
Johnny Chen
07398b5d48
Add some comment.
...
llvm-svn: 134769
2011-07-08 23:07:53 +00:00
Eli Friedman
5286833f4a
Revert earlier unnecessary hack. Make sure we correctly force on 64bit and cmov for 64-bit targets.
...
llvm-svn: 134768
2011-07-08 23:07:42 +00:00
Johnny Chen
3a709ac7bf
o TestEvents.py:
...
Add a usage example of SBEvent APIs.
o SBEvent.h and SBListener.h:
Add method docstrings for SBEvent.h and SBListener.h, and example usage of SBEvent into
the class docstring of SBEvent.
o lldb.swig:
Add typemap for SBEvent::SBEvent (uint32_t event, const char *cstr, uint32_t cstr_len)
so that we can use, in Python, obj2 = lldb.SBEvent(0, "abc") to create an SBEvent.
llvm-svn: 134766
2011-07-08 23:02:33 +00:00
Bruno Cardoso Lopes
129b4cc9ec
Revert x86_64 ABI changes until I have time to check the items raised by Eli.
...
llvm-svn: 134765
2011-07-08 22:57:35 +00:00
Evan Cheng
45543ba4e8
Fix indentation.
...
llvm-svn: 134764
2011-07-08 22:49:55 +00:00
Evan Cheng
15bc70f765
Fix comment.
...
llvm-svn: 134763
2011-07-08 22:49:42 +00:00
Cameron Zwarich
a8ce35e07c
Add an fma TableGen node.
...
llvm-svn: 134762
2011-07-08 22:49:34 +00:00
Jakub Staszak
d2cf2cbae9
Introduce __builtin_expect() intrinsic support.
...
llvm-svn: 134761
2011-07-08 22:45:14 +00:00
Evan Cheng
284b467d9f
Add support for ARM / Thumb mode switching with .code 16 and .code 32.
...
llvm-svn: 134760
2011-07-08 22:36:29 +00:00
Bob Wilson
d0f0600b49
Update comments for SandyBridge CPU identifiers.
...
llvm-svn: 134759
2011-07-08 22:33:59 +00:00
Jim Grosbach
39c67b5e08
Mark tBRIND as predicable.
...
llvm-svn: 134758
2011-07-08 22:33:49 +00:00
Evan Cheng
60fc0fca5c
Restore old behavior. Always auto-detect features unless cpu or features are specified.
...
llvm-svn: 134757
2011-07-08 22:30:25 +00:00
Evan Cheng
fd7e3fcad3
Fix broken x86_64 tests which specify non-64-bit cpu's.
...
llvm-svn: 134756
2011-07-08 22:29:33 +00:00
Jim Grosbach
59a3ab6e46
Pseudo-ize tBRIND.
...
llvm-svn: 134755
2011-07-08 22:25:23 +00:00
Bruno Cardoso Lopes
308d7423a9
Add support for AVX 256-bit in the x86_64 ABI (as in the 0.99.5 draft)
...
llvm-svn: 134754
2011-07-08 22:18:40 +00:00
Eli Friedman
e2f76c4ade
Default 64-bit target features and SSE2 on when a triple specifies x86-64. Clean up all the other hacks which are now unnecessary.
...
llvm-svn: 134753
2011-07-08 22:16:47 +00:00
Cameron Zwarich
a32fd210c1
Use add instead of accumulate.
...
llvm-svn: 134752
2011-07-08 22:13:55 +00:00
Bob Wilson
eff24111b9
Recognize Intel CPUs with Family=6 and Model=44.
...
According to Intel Application Note 485, this value is used for
"Intel Core i7 and Intel Xeon processor". Just include it with the other
"corei7-avx" entries.
llvm-svn: 134750
2011-07-08 22:09:35 +00:00
Bob Wilson
3c68b626e7
Reapply a fixed version of r133285.
...
This tightens up checking for overflow in alloca sizes, based on feedback
from Duncan and John about the change in r132926.
llvm-svn: 134749
2011-07-08 22:09:33 +00:00
Jim Grosbach
7471937ad7
Make tBX_RET and tBX_RET_vararg predicable.
...
The normal tBX instruction is predicable, so there's no reason the
pseudos for using it as a return shouldn't be. Gives us some nice code-gen
improvements as can be seen by the test changes. In particular, several
tests now have to disable if-conversion because it works too well and defeats
the test.
llvm-svn: 134746
2011-07-08 21:50:04 +00:00
Greg Clayton
884fb69460
Added the ability to see global variables with a variable expression path so
...
you can do things like:
(lldb) target variable g_global.a
(lldb) target variable *g_global.ptr
(lldb) target variable g_global.ptr[1]
llvm-svn: 134745
2011-07-08 21:46:14 +00:00
Julien Lerouge
112fcc164a
Add _allrem, _aullrem and _allmul to the runtime for MSVC.
...
http://llvm.org/bugs/show_bug.cgi?id=10305
llvm-svn: 134744
2011-07-08 21:40:25 +00:00
Cameron Zwarich
ae7bc98710
Add codegen support for the fma/fmal/fmaf builtins.
...
llvm-svn: 134743
2011-07-08 21:39:34 +00:00
Cameron Zwarich
f03fa189ca
Add an intrinsic and codegen support for fused multiply-accumulate. The intent
...
is to use this for architectures that have a native FMA instruction.
llvm-svn: 134742
2011-07-08 21:39:21 +00:00
Evan Cheng
964cb5feb0
For non-x86 host, used generic as CPU name.
...
llvm-svn: 134741
2011-07-08 21:14:14 +00:00
Jim Grosbach
d61ae786bd
Pseudo-ize tBX_RET and tBX_RET_vararg.
...
llvm-svn: 134739
2011-07-08 21:10:35 +00:00
Benjamin Kramer
debe69fb37
Plug a leak by giving the AsmParser ownership of the MCSubtargetInfo.
...
Found by valgrind.
llvm-svn: 134738
2011-07-08 21:06:23 +00:00
Jim Grosbach
cb1b0b7130
Shuffle productions around a bit.
...
No functional change.
llvm-svn: 134737
2011-07-08 21:04:05 +00:00
Jim Ingham
576e96e0dc
New test to check that we can call functions in static methods in ObjC.
...
llvm-svn: 134736
2011-07-08 20:48:47 +00:00
Jakob Stoklund Olesen
4931bbc671
Be more aggressive about following hints.
...
RAGreedy::tryAssign will now evict interference from the preferred
register even when another register is free.
To support this, add the EvictionCost struct that counts how many hints
are broken by an eviction. We don't want to break one hint just to
satisfy another.
Rename canEvict to shouldEvict, and add the first bit of eviction policy
that doesn't depend on spill weights: Always make room in the preferred
register as long as the evictees can be split and aren't already
assigned to their preferred register.
Also make the CSR avoidance more accurate. When looking for a cheaper
register it is OK to use a new volatile register. Only CSR aliases that
have never been used before should be avoided.
llvm-svn: 134735
2011-07-08 20:46:18 +00:00
Jim Grosbach
204c128f66
Use tPseudoExpand for tTAILJMPrND and tTAILJMPr.
...
llvm-svn: 134734
2011-07-08 20:39:19 +00:00
Benjamin Kramer
581f48f583
Initialize all the AnalysisBasedWarnings statistics to zero.
...
Found by valgrind.
llvm-svn: 134733
2011-07-08 20:38:53 +00:00
Jim Grosbach
4af8647e17
Use tPseudoExpand for tTAILJMPd and tTAILJMPdND.
...
llvm-svn: 134732
2011-07-08 20:32:21 +00:00
Benjamin Kramer
65cc1074f3
Remove unused variable.
...
llvm-svn: 134731
2011-07-08 20:20:17 +00:00
Benjamin Kramer
dbdff47cb3
Silence compiler warning.
...
llvm-svn: 134730
2011-07-08 20:18:13 +00:00
Jim Grosbach
3840c90f73
Add more info to FIXME.
...
llvm-svn: 134729
2011-07-08 20:18:11 +00:00
Eli Friedman
f7ca26a077
Fix up dependency file name printing to more closely match that of gcc, including fixing a nasty recent regression that could make us print "/foo.h" with a command-line including "-I ./".
...
rdar://problem/9734352
llvm-svn: 134728
2011-07-08 20:17:28 +00:00
Jim Grosbach
166cd88645
Move Thumb tail call pseudos to Thumb.td file.
...
Fix a FIXME.
llvm-svn: 134727
2011-07-08 20:13:35 +00:00
Eli Friedman
71123fc422
Fix dangling pointer.
...
llvm-svn: 134725
2011-07-08 20:07:05 +00:00
Evan Cheng
22e9d8f40e
TargetAsmParser doesn't need reference to Target.
...
llvm-svn: 134721
2011-07-08 19:33:14 +00:00
Benjamin Kramer
6a24f9487a
Remove unused copy of UpdateInlinedAtInfo.
...
llvm-svn: 134720
2011-07-08 19:32:06 +00:00
Jim Grosbach
dbfb29d6c0
Use ARMPseudoExpand for ARM tail calls.
...
llvm-svn: 134719
2011-07-08 18:50:22 +00:00
Jim Ingham
368c6301a2
remove errant parenthesis.
...
llvm-svn: 134717
2011-07-08 18:34:32 +00:00
Greg Clayton
affb03b7fb
Fixed a few issues where typedefs weren't passing through to the correct
...
recursive function.
Also fixed ClangASTContext::IsPointerType to correctly NULL out the pointee
handle if a valid one is provided.
llvm-svn: 134715
2011-07-08 18:27:39 +00:00
Jim Grosbach
7ddc1d709f
Shuffle productions around a bit.
...
No functional change.
llvm-svn: 134714
2011-07-08 18:26:27 +00:00
Jim Grosbach
2dfe8e3ccd
Use ARMPseudoExpand for BLr9, BLr9_pred, BXr9, and BXr9_pred.
...
TableGen'erated MC lowering pseudo-expansion.
llvm-svn: 134712
2011-07-08 18:15:12 +00:00
Evan Cheng
1a6d551f7f
Fix a dangling reference. Patch by Dave Abrahams. pr10311
...
llvm-svn: 134709
2011-07-08 18:04:22 +00:00
Devang Patel
35797406a5
Refactor. It is inliner's responsibility to update line number information.
...
llvm-svn: 134708
2011-07-08 18:01:31 +00:00
Chandler Carruth
f21cebf6dd
Add CMake support for the new TableGen file introduced in r134705.
...
llvm-svn: 134707
2011-07-08 17:54:08 +00:00