summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix a bug that prevented llvm-extract -delete from working.Dan Gohman2008-10-211-1/+1
| | | | llvm-svn: 57864
* Added the start of a prototype implementation of PCH based on token caching.Ted Kremenek2008-10-213-11/+229
| | | | llvm-svn: 57863
* Fix gcc.c-torture/compile/920520-1.c by inserting bitconvertsChris Lattner2008-10-212-7/+41
| | | | | | | | | for strange asm conditions earlier. In this case, we have a double being passed in an integer reg class. Convert to like sized integer register so that we allocate the right number for the class (two i32's for the f64 in this case). llvm-svn: 57862
* Further improve path-sensitivity with divide-by-zero checking by assuming ↵Ted Kremenek2008-10-202-18/+45
| | | | | | that a denominator cannot be zero even when the result of an '/' or '%' expression is unknown. llvm-svn: 57855
* Added test case inspired by <rdar://6268365>: recover path-sensitivity after ↵Ted Kremenek2008-10-201-0/+16
| | | | | | compound assignment when the result of the assignment is not known. llvm-svn: 57852
* Used conjured symbols to recover path-sensitivity when the result of a ↵Ted Kremenek2008-10-201-0/+13
| | | | | | compound assignment is UnknownVal(). llvm-svn: 57851
* Fix <rdar://problem/6268365> Parser rejects property (dot notation) access ↵Steve Naroff2008-10-202-1/+29
| | | | | | on id<protocol>. llvm-svn: 57850
* Add skeleton for the pre-register allocation live interval splitting pass.Evan Cheng2008-10-202-0/+83
| | | | llvm-svn: 57847
* Update the stub and callback code to handle lazy compilation. The stubJim Grosbach2008-10-204-64/+128
| | | | | | | | | | is re-written by the callback to branch directly to the compiled code in future invocations. Added back in range-based memory permission functions for the updating of the stub on Darwin. llvm-svn: 57846
* Fast-isel no longer an experiment.Dan Gohman2008-10-201-1/+1
| | | | llvm-svn: 57845
* Add a register class -> virtual registers map.Evan Cheng2008-10-202-7/+31
| | | | llvm-svn: 57844
* This forward declaration is unnecessary.Evan Cheng2008-10-201-1/+0
| | | | llvm-svn: 57843
* Sema::CheckCompareOperands() and ASTContext::mergeTypes(): Change handling ↵Steve Naroff2008-10-204-8/+33
| | | | | | of ObjC qualified id types to be consistent with gcc. This changes a handful of test case errors into warnings (diff will tell you which cases have changed). llvm-svn: 57841
* Support operations like fp_to_uint with a vectorDuncan Sands2008-10-202-1/+53
| | | | | | | | | result type when the result type is legal but not the operand type. Add additional support for EXTRACT_SUBVECTOR and CONCAT_VECTORS, needed to handle such cases. llvm-svn: 57840
* Teach getTypeToTransformTo to return somethingDuncan Sands2008-10-201-4/+5
| | | | | | | | sensible for vectors being scalarized. Note that this method can't return anything very sensible when splitting non-power-of-two vectors. llvm-svn: 57839
* LegalizeTypes support for atomic operation promotion.Duncan Sands2008-10-202-3/+78
| | | | llvm-svn: 57838
* Use DAG.getIntPtrConstant rather than DAG.getConstantDuncan Sands2008-10-202-6/+4
| | | | | | with TLI.getPointerTy for a small simplification. llvm-svn: 57837
* Always use either MVT::i1 or getSetCCResultType forDuncan Sands2008-10-201-15/+51
| | | | | | | | the condition of a SELECT node. Make sure that the correct extension type (any-, sign- or zero-extend) is used. llvm-svn: 57836
* Formatting - no functional change.Duncan Sands2008-10-202-7/+6
| | | | llvm-svn: 57834
* Don't use a random type for the select condition,Duncan Sands2008-10-201-2/+1
| | | | | | use an MVT::i1 and simplify the code while there. llvm-svn: 57833
* Fix a typo in a comment.Dan Gohman2008-10-201-1/+1
| | | | llvm-svn: 57832
* Have X86 custom lowering for LegalizeTypes useDuncan Sands2008-10-201-10/+12
| | | | | | | | | | | | | LowerOperation if it doesn't know what else to do. This methods should probably be factorized some, but this is good enough for the moment. Have LowerATOMIC_BINARY_64 use EXTRACT_ELEMENT rather than assuming the operand is a BUILD_PAIR (if it is then getNode will automagically simplify the EXTRACT_ELEMENT). This way LowerATOMIC_BINARY_64 usable from LegalizeTypes. llvm-svn: 57831
* Fix typo in a comment.Matthijs Kooijman2008-10-201-1/+1
| | | | llvm-svn: 57829
* Remove another stale comment.Matthijs Kooijman2008-10-201-3/+1
| | | | llvm-svn: 57828
* Remove an inappropriate (probably outdated) comment.Matthijs Kooijman2008-10-201-3/+1
| | | | llvm-svn: 57827
* Fix spelling error.Matthijs Kooijman2008-10-201-1/+1
| | | | llvm-svn: 57820
* Add newline at the end of file, to silence compiler warning.Matthijs Kooijman2008-10-201-1/+1
| | | | llvm-svn: 57818
* eliminate ObjCPropertyAttrs an corresponding enums, just useChris Lattner2008-10-203-27/+9
| | | | | | strcmp when needed. llvm-svn: 57817
* rearrange some code.Chris Lattner2008-10-201-17/+16
| | | | llvm-svn: 57816
* more simplifications to error recovery in ParseObjCPropertyAttributeChris Lattner2008-10-201-28/+18
| | | | llvm-svn: 57815
* remove extraneous bracesChris Lattner2008-10-201-3/+2
| | | | llvm-svn: 57814
* move some code around to make it fall through more, no functionality change.Chris Lattner2008-10-201-25/+24
| | | | llvm-svn: 57813
* reject properties completely in objc1 instead of emitting Chris Lattner2008-10-202-7/+17
| | | | | | weird errors about property attributes being unknown. llvm-svn: 57812
* More property attribute recovery improvements. Instead of this:Chris Lattner2008-10-204-19/+21
| | | | | | | | | | | | | | | | | | | | | | crash.m:8:12: error: type name requires a specifier or qualifier @property (readonlyx, getter=isAwesome) int _awesome; ^ crash.m:8:29: error: expected ';' at end of declaration list @property (readonlyx, getter=isAwesome) int _awesome; ^ crash.m:8:39: error: expected identifier or '(' @property (readonlyx, getter=isAwesome) int _awesome; ^ we now get: crash.m:8:12: error: unknown property attribute 'readonlyx' @property (readonlyx, getter=isAwesome) int _awesome; ^ Also, we can eliminate isObjCPropertyAttribute now. llvm-svn: 57811
* add testcase for the recovery improvements in my last patch.Chris Lattner2008-10-201-0/+8
| | | | llvm-svn: 57810
* significantly simplify and clean up error recovery in Chris Lattner2008-10-201-25/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ParseObjCPropertyAttribute. Before, on this code (where a comma was forgotten): @property (readonly getter=isAwesome) int _awesome; we emitted: crash.m:9:11: error: expected ')' @property (readonly getter=isAwesome) int _awesome; ^ crash.m:9:37: error: type name requires a specifier or qualifier @property (readonly getter=isAwesome) int _awesome; ^ crash.m:9:37: error: expected identifier or '(' crash.m:9:37: error: expected ';' at end of declaration list crash.m:9:1: error: @property requires fields to be named @property (readonly getter=isAwesome) int _awesome; ^ now we emit: crash.m:9:21: error: expected ')' @property (readonly getter=isAwesome) int _awesome; ^ crash.m:9:11: error: to match this '(' @property (readonly getter=isAwesome) int _awesome; ^ llvm-svn: 57809
* Updated checker buildTed Kremenek2008-10-201-1/+1
| | | | llvm-svn: 57808
* simplify some other code for __extension__ processing.Chris Lattner2008-10-202-7/+6
| | | | llvm-svn: 57807
* implement a couple fixme's by implementing __extension__ properly.Chris Lattner2008-10-205-13/+56
| | | | llvm-svn: 57806
* fix a crash on unnamed properties like:Chris Lattner2008-10-203-7/+27
| | | | | | @property (readonly) int : 4; llvm-svn: 57805
* simplify some code by using ExpectAndConsume. When an errorChris Lattner2008-10-201-9/+6
| | | | | | | occurs, skip to an @ or ; instead of to a } or ;. Properties don't necessarily live in {}'s. llvm-svn: 57804
* refactor a bunch of code:Chris Lattner2008-10-203-50/+31
| | | | | | | | | | Check for @end in ParseObjCInterfaceDeclList instead of in each caller Handle @required and @optional with the same code Add some fixmes about some apparently objc2 code that is being accepted in objc1. llvm-svn: 57803
* fix some minor error recovery bugs in ParseObjCInterfaceDeclListChris Lattner2008-10-201-12/+27
| | | | | | | | | | | where it would reject @required in non-protocols, but then go ahead and tag methods with required anyway. Instead, if we see this in something other than a protocol, just ignore the request. Also, improve error recovery a bit when we see something bogus inside an interface. llvm-svn: 57798
* restructure the body of the ParseObjCInterfaceDeclList loopChris Lattner2008-10-201-67/+77
| | | | | | to make it easier to understand. No functionality change. llvm-svn: 57797
* Fix rdar://6257721 by tightening up the block "snapshot" check, andChris Lattner2008-10-202-9/+47
| | | | | | move it to its own predicate to make it more clear. llvm-svn: 57796
* Support attributes in *yet another* place. Is there any place you Chris Lattner2008-10-203-5/+31
| | | | | | can't stick an attributes? llvm-svn: 57795
* Fix a parser bug where we let attributes interfere with our disambiguationChris Lattner2008-10-204-27/+119
| | | | | | | | | | | | | | | | | | | of whether a '(' was a grouping paren or the start of a function declarator. This is PR2796. Now we eat the attribute before deciding whether the paren is grouping or not, then apply it to the resultant decl or to the first argument as needed. One somewhat surprising aspect of this is that attributes interact with implicit int in cases like this: void a(x, y) // k&r style function void b(__attribute__(()) x, y); // function with two implicit int arguments void c(x, __attribute__(()) y); // error, can't have attr in identifier list. Fun stuff. llvm-svn: 57790
* fix indentationChris Lattner2008-10-201-1/+1
| | | | llvm-svn: 57789
* fix indentationChris Lattner2008-10-201-2/+3
| | | | llvm-svn: 57788
* Remove an implemented fixme, only treat < as a type specifierChris Lattner2008-10-201-3/+4
| | | | | | when ObjC is turned on. llvm-svn: 57787
OpenPOWER on IntegriCloud