Argyrios Kyrtzidis
dfd6570643
Pass from the parser the locations of selector identifiers when creating
...
objc method decls.
They are not stored in the AST yet.
llvm-svn: 140984
2011-10-03 06:36:36 +00:00
Argyrios Kyrtzidis
3849394b81
Don't keep NumSelectorArgs in the ObjCMethodDecl, the number can be derived from the selector.
...
llvm-svn: 140983
2011-10-03 06:36:29 +00:00
Argyrios Kyrtzidis
f934ec8b7b
Pass all the locations of the selector identifiers for a message expression from the parser.
...
They are not kept in the AST yet.
llvm-svn: 140982
2011-10-03 06:36:17 +00:00
Chandler Carruth
413e5ac2a5
Rework the selection of builtin library search paths on Linux to
...
precisely match the pattern and logic used by the GCC driver on Linux as
of a recent SVN checkout.
This happens to follow a *much* more principled approach. There is
a strict hierarchy of paths examined, first with multilib-suffixing,
second without such suffixing. Any and all of these directories which
exist will be added to the library search path when using GCC.
There were many places where Clang followed different paths, omitted
critical entries, and worst of all (in terms of challenges to debugging)
got the entries in a subtly wrong order.
If this breaks Clang on a distro you use, please let me know, and I'll
work with you to figure out what is needed to work on that distro. I've
checked the behavior of the latest release of Ubuntu, OpenSUSE, Fedora,
and Gentoo. I'll be testing it on those as well as Debian stable and
unstable and ArchLinux. I may even dig out a Slackware install.
No real regression tests yet, those will follow once I add enough
support for sysroot to simulate various distro layouts in the testsuite.
llvm-svn: 140981
2011-10-03 05:28:29 +00:00
Nick Lewycky
b1dbce1406
Revert r140979 due to reports of bootstrap failure.
...
llvm-svn: 140980
2011-10-03 05:14:59 +00:00
Nick Lewycky
3c624b8d0d
Add one more case we compute a max trip count.
...
llvm-svn: 140979
2011-10-03 01:03:57 +00:00
Peter Collingbourne
7277fe8aed
CUDA: diagnose invalid calls across targets
...
llvm-svn: 140978
2011-10-02 23:49:40 +00:00
Peter Collingbourne
619a8c7df3
CUDA: add separate diagnostics for too few/many exec config args
...
llvm-svn: 140977
2011-10-02 23:49:29 +00:00
Peter Collingbourne
740afe276f
Add ConvertArgumentsForCall diagnostics for at least/at most n args
...
llvm-svn: 140976
2011-10-02 23:49:20 +00:00
Peter Collingbourne
34a20b081e
CUDA: diagnose unconfigured calls to global functions
...
llvm-svn: 140975
2011-10-02 23:49:15 +00:00
Craig Topper
7aea69d949
Fix some Intel syntax disassembly issues with instructions that implicitly use AL/AX/EAX/RAX such as ADD/SUB/ADC/SUBB/XOR/OR/AND/CMP/MOV/TEST.
...
llvm-svn: 140974
2011-10-02 21:08:12 +00:00
John McCall
7de05027a5
Sorry, I misunderstood the interaction here; the GNU runtime does
...
support both a fragile and non-fragile ABI, and it can be selected at
runtime. That driver option also works on Darwin (although obviously
the code is not necessarily usable if the system runtime is fragile)
so just do that.
llvm-svn: 140973
2011-10-02 20:27:18 +00:00
Craig Topper
21c33657d6
Special case disassembler handling of REX.B prefix on NOP instruction to decode as XCHG R8D, EAX instead. Fixes PR10344.
...
llvm-svn: 140971
2011-10-02 16:56:09 +00:00
John McCall
e6a1d3c467
Use -fgnu-runtime to force the use of the non-fragile ABI;
...
otherwise these tests would fail on hosts that happen to default
to that, since that affects whether default synthesis can happen.
llvm-svn: 140970
2011-10-02 11:28:21 +00:00
Nick Lewycky
99fb091f65
Add a new icmp+select optz'n. Also shows off the load(cst) folding added in
...
r140966.
llvm-svn: 140969
2011-10-02 10:37:37 +00:00
Chandler Carruth
9b0f5688b9
Temporarily XFAIL this test until John or someone else who works on ObjC
...
can look at it.
llvm-svn: 140968
2011-10-02 09:52:36 +00:00
Nick Lewycky
40a34dd9a3
Enhance a couple places where we were doing constant folding of instructions,
...
but not load instructions. Noticed by inspection.
llvm-svn: 140966
2011-10-02 09:12:55 +00:00
Chandler Carruth
a884013eaa
Simplify this through the power of the ternary operator.
...
llvm-svn: 140965
2011-10-02 07:28:34 +00:00
Chandler Carruth
b8d1be837c
Consolidate the currently bizarre 32/64 multilib selection logic a bit.
...
llvm-svn: 140964
2011-10-02 07:06:48 +00:00
Craig Topper
56ff34f7c5
Fix typo in r140954.
...
llvm-svn: 140962
2011-10-02 04:54:26 +00:00
Ted Kremenek
539801f8bc
Make canonicalization of ImmutableSetRef::asImmutableSet() semi-explicit.
...
llvm-svn: 140959
2011-10-02 01:47:07 +00:00
Ted Kremenek
c8f008ac31
Fix another major performance regression in LiveVariables by not canonicalizing the underlying ImmutableSets on every analyzed statement (just at merges). Fixes <rdar://problem/10087538>.
...
llvm-svn: 140958
2011-10-02 01:45:37 +00:00
John McCall
9b0a7cea0f
Make -fobjc-nonfragile-abi the -cc1 default, since it's the
...
increasingly prevailing case to the point that new features
like ARC don't even support the fragile ABI anymore.
This required a little bit of reshuffling with exceptions
because a check was assuming that ObjCNonFragileABI was
only being set in ObjC mode, and that's actually a bit
obnoxious to do.
Most, though, it involved a perl script to translate a ton
of test cases.
Mostly no functionality change for driver users, although
there are corner cases with disabling language-specific
exceptions that we should handle more correctly now.
llvm-svn: 140957
2011-10-02 01:16:38 +00:00
Ted Kremenek
2a14c695eb
Fix LiveVariables analysis bug with MaterializeTemporaryExpr and fix handling in ExprEngine. Fixes <rdar://problem/10201666>.
...
llvm-svn: 140956
2011-10-02 00:54:48 +00:00
Craig Topper
d07a59f288
Fix disassembling of INVEPT and INVVPID to take operands
...
llvm-svn: 140955
2011-10-01 21:20:14 +00:00
Craig Topper
88cb33e0d4
Fix disassembler handling of CRC32 which is an odd instruction that uses 0xf2 as an opcode extension and allows the opsize prefix. This necessitated adding IC_XD_OPSIZE and IC_64BIT_XD_OPSIZE contexts. Unfortunately, this increases the size of the disassembler tables. Fixes PR10702.
...
llvm-svn: 140954
2011-10-01 19:54:56 +00:00
Chad Rosier
a88cb23da7
Revert r140924 "Attempt to fix dynamic stack realignment for thumb1 functions."
...
to appease nightly testers. Not quite there yet.
llvm-svn: 140953
2011-10-01 19:30:36 +00:00
Nadav Rotem
52e8ed9214
Moved type construction out of the loop and added an assert on the legality of the type. Formatted lines to the 80 char limit.
...
llvm-svn: 140952
2011-10-01 18:39:28 +00:00
Peter Collingbourne
84c287e33c
Move TableGen's parser and entry point into a library
...
This is the first step towards splitting LLVM and Clang's tblgen executables.
llvm-svn: 140951
2011-10-01 16:41:13 +00:00
Howard Hinnant
20dde1e8fb
Updated testit to run on Windows and fresh Windows results by Ruben Van Boxem
...
llvm-svn: 140950
2011-10-01 15:34:27 +00:00
Bill Wendling
d072b73d78
No one should be using the method directly. Assert if they do.
...
llvm-svn: 140947
2011-10-01 12:47:34 +00:00
Bill Wendling
f977ff5fb5
Add a convenience method to tell if two things are equal.
...
llvm-svn: 140946
2011-10-01 12:44:28 +00:00
John McCall
248512a573
When performing an @throw in ARC, retain + autorelease
...
the pointer, being sure to do so before running cleanups
associated with that full-expression. rdar://10042689
llvm-svn: 140945
2011-10-01 10:32:24 +00:00
John McCall
a55902bf98
Parse attributes written in an ObjC method parameter type as
...
attributes on the parameter declaration.
llvm-svn: 140944
2011-10-01 09:56:14 +00:00
Bill Wendling
4a4772fae2
Use the ARMConstantPoolMBB class to handle the MBB values.
...
llvm-svn: 140943
2011-10-01 09:30:42 +00:00
Bill Wendling
6dbc9fe82b
Add ARMConstantPoolMBB to hold an MBB value in the constant pool.
...
llvm-svn: 140942
2011-10-01 09:19:10 +00:00
Bill Wendling
c5a86069ca
Remove dead code.
...
llvm-svn: 140941
2011-10-01 09:05:12 +00:00
Bill Wendling
9ff05f740f
Remove now dead methods and ivar.
...
llvm-svn: 140940
2011-10-01 09:04:18 +00:00
Bill Wendling
c214cb055d
Use the new ARMConstantPoolSymbol class to handle external symbols.
...
llvm-svn: 140939
2011-10-01 08:58:29 +00:00
Bill Wendling
d7fa016720
Add an ARMConstantPool class for external symbols. This will split out the support for external symbols from the base class.
...
llvm-svn: 140938
2011-10-01 08:36:59 +00:00
Bill Wendling
d115c4d300
Remove now dead methods and ivar from ARMConstantPoolValue.
...
llvm-svn: 140937
2011-10-01 08:02:05 +00:00
Bill Wendling
7753d66468
Switch over to using ARMConstantPoolConstant for global variables, functions,
...
and block addresses.
llvm-svn: 140936
2011-10-01 08:00:54 +00:00
Bill Wendling
f117a35de0
Some more refactoring.
...
* Add a couple of Create methods to the ARMConstantPoolConstant class,
* Add its own version of getExistingMachineCPValue, and
* Modify hasSameValue to return false if the object isn't an ARMConstantPoolConstant.
llvm-svn: 140935
2011-10-01 07:52:37 +00:00
Bill Wendling
6722556380
Add a Create method that accepts 'kind' and 'pcadj' arguments.
...
llvm-svn: 140934
2011-10-01 06:44:24 +00:00
Bill Wendling
396c211ae1
Refactoring: Separate out the ARM constant pool Constant from the ARM constant
...
pool value.
It's not used right now, but will be soon.
llvm-svn: 140933
2011-10-01 06:40:33 +00:00
Anna Zaks
79ada929b7
Address PR10616. The crash has already been fixed by Ted in r140725, so just refactor to use existing API + test case.
...
llvm-svn: 140932
2011-10-01 06:35:19 +00:00
John McCall
42856de542
Hey, maybe we shouldn't silently ignore decl attributes
...
on declarators written as types.
llvm-svn: 140931
2011-10-01 05:17:03 +00:00
Greg Clayton
9a37766e7c
Removed lldb::SBSourceManager_impl. We export everything in the lldb namespace
...
and this implemenation that backs our lldb::SBSourceManager should not be
exported.
llvm-svn: 140930
2011-10-01 02:59:24 +00:00
Bob Wilson
ce29158bc4
Subtarget getFeatureBits() returns a uint64_t, not unsigned.
...
llvm-svn: 140928
2011-10-01 02:47:54 +00:00
Chandler Carruth
59d9ebb103
As I suspected, completely non-multilib machines just get no suffix.
...
Make the suffixes optional everywhere, and just make sure they have the
right value. The suffixes aren't the interesting part of this test
anyways.
Sorry for the churn as I let the bots try out various patterns.
llvm-svn: 140927
2011-10-01 02:39:57 +00:00