Commit Graph

46971 Commits

Author SHA1 Message Date
Daniel Dunbar ca8531a2d7 Fix Obj-C super sends inside class methods.
- NeXT loads the super class at runtime; this required changing the
   runtime interface to pass more information down.

llvm-svn: 55307
2008-08-25 08:19:24 +00:00
Daniel Dunbar 236e02c62c Name struct types generated for Obj-C classes.
llvm-svn: 55304
2008-08-25 06:28:15 +00:00
Daniel Dunbar eb99810502 Use DenseMap on IdentifierInfo instead of StringMap.
llvm-svn: 55303
2008-08-25 06:18:57 +00:00
Daniel Dunbar c61d0e9ee9 NeXT: Emit symbols used to manage linking of Obj-C classes.
- This ensures that references to undefined classes cause link
   errors.
 - NOTE: This relies on platform specific asm directives currently,
   this should be factored out.

Also, don't emit a SYMBOLS metadata entry if there are no symbols.

llvm-svn: 55302
2008-08-25 06:02:07 +00:00
Chris Lattner 820eebc5a8 flush stream after dumping.
llvm-svn: 55301
2008-08-25 04:55:46 +00:00
Evan Cheng e414681352 Fix asm printing of MOVSDto64mr and MOV64toSDrm.
llvm-svn: 55300
2008-08-25 04:11:42 +00:00
Anders Carlsson ab55d9cd74 Handle emitting __builtin_huge_valf as a constant expr.
llvm-svn: 55299
2008-08-25 03:27:15 +00:00
Anders Carlsson c13b85a6b8 Make code generation of ivar ref exprs more like member exprs.
llvm-svn: 55298
2008-08-25 01:53:23 +00:00
Anders Carlsson 4c03d98e45 Handle static variables inside obj-c methods.
llvm-svn: 55297
2008-08-25 01:38:19 +00:00
Bill Wendling 934b374bc8 Fix this test. Don't null out the file, just XFAIL it until patch can be fixed.
llvm-svn: 55296
2008-08-24 21:48:46 +00:00
Bill Wendling 5b836c5f77 Temporarily reverting r55292. It's causing a bootstraping failure:
/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./gcc/xgcc ... src/libiberty/make-temp-file.c -o make-temp-file.o
Assertion failed: (Node2Index[SU->NodeNum] > Node2Index[I->Dep->NodeNum] && "Wrong topological sorting"), function InitDAGTopologicalSorting, file /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp, line 508.
../../../../llvm-gcc.src/libiberty/hashtab.c:955: internal compiler error: Abort trap
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.
make[4]: *** [hashtab.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [multi-do] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-target-libiberty] Error 2
make: *** [all] Error 2

llvm-svn: 55295
2008-08-24 21:45:30 +00:00
Chris Lattner 25852069ed remove the type checking logic already done by tblgen, just keep the
parts tblgen doesn't do (checking for constant, alloca, enclosing 
function has gc marker).  This passes dj! :)

llvm-svn: 55294
2008-08-24 20:46:13 +00:00
Chris Lattner a078d83e17 simplify PseudoSourceValue printing a bit. Unnest all of PseudoSourceValue.cpp from the llvm namespace.
llvm-svn: 55293
2008-08-24 20:37:32 +00:00
Evan Cheng 8fa17424f7 Move callseq_start above the call address load to allow load to be folded into the call node.
llvm-svn: 55292
2008-08-24 19:19:55 +00:00
Evan Cheng 72e7d91591 Print PseudoSourceValue.
llvm-svn: 55291
2008-08-24 18:51:20 +00:00
Chris Lattner 6a951c240b we should use 'class' for non-pod types instead of 'struct' to
make it easier to deal with the VC++ struct/class bug.

llvm-svn: 55290
2008-08-24 18:38:56 +00:00
Chris Lattner d758625083 add a hack to temporarily allow pseudo source values.
llvm-svn: 55289
2008-08-24 18:33:17 +00:00
Chris Lattner f4bd5cf3dd make sure to flush the stream after dumping, to make sure it goes out immediately.
llvm-svn: 55288
2008-08-24 18:28:30 +00:00
Anders Carlsson 88e89a5a5d Convert qualified interface types correctly.
llvm-svn: 55287
2008-08-24 18:05:19 +00:00
Anders Carlsson c7c20702b1 Fix silly bug in objc_gc attribute parsing and add test case
llvm-svn: 55286
2008-08-24 16:33:25 +00:00
Argyrios Kyrtzidis bf667e23d1 Pass SourceRanges by reference to the various Diag methods.
llvm-svn: 55284
2008-08-24 13:14:02 +00:00
Argyrios Kyrtzidis 26da1f46e4 Add a Parser::Diag overload that can receive a custom string along with a SourceRange.
llvm-svn: 55283
2008-08-24 12:51:04 +00:00
Cedric Venet 404cd15fa5 Use additionnal include directory instead of ../ in #include.
Suggested by aKor.

llvm-svn: 55282
2008-08-24 12:30:46 +00:00
Argyrios Kyrtzidis 75b34536d0 Rename Preprocessor::DisableBacktrack -> Preprocessor::CommitBacktrackedTokens.
llvm-svn: 55281
2008-08-24 12:29:43 +00:00
Cedric Venet 0a854b5308 Update VS projects.
llvm-svn: 55280
2008-08-24 11:59:26 +00:00
Cedric Venet 0f7b5666a2 Updating VC++ project.
Adding one include file and correct one declaration from class to struct in order to make llvm compile on VC2005.

llvm-svn: 55279
2008-08-24 11:56:40 +00:00
Chris Lattner ab18099c98 other updates
llvm-svn: 55278
2008-08-24 05:56:54 +00:00
Chris Lattner 8659651a12 link to c++ status page
llvm-svn: 55277
2008-08-24 05:44:37 +00:00
Chris Lattner d0449107d6 codegen is still not 'finished', but in a better state than before.
llvm-svn: 55276
2008-08-24 05:42:07 +00:00
Gordon Henriksen 75609c7e1c Update GC docs for clarified naming and AsmWriter refactoring.
llvm-svn: 55275
2008-08-24 03:18:23 +00:00
Zhongxing Xu 9470a96b18 Moved HTMLDiagnostics to lib/Driver.
llvm-svn: 55274
2008-08-24 02:33:36 +00:00
Daniel Dunbar 83b8766f23 Add svn:ignore for docs/{doxygen,doxygen.tar.gz}
llvm-svn: 55273
2008-08-24 00:24:17 +00:00
Chris Lattner 909d0881ff Comment tweak.
llvm-svn: 55272
2008-08-24 00:12:08 +00:00
Chris Lattner add44f3fb7 improve encapsulation of the BBExecutable set.
llvm-svn: 55271
2008-08-23 23:39:31 +00:00
Chris Lattner 65938fc69a Switch an assortment of maps, sets and vectors to more efficient versions,
patch contributed by m-s!

llvm-svn: 55270
2008-08-23 23:36:38 +00:00
Anders Carlsson 6305c5f437 Add support for parsing the objc_gc attribute. Tests will come shortly.
llvm-svn: 55269
2008-08-23 23:22:21 +00:00
Chris Lattner 838aff36dd get MachineConstantPool off std::ostream, onto raw_ostream. It would be
really nice if someone converted MachineFunction::print to raw_ostream.

llvm-svn: 55268
2008-08-23 22:53:13 +00:00
Chris Lattner 82ff923091 minor cleanups.
llvm-svn: 55267
2008-08-23 22:52:27 +00:00
Chris Lattner e35929da7f remove dead method.
llvm-svn: 55266
2008-08-23 22:43:21 +00:00
Chris Lattner 205af9643d Add raw_stream adaptors that write into an std::string and SmallVector/SmallString.
llvm-svn: 55265
2008-08-23 22:43:04 +00:00
Chris Lattner a2e25e5e72 adjust to changes in various APIs from LLVM. We can't print
an APInt directly to an ostream now, so add some hacks.  It would
be better to switch all of the bugreport (and friends) stuff over
to raw_ostream.

llvm-svn: 55264
2008-08-23 22:23:37 +00:00
Chris Lattner 0c19df4871 Switch the asmprinter (.ll) and all the stuff it requires over to
use raw_ostream instead of std::ostream.  Among other goodness,
this speeds up llvm-dis of kc++ with a release build from 0.85s
to 0.49s (88% faster).

Other interesting changes:
 1) This makes Value::print be non-virtual.
 2) AP[S]Int and ConstantRange can no longer print to ostream directly, 
    use raw_ostream instead.
 3) This fixes a bug in raw_os_ostream where it didn't flush itself 
    when destroyed.
 4) This adds a new SDNode::print method, instead of only allowing "dump".


A lot of APIs have both std::ostream and raw_ostream versions, it would
be useful to go through and systematically anihilate the std::ostream 
versions.

This passes dejagnu, but there may be minor fallout, plz let me know if
so and I'll fix it.

llvm-svn: 55263
2008-08-23 22:23:09 +00:00
Anders Carlsson d059d5bba0 Add carbon.cpp and cocoa.mm tests
llvm-svn: 55262
2008-08-23 22:21:00 +00:00
Anders Carlsson fbcd85137b Make sure to create CXX record decls for the implicit Obj-C type declarations. This lets us compile Cocoa.h as Objective-C++
llvm-svn: 55261
2008-08-23 22:20:38 +00:00
Daniel Dunbar eacf1d2c0f Update ccc driver
- Use CCC_ECHO to control echoing behavior (default is on, set to ''
   or unset to disable)
 - Get 'clang','llc','as','cc','ld' executables from environment. 'cc'
   and 'ld' are fetched through CCC_CC and CCC_LD respectively -- to
   support make CC=ccc -- the others are through their upcased
   versions.
 - Add CCC_NATIVE mode.
   o This uses llc and as to generate native object files; allowing
     more drop-in replacement of gcc.
   o Disabled by default, but should eventually be default.
   o Allow --emit-llvm in CCC_NATIVE mode to override. Essentially
     this makes ccc more like a drop in replacement for llvm-gcc.
 - Prevent explicit -x <language> options from annoying clang.

llvm-svn: 55260
2008-08-23 22:15:15 +00:00
Chris Lattner 8e8eae6860 use proper namespace qualifications
llvm-svn: 55259
2008-08-23 22:00:15 +00:00
Chris Lattner 2ecf455f1b Add #include
llvm-svn: 55258
2008-08-23 21:34:34 +00:00
Chris Lattner 339c3cae0c add #include
llvm-svn: 55257
2008-08-23 21:33:24 +00:00
Anders Carlsson 4f177f803a treat bool literals as constatnt expressions.
llvm-svn: 55255
2008-08-23 21:12:35 +00:00
Anders Carlsson a3345a5d73 Handle Objective-C++ tests.
llvm-svn: 55254
2008-08-23 21:03:10 +00:00