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