summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Allow getting all source locations of selector identifiers in a ObjCMessageExpr.Argyrios Kyrtzidis2011-10-039-61/+328
| | | | | | | | | | | | | Instead of always storing all source locations for the selector identifiers we check whether all the identifiers are in a "standard" position; "standard" position is -Immediately before the arguments: [foo first:1 second:2] -With a space between the arguments: [foo first: 1 second: 2] -For nullary selectors, immediately before ']': [foo release] In such cases we infer the locations instead of storing them. llvm-svn: 140987
* ArrayRef'ize ObjCMessageExprArgyrios Kyrtzidis2011-10-034-37/+39
| | | | llvm-svn: 140986
* Add an assertion that we don't overflow the bitfield ObjCMessageExpr::NumArgs.Argyrios Kyrtzidis2011-10-032-6/+18
| | | | llvm-svn: 140985
* Pass from the parser the locations of selector identifiers when creatingArgyrios Kyrtzidis2011-10-039-10/+21
| | | | | | | | objc method decls. They are not stored in the AST yet. llvm-svn: 140984
* Don't keep NumSelectorArgs in the ObjCMethodDecl, the number can be derived ↵Argyrios Kyrtzidis2011-10-037-30/+11
| | | | | | from the selector. llvm-svn: 140983
* Pass all the locations of the selector identifiers for a message expression ↵Argyrios Kyrtzidis2011-10-035-41/+47
| | | | | | | | from the parser. They are not kept in the AST yet. llvm-svn: 140982
* Rework the selection of builtin library search paths on Linux toChandler Carruth2011-10-032-35/+46
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Revert r140979 due to reports of bootstrap failure.Nick Lewycky2011-10-032-36/+4
| | | | llvm-svn: 140980
* Add one more case we compute a max trip count.Nick Lewycky2011-10-032-4/+36
| | | | llvm-svn: 140979
* CUDA: diagnose invalid calls across targetsPeter Collingbourne2011-10-028-2/+169
| | | | llvm-svn: 140978
* CUDA: add separate diagnostics for too few/many exec config argsPeter Collingbourne2011-10-024-17/+31
| | | | llvm-svn: 140977
* Add ConvertArgumentsForCall diagnostics for at least/at most n argsPeter Collingbourne2011-10-021-4/+9
| | | | llvm-svn: 140976
* CUDA: diagnose unconfigured calls to global functionsPeter Collingbourne2011-10-023-0/+8
| | | | llvm-svn: 140975
* Fix some Intel syntax disassembly issues with instructions that implicitly ↵Craig Topper2011-10-025-32/+215
| | | | | | use AL/AX/EAX/RAX such as ADD/SUB/ADC/SUBB/XOR/OR/AND/CMP/MOV/TEST. llvm-svn: 140974
* Sorry, I misunderstood the interaction here; the GNU runtime doesJohn McCall2011-10-021-5/+3
| | | | | | | | | 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
* Special case disassembler handling of REX.B prefix on NOP instruction to ↵Craig Topper2011-10-022-2/+42
| | | | | | decode as XCHG R8D, EAX instead. Fixes PR10344. llvm-svn: 140971
* Use -fgnu-runtime to force the use of the non-fragile ABI;John McCall2011-10-021-6/+5
| | | | | | | otherwise these tests would fail on hosts that happen to default to that, since that affects whether default synthesis can happen. llvm-svn: 140970
* Add a new icmp+select optz'n. Also shows off the load(cst) folding added inNick Lewycky2011-10-022-0/+16
| | | | | | r140966. llvm-svn: 140969
* Temporarily XFAIL this test until John or someone else who works on ObjCChandler Carruth2011-10-021-0/+3
| | | | | | can look at it. llvm-svn: 140968
* Enhance a couple places where we were doing constant folding of instructions,Nick Lewycky2011-10-022-7/+8
| | | | | | but not load instructions. Noticed by inspection. llvm-svn: 140966
* Simplify this through the power of the ternary operator.Chandler Carruth2011-10-021-18/+4
| | | | llvm-svn: 140965
* Consolidate the currently bizarre 32/64 multilib selection logic a bit.Chandler Carruth2011-10-021-19/+19
| | | | llvm-svn: 140964
* Fix typo in r140954.Craig Topper2011-10-021-1/+0
| | | | llvm-svn: 140962
* Make canonicalization of ImmutableSetRef::asImmutableSet() semi-explicit.Ted Kremenek2011-10-021-2/+3
| | | | llvm-svn: 140959
* Fix another major performance regression in LiveVariables by not ↵Ted Kremenek2011-10-021-1/+6
| | | | | | canonicalizing the underlying ImmutableSets on every analyzed statement (just at merges). Fixes <rdar://problem/10087538>. llvm-svn: 140958
* Make -fobjc-nonfragile-abi the -cc1 default, since it's theJohn McCall2011-10-02309-452/+470
| | | | | | | | | | | | | | | | | | | 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
* Fix LiveVariables analysis bug with MaterializeTemporaryExpr and fix ↵Ted Kremenek2011-10-023-18/+11
| | | | | | handling in ExprEngine. Fixes <rdar://problem/10201666>. llvm-svn: 140956
* Fix disassembling of INVEPT and INVVPID to take operandsCraig Topper2011-10-014-2/+21
| | | | llvm-svn: 140955
* Fix disassembler handling of CRC32 which is an odd instruction that uses ↵Craig Topper2011-10-015-6/+36
| | | | | | 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
* Revert r140924 "Attempt to fix dynamic stack realignment for thumb1 functions."Chad Rosier2011-10-013-27/+7
| | | | | | to appease nightly testers. Not quite there yet. llvm-svn: 140953
* Moved type construction out of the loop and added an assert on the legality ↵Nadav Rotem2011-10-011-10/+10
| | | | | | of the type. Formatted lines to the 80 char limit. llvm-svn: 140952
* Move TableGen's parser and entry point into a libraryPeter Collingbourne2011-10-0177-241/+369
| | | | | | This is the first step towards splitting LLVM and Clang's tblgen executables. llvm-svn: 140951
* Updated testit to run on Windows and fresh Windows results by Ruben Van BoxemHoward Hinnant2011-10-012-294/+33
| | | | llvm-svn: 140950
* No one should be using the method directly. Assert if they do.Bill Wendling2011-10-011-12/+1
| | | | llvm-svn: 140947
* Add a convenience method to tell if two things are equal.Bill Wendling2011-10-012-16/+10
| | | | llvm-svn: 140946
* When performing an @throw in ARC, retain + autoreleaseJohn McCall2011-10-015-13/+41
| | | | | | | the pointer, being sure to do so before running cleanups associated with that full-expression. rdar://10042689 llvm-svn: 140945
* Parse attributes written in an ObjC method parameter type asJohn McCall2011-10-017-33/+122
| | | | | | attributes on the parameter declaration. llvm-svn: 140944
* Use the ARMConstantPoolMBB class to handle the MBB values.Bill Wendling2011-10-014-36/+13
| | | | llvm-svn: 140943
* Add ARMConstantPoolMBB to hold an MBB value in the constant pool.Bill Wendling2011-10-012-1/+90
| | | | llvm-svn: 140942
* Remove dead code.Bill Wendling2011-10-012-14/+0
| | | | llvm-svn: 140941
* Remove now dead methods and ivar.Bill Wendling2011-10-012-34/+12
| | | | llvm-svn: 140940
* Use the new ARMConstantPoolSymbol class to handle external symbols.Bill Wendling2011-10-016-14/+27
| | | | llvm-svn: 140939
* Add an ARMConstantPool class for external symbols. This will split out the ↵Bill Wendling2011-10-012-5/+118
| | | | | | support for external symbols from the base class. llvm-svn: 140938
* Remove now dead methods and ivar from ARMConstantPoolValue.Bill Wendling2011-10-012-38/+3
| | | | llvm-svn: 140937
* Switch over to using ARMConstantPoolConstant for global variables, functions,Bill Wendling2011-10-016-34/+39
| | | | | | and block addresses. llvm-svn: 140936
* Some more refactoring.Bill Wendling2011-10-012-6/+78
| | | | | | | | * 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
* Add a Create method that accepts 'kind' and 'pcadj' arguments.Bill Wendling2011-10-012-0/+10
| | | | llvm-svn: 140934
* Refactoring: Separate out the ARM constant pool Constant from the ARM constantBill Wendling2011-10-012-6/+94
| | | | | | | | pool value. It's not used right now, but will be soon. llvm-svn: 140933
* Address PR10616. The crash has already been fixed by Ted in r140725, so just ↵Anna Zaks2011-10-012-1/+14
| | | | | | refactor to use existing API + test case. llvm-svn: 140932
* Hey, maybe we shouldn't silently ignore decl attributesJohn McCall2011-10-018-5/+62
| | | | | | on declarators written as types. llvm-svn: 140931
OpenPOWER on IntegriCloud