- Mar 30, 2011
-
-
Jay Foad authored
llvm-svn: 128534
-
Ken Dyck authored
VCallAndVBaseOffsetBuilder::AddVCallOffsets() to CharUnits. No change in functionality intended. llvm-svn: 128531
-
Ken Dyck authored
functionality intended. llvm-svn: 128522
-
Ken Dyck authored
intended. llvm-svn: 128521
-
Ken Dyck authored
to CharUnits. No change in functionality intended. llvm-svn: 128520
-
Ken Dyck authored
CharUnits. No change in functionality intended. llvm-svn: 128516
-
Devang Patel authored
Fix in r128471 is very broad. Some of the unconditional branches need line number information for better user experience. Restrict the fix. This fixes break.exp failures from gdb testsuite. llvm-svn: 128513
-
- Mar 29, 2011
-
-
Devang Patel authored
Do not line number entry for unconditional branches. Usually, users do not want to stop at closing '}'. llvm-svn: 128471
-
Fariborz Jahanian authored
an executable test to llvm test suite. // rdar://9070460. llvm-svn: 128435
-
Daniel Dunbar authored
llvm-svn: 128433
-
- Mar 28, 2011
-
-
Anton Yartsev authored
llvm-svn: 128427
-
- Mar 27, 2011
-
-
Ken Dyck authored
No change in functionality intended. llvm-svn: 128393
-
Ken Dyck authored
functionality intended. llvm-svn: 128392
-
Ken Dyck authored
functionality intended. llvm-svn: 128391
-
Ken Dyck authored
CharUnits). llvm-svn: 128386
-
Ken Dyck authored
functionality intended. llvm-svn: 128385
-
Ken Dyck authored
CharUnits. No change in functionality intended. llvm-svn: 128384
-
Ken Dyck authored
functionality intended. llvm-svn: 128383
-
Anton Yartsev authored
AltiVec vector comparison logic now affect only vectors of fundamental AltiVec vector types. It fixes bug 9347. llvm-svn: 128381
-
Anton Yartsev authored
supported: AltiVec vector initialization with a single literal according to PIM section 2.5.1 - after initialization all elements have the value specified by the literal llvm-svn: 128375
-
John McCall authored
Emit them instead with the linkage of the VTT. I'm actually really ambivalent about this; it's what GCC does, but outside of improving code size (if the linkage is coalescing), I'm not sure it's at all relevant. Construction vtables are naturally referenced only by the VTT, which is itself only referenced by complete-object constructors and destructors; giving the construction vtables possibly-external linkage is important if you have an optimization that drills through the VTT to a reference to a particular construction vtable which it cannot just emit itself. llvm-svn: 128374
-
- Mar 26, 2011
-
-
Douglas Gregor authored
platform implies default visibility. To achieve these, refactor our lookup of explicit visibility so that we search for both an explicit VisibilityAttr and an appropriate AvailabilityAttr, favoring the VisibilityAttr if it is present. llvm-svn: 128336
-
David Chisnall authored
Reformatted doc comments so that they are now difficult to edit in any editor that doesn't have explicit doxygen support, as per LLVM style guidelines. llvm-svn: 128335
-
Ken Dyck authored
FinalOverriders::ComputeBaseOffsets() to CharUnits. No change in functionality intended. llvm-svn: 128323
-
Ken Dyck authored
intended. llvm-svn: 128321
-
Ken Dyck authored
functionality intended. llvm-svn: 128318
-
Ken Dyck authored
functionality intended. llvm-svn: 128317
-
Ken Dyck authored
intended. llvm-svn: 128315
-
- Mar 25, 2011
-
-
Devang Patel authored
Provide blockDecl's startLoc to startFunction. This fixes hidden bug exposed by recent code gen changes. This is tested by global-blocks-lines.exp in gdb testsuite. llvm-svn: 128303
-
Daniel Dunbar authored
llvm-svn: 128300
-
David Chisnall authored
Sanity checked by John McCall. llvm-svn: 128287
-
Anders Carlsson authored
llvm-svn: 128276
-
David Chisnall authored
llvm-svn: 128275
-
David Chisnall authored
- Moved the CGObjCRuntime functions out of CGObjCMac.cpp into CGObjCRuntime.cpp - Added generic functions in CGObjCRuntime for emitting @try and @synchronize blocks, usable by any runtime that uses DWARF exceptions. - Made the GNU runtimes use these functions. It should now be possible to replace the equivalent functions in CGObjCNonFragileABIMac with simple calls to these two functions, providing the runtime functions as arguments. I'll post a diff to the list for review before making any changes to the Mac runtime stuff. llvm-svn: 128274
-
- Mar 24, 2011
-
-
Eli Friedman authored
functions of the form __builtin_XXX. llvm-svn: 128198
-
Ken Dyck authored
change in functionality intended. llvm-svn: 128190
-
- Mar 23, 2011
-
-
David Chisnall authored
accessed via the indirect pointer, they don't need to be pointers to pointers). Finished moving the message lookup code into separate subclasses for each runtime. Also performed a few smallish related tidies. We're now bitcasting the result of the message lookup functions, rather than casting the lookup functions themselves, so the messages.m test needed updating to reflect this. llvm-svn: 128180
-
Andrew Trick authored
llvm-svn: 128157
-
David Chisnall authored
Remove the redundant loads / stores to globals that we were generating for selectors (GNU runtimes). llvm-svn: 128156
-
David Chisnall authored
that I hadn't used C++ for several years before writing most of this code). Still lots more to do. This set of changes includes: - Remove the distinction between typed and untyped selectors. More accurately reflect what the runtime does, by using typed selectors everywhere, with an empty type field if the types are unknown. Now we just store a small list of types for each selector (in theory, this should always be exactly one, but this constraint was not enforced back in 1986 when it should have been). - Add some consistency to how runtime functions are created. These are all generated via the LazyRuntimeFunction class (which might be useful outside CGObjCGNU - feel free to move it into a header if it is). This function stores the types of a function, looks it up the first time it's used, and caches the result. This means that we're now not wasting time constructing the llvm::FunctionType every time some of the functions are looked up, but also not inserting references to runtime functions into the module if they're not actually used. - Started separating out the fragile and non-fragile ABI behaviours into two subclasses of CGObjCGNU: CGObjCGCC for the legacy GCC runtime ABI and CGObjCGNUstep for the new GNUstep ABI. Not all of the differences in behaviour are factored out yet, but they will be in future commits. - Removed all of the CodeGen:: things: we've been using namespace CodeGen in this file for ages, so having explicit namespace specifiers is just a bit confusing. - Added a few more comments. - Used llvm::StringRef instead of std::string in a few places. - Finally got around to storing the module path in the module structure. The ABI says that the compiler should do this, although it's not used in the runtime or exposed outside the runtime, so it's pretty useless. Still to do: - We currently have two code paths for generating try blocks, one for ObjC and one for ObjC++. Not only are these substantially similar, they are also very similar to the CGObjCMac version. These need factoring out into a single parameterised implementation, either in CGObjCRuntime or CodeGenFunction. The EmitObjCXXTryStmt() function was added so that the changes to fix a bug in time for the 2.9 release would be self-contained and reduce the chances of breaking anything else, but these should be done properly as soon as possible. - Split up some large functions (e.g. GenerateClass()) into smaller functions for generating the various data structures. - The method lookup code into the two subclasses, removing the conditionals in the message send functions. - Add doxygen comments on the remaining undocumented functions. - We seem to be generating global pointer variables for selectors, then storing a pointer to the selector, then generating a load of this pointer (and then a load of the real selector later) every time a static selector is used. I can only assume I was asleep or drunk when I did this - we should just be referencing the selectors directly in the selector array. llvm-svn: 128152
-