summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenObjC/metadata-symbols-64.m
Commit message (Collapse)AuthorAgeFilesLines
* [CodeGen][ObjC] Remove the leading `l_` from ObjC symbols and makeAkira Hatanaka2019-05-091-19/+19
| | | | | | | | | | | | | | | private symbols in the __DATA segment internal. This prevents the linker from removing the symbol names. Keeping the symbols visible enables tools to collect various information about the symbols, for example, tools that discover whether or not a symbol gets dirtied. rdar://problem/48887111 Differential Revision: https://reviews.llvm.org/D61454 llvm-svn: 360359
* [CodeGen][ObjC] Remove the leading 'l' from symbols for protocolAkira Hatanaka2019-03-141-2/+2
| | | | | | | | | | | | | metadata and protocol list The leading 'l' tells ld64 to remove the symbol name, which can make debugging difficult. rdar://problem/47256637 Differential Revision: https://reviews.llvm.org/D59234 llvm-svn: 356156
* CodeGen: fix section names for different file formatsSaleem Abdulrasool2017-06-031-8/+8
| | | | | | | | | This changes the codegen to match the section names according to the ObjC rewriter as well as the runtime. The changes to the test are simply whitespace changes to the section attributes and names and are functionally equivalent (the whitespace is ignored by the linker). llvm-svn: 304661
* CodeGen: mark ObjC cstring literals as unnamed_addrSaleem Abdulrasool2016-09-181-4/+4
| | | | | | | | These are all emitted into a section with a cstring_literal attribute. The attribute permits the linker to coalesce the string contents. The address of the strings are not important. llvm-svn: 281855
* CodeGen: mark ObjC cstring literals as constantSaleem Abdulrasool2016-09-181-4/+4
| | | | | | | | These strings are constants, mark them as such. This doesn't matter too much in practice on MachO since the constants are placed into a special section and not referred to directly. llvm-svn: 281854
* [Objective-c] Stop attaching section "datacoal_nt" to global variables.Akira Hatanaka2016-02-111-1/+1
| | | | | | | | | | | | | The current macho linker just copies symbols in section datacoal_nt to section data, so it doesn't really matter whether or not section "datacoal_nt" is attached to the global variable. This is a follow-up to r250370, which made changes in llvm to stop putting functions and data in the *coal* sections. rdar://problem/24528611 llvm-svn: 260496
* Changed renaming of local symbols by inserting a dot vefore the numeric suffixSunil Srivastava2015-05-121-1/+1
| | | | | | | details in http://reviews.llvm.org/D9483 goes with llvm checkin r237150 llvm-svn: 237151
* Don't manually insert L prefixes.Rafael Espindola2014-11-061-10/+10
| | | | | | Simply marking the symbol private conveys the desire to hide them to LLVM. llvm-svn: 221451
* Revert "Use private linkage for remaining GlobalVariables with private names."Rafael Espindola2014-03-061-3/+3
| | | | | | | | This reverts commit r203059. Revert while we discuss what does it mean to be private and weak. llvm-svn: 203141
* Use private linkage for remaining GlobalVariables with private names.Rafael Espindola2014-03-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | This patch changes the remaining GlobalVariables using "\01L" and "\01l" prefixes to use private linkage. What is strange about them is that they currently use WeakAnyLinkage. There is no comment stating why and that is really odd since the symbols are completely hidden, so it doesn't make sense for them to be weak. Clang revisions like r63329, r63408, r63770, r65761 set the linkage to weak, but don't say why. I suspect they were just copying llvm-gcc. In llvm-gcc I found r58599 and r56322 that set DECL_WEAK, but they were just syncing from the apple gcc. I am not exactly sure what that means, since the last commit to svn://gcc.gnu.org/svn/gcc/branches/apple was in 2006, 2 years earlier. In summary, I have no idea why weak linkage was being used :-( To quote John McCall, "Let’s try without it and see" :-) llvm-svn: 203059
* Use private linkage for globals we already name with \01L and \01l.Rafael Espindola2014-02-271-22/+22
| | | | | | | | | | | | In llvm the only semantic difference between internal and private is that llvm tries to hide private globals my mangling them with a private prefix. Since the globals changed by this patch already had the magic don't mangle marker, there should be no change in the generated assembly. A followup patch should then be able to drop the \01L and \01l prefixes and let llvm mangle as appropriate. llvm-svn: 202419
* FileCheck-ify more grep tests with quoted double quotesReid Kleckner2013-04-111-34/+35
| | | | | | | | This required some tedious reordering to match clang's order. Presumably these ObjC tests were generated based on llvm-gcc's output ordering. llvm-svn: 179282
* Changed CGObjCMac.cpp to add the marker externally_initialized to ↵Michael Gottesman2013-02-051-1/+1
| | | | | | | | | | | | | SELECTOR_REFERENCES in both the fragile and non-fragile API. This is to ensure that GlobalOpt in LLVM does not attempt to look through a selector reference to a method var name at compile time. I also added a test/updated old tests that need to recognize the new keyword. rdar://12580965. llvm-svn: 174461
* Tests: remove disabled llvm-gcc invocationsDmitri Gribenko2013-01-281-1/+0
| | | | llvm-svn: 173703
* Make -fobjc-nonfragile-abi the -cc1 default, since it's theJohn McCall2011-10-021-1/+1
| | | | | | | | | | | | | | | | | | | increasingly prevailing case to the point that new features like ARC don't even support the fragile ABI anymore. This required a little bit of reshuffling with exceptions because a check was assuming that ObjCNonFragileABI was only being set in ObjC mode, and that's actually a bit obnoxious to do. Most, though, it involved a perl script to translate a ton of test cases. Mostly no functionality change for driver users, although there are corner cases with disabling language-specific exceptions that we should handle more correctly now. llvm-svn: 140957
* Pack ivar offsets together.Bill Wendling2011-05-041-1/+1
| | | | | | | | | | Ivar offsets for synthesized ivars are wrong, which could end up with a large number of dirty pages because of ivar fixups at runtime. When we pack all of the synthesized ivars into the same section, it limits the number of dirty pages created. Place them in the "__DATA,__objc_ivar" section. <rdar://problem/9374905> llvm-svn: 130870
* Obj-C/NeXT: Update and reapply 108847, now that changes are more baked.Daniel Dunbar2011-03-251-3/+3
| | | | llvm-svn: 128300
* Revert "Re-apply fixed version of 108749, correctly conditionalizing the newDaniel Dunbar2010-07-291-3/+3
| | | | | | | sections on", this change uncovered a possible linker bug which resulted in the wrong messages getting dispatched. Backing this out while we investigate... llvm-svn: 109817
* Re-apply fixed version of 108749, correctly conditionalizing the new sections onJim Grosbach2010-07-201-3/+3
| | | | | | ObjC ABI version 2 this time. llvm-svn: 108847
* and revert the related tests, tooJim Grosbach2010-07-191-3/+3
| | | | llvm-svn: 108766
* Update tests for r108749Jim Grosbach2010-07-191-3/+3
| | | | llvm-svn: 108754
* NeXT: Clean up dispatch method policy selection.Daniel Dunbar2010-04-241-1/+1
| | | | | | | | | | - Replace -cc1 level -fobjc-legacy-dispatch with -fobjc-dispatch-method={legacy,non-legacy,mixed}. - Lift "mixed" vs "non-mixed" policy choice up to driver level, instead of being buried in CGObjCMac.cpp. - No intended functionality change. llvm-svn: 102255
* fix PR6819Chris Lattner2010-04-121-1/+2
| | | | llvm-svn: 101050
* fix this test.Chris Lattner2010-04-121-2/+1
| | | | llvm-svn: 101019
* xfail this test for now.Chris Lattner2010-04-121-1/+1
| | | | llvm-svn: 101018
* Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar2009-12-151-1/+1
| | | | | | | | | - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). llvm-svn: 91446
* Tests use the new clang.Fariborz Jahanian2009-12-141-1/+1
| | | | llvm-svn: 91290
* ... and add back a few more triple forces.Daniel Dunbar2009-11-171-1/+1
| | | | llvm-svn: 89088
* Use -fblocks and -fobjc-nonfragile-abi when that is what is being tested, ↵Daniel Dunbar2009-11-171-1/+1
| | | | | | instead of forcing the triple. llvm-svn: 89072
* Remove RUN: true lines.Daniel Dunbar2009-11-081-1/+0
| | | | llvm-svn: 86432
* Eliminate &&s in tests.Daniel Dunbar2009-11-081-33/+33
| | | | | | - 'for i in $(find . -type f); do sed -e 's#\(RUN:.*[^ ]\) *&& *$#\1#g' $i | FileUpdate $i; done', for the curious. llvm-svn: 86430
* Patch to allow Nonfragile ABI to use 32-bit style legacyFariborz Jahanian2009-05-111-5/+2
| | | | | | | | message dispage API for all but a few messages. This is a runtime performance improvement and there is not meant to be a functional change. llvm-svn: 71467
* API for message dispatch of methods returning floatsFariborz Jahanian2009-04-301-0/+31
| | | | | | to match gcc's closely. llvm-svn: 70493
* Don't use \01 in symbol name if unnecessary.Daniel Dunbar2009-04-151-5/+1
| | | | | | | | - This was particularly bad since I fixed one instance of this name and not another, meaning we got an LLVM module with the same effective name in two different globals! llvm-svn: 69205
* Fix alignment on obj_msgrefs to match llvm-gcc.Daniel Dunbar2009-04-151-0/+1
| | | | llvm-svn: 69199
* Add test case for superrefs section (and make spacing consistent).Daniel Dunbar2009-04-151-1/+15
| | | | llvm-svn: 69198
* Tweaks to Objective-C metadata (32 & 64-bit) to match llvm-gcc.Daniel Dunbar2009-04-151-0/+91
- Set alignment on property lists. - 32-bit: o Set section on property lists. o Fix section name for category class methods. o Fix symbol name for property lists. o Fix section name for class method. o Set alignment and section on class extension structure. o Set alignment on a number of things: instance variables, methods, method descriptions, the symbols structure. - 64-bit: o Fix section flags for protocol list. I doubt most of these were problems in practice, but it is nice to match llvm-gcc. llvm-svn: 69132
OpenPOWER on IntegriCloud