Commit Graph

41201 Commits

Author SHA1 Message Date
Chris Lattner 788404f312 Collect and build and process type attributes on pointers. For
example, we can now correctly build the type for things like:
    _AS1 float * _AS2 *B;

llvm-svn: 47420
2008-02-21 01:32:26 +00:00
Chris Lattner ed71d60f4d move some code, no other change.
llvm-svn: 47419
2008-02-21 01:08:11 +00:00
Chris Lattner efedd9ec67 move type attribute processing into the creatively named ProcessTypeAttributes method.
llvm-svn: 47418
2008-02-21 01:07:18 +00:00
Chris Lattner ee0d271819 Correctly handle address space qualifiers in declspecs. This
allows us to correctly handle stuff like:

  _AS1 float *B;

and to reject stuff like:

  _AS1 _AS2* x;

llvm-svn: 47417
2008-02-21 00:48:22 +00:00
Evan Cheng 911f6bd799 Clean up some spilling code using MachineRegisterInfo.
llvm-svn: 47416
2008-02-21 00:34:19 +00:00
Chris Lattner 556676a20b move ConvertDeclSpecToType into Sema
llvm-svn: 47415
2008-02-20 23:53:49 +00:00
Chris Lattner dcee3a9630 rename some methods.
llvm-svn: 47414
2008-02-20 23:25:22 +00:00
Chris Lattner f179190206 Use getKind() in HandleDeclAttribute instead of decoding the string inline.
llvm-svn: 47413
2008-02-20 23:17:35 +00:00
Chris Lattner f18c743222 add a method to AttributeList that converts an identifier to an enum.
llvm-svn: 47412
2008-02-20 23:14:47 +00:00
Devang Patel fe988eba4b XFAIL for now.
llvm-svn: 47411
2008-02-20 23:10:42 +00:00
Nate Begeman 7dd8e72de9 Tabs are the enemy
llvm-svn: 47410
2008-02-20 22:57:40 +00:00
Devang Patel b2aa6fe905 Now functions can return aggregate values.
llvm-svn: 47409
2008-02-20 22:51:28 +00:00
Devang Patel 8a24fa68ad regenerate.
llvm-svn: 47408
2008-02-20 22:40:23 +00:00
Devang Patel bd254045d0 Parse
ret i32 1, i8 2
another step towards multiple return value support.

llvm-svn: 47407
2008-02-20 22:39:45 +00:00
Devang Patel 616f0e02be What if functions can return aggregate values ?
One small step towards multiple return value support.

llvm-svn: 47406
2008-02-20 22:36:03 +00:00
Chris Lattner dba738e740 add some code that will be used to remove processed attrs from
declspec, it is currently nonfunctional though.

llvm-svn: 47405
2008-02-20 22:04:11 +00:00
Chris Lattner 19d8a38861 Change ConvertDeclSpecToType to break out of switch instead of
returning directly.  This allows us to factor handling of _Complex.

llvm-svn: 47404
2008-02-20 21:40:32 +00:00
Dale Johannesen c3706fcfb8 Regenerated files.
llvm-svn: 47402
2008-02-20 21:15:43 +00:00
Dale Johannesen 965155affb Support alignment within ParamAttrs in the I/O handling.
llvm-svn: 47401
2008-02-20 21:15:19 +00:00
Evan Cheng b6b69208ba Poorly named option.
llvm-svn: 47400
2008-02-20 20:57:32 +00:00
Bill Wendling eac9e5ef21 Remove one of the fixmes that I put in there. From Evan:
No need to go up more levels. A def of a register also sets its sub-registers
(so if PhysRegInfo[SuperReg] is NULL, it means SuperReg's super registers are
not previously defined).

llvm-svn: 47399
2008-02-20 20:56:45 +00:00
Chris Lattner 445fcabff7 Alternate address spaces work:
rename QualType::getQualifiers to getCVRQualifiers.
Add some fixme's and clean up some code relevant to qualifiers.
Change ASQualType to contain a Type* instead of a QualType.  
Any CVR qualifiers should be on the outer qual type.

llvm-svn: 47398
2008-02-20 20:55:12 +00:00
Anton Korobeynikov 1872ad9888 Add convenient helper to get suffix of the file
llvm-svn: 47397
2008-02-20 19:41:22 +00:00
Devang Patel cf193b8320 getresult does not support nested aggregates.
llvm-svn: 47396
2008-02-20 19:39:41 +00:00
Bill Wendling cf2d1aa485 Improve some comments explaining the "handle kills" stuff better.
llvm-svn: 47395
2008-02-20 19:35:34 +00:00
Devang Patel 6b30fd310d Verifier should use Assert1 instead of assert.
llvm-svn: 47394
2008-02-20 19:32:20 +00:00
Dan Gohman 2c61d2c503 Remove inline keywords from in-class function definitions, for
consistency.

llvm-svn: 47393
2008-02-20 19:29:58 +00:00
Devang Patel dcad9da0bc getresult type is the type of indexed aggregate element
llvm-svn: 47392
2008-02-20 19:26:55 +00:00
Devang Patel 949173da7f Regenerate.
llvm-svn: 47391
2008-02-20 19:13:10 +00:00
Devang Patel 666d45195a Specify GetResultInst index as an unsigned.
llvm-svn: 47390
2008-02-20 19:10:47 +00:00
Bill Wendling 0b72219681 Fix comment.
llvm-svn: 47389
2008-02-20 19:09:14 +00:00
Devang Patel 57b4eedad9 assert is more effective reminder then FIXME tag for unimplemented features.
llvm-svn: 47388
2008-02-20 18:37:40 +00:00
Devang Patel 3ef1b793c1 Use isValidOperands() to verify GetResultInst.
llvm-svn: 47387
2008-02-20 18:36:46 +00:00
Devang Patel 490760380c Fix typo. Add const version of getAggregateValue() accessor member function.
llvm-svn: 47386
2008-02-20 18:36:16 +00:00
Evan Cheng e43b6054b1 Temporarily backing out r47337. It breaks a number of CBE tests.
llvm-svn: 47385
2008-02-20 18:32:05 +00:00
Duncan Sands e7b462b329 LegalizeTypes support for scalarizing a vector store
and splitting extract_subvector.  This fixes nine
"make check" testcases, for example
2008-02-04-ExtractSubvector.ll and (partially)
CodeGen/Generic/vector.ll.

llvm-svn: 47384
2008-02-20 17:38:09 +00:00
Dan Gohman 34fc7dbf5b Convert Legalize to use the APInt form of ComputeMaskedBits.
llvm-svn: 47383
2008-02-20 16:57:27 +00:00
Dan Gohman 360c86aed5 Add explicit keywords.
llvm-svn: 47382
2008-02-20 16:44:09 +00:00
Dan Gohman d0ff91dac5 Convert DAGCombiner to use the APInt form of ComputeMaskedBits.
llvm-svn: 47381
2008-02-20 16:33:30 +00:00
Dan Gohman b717fdaa7b Use APInt::intersects.
llvm-svn: 47380
2008-02-20 16:30:17 +00:00
Dan Gohman 4edaff3586 Add an intersects method to APInt, to capture a common idiom.
llvm-svn: 47379
2008-02-20 16:08:11 +00:00
Anton Korobeynikov 581ba34c63 Add documentation for cl::sink stuff
llvm-svn: 47378
2008-02-20 12:38:31 +00:00
Anton Korobeynikov f275a49f7f Add 'sink' cmdline option. Patch by Mikhail Glushenkov!
llvm-svn: 47377
2008-02-20 12:38:07 +00:00
Anton Korobeynikov 5c96f98e5a Regenerate
llvm-svn: 47376
2008-02-20 12:10:37 +00:00
Anton Korobeynikov 18991d78fa Fix newly-introduced 4.3 warnings
llvm-svn: 47375
2008-02-20 12:07:57 +00:00
Anton Korobeynikov ea333124f1 Get rid of hash_map in llvmc
llvm-svn: 47374
2008-02-20 11:28:26 +00:00
Anton Korobeynikov 6f74afea32 Get rid of hash_map. Use StringMap instead
llvm-svn: 47373
2008-02-20 11:27:49 +00:00
Anton Korobeynikov bddf51bc9b And final pack of warnings silencing
llvm-svn: 47372
2008-02-20 11:27:04 +00:00
Anton Korobeynikov 1bfd121321 Make Transforms to be 4.3 warnings-clean
llvm-svn: 47371
2008-02-20 11:26:25 +00:00
Anton Korobeynikov 852e214993 Fix code style
llvm-svn: 47370
2008-02-20 11:24:05 +00:00