summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* SelectionDAGBuilder: style fixes (add space between end parentheses and open ↵Stephen Lin2013-07-061-10/+10
| | | | | | brace) llvm-svn: 185768
* Add MC support for the v8fp instructions: vmaxnm and vminnm.Joey Gouly2013-07-065-8/+51
| | | | llvm-svn: 185767
* COFFDumper: Print uint64_t with the right format string.Benjamin Kramer2013-07-061-3/+3
| | | | | | I wish we could typecheck llvm::format. llvm-svn: 185766
* Fixed source location info for UnaryTransformTypeLoc nodes.Enea Zaffanella2013-07-063-0/+32
| | | | llvm-svn: 185765
* [objc-arc] When we initialize ARCRuntimeEntryPoints, make sure we reset all ↵Michael Gottesman2013-07-061-0/+9
| | | | | | references to entrypoint declarations as well. llvm-svn: 185764
* Proper va_arg/va_copy lowering on win64Nico Rieck2013-07-062-1/+62
| | | | llvm-svn: 185763
* Objective-C: Warn when fast enumeration variable isn't used.Fariborz Jahanian2013-07-062-6/+3
| | | | | | // rdar://14182680. llvm-svn: 185762
* Emit personality function and Dwarf EH data for Win64 SEH.Kai Nacke2013-07-062-14/+13
| | | | | | | | | | | Obviously the personality function should be emitted as language handler instead of the hard coded _GCC_specific_handler. The language specific data must be placed after the unwind information therefore it must not be emitted into a separate section. Reviewed by Charles Davis and Nico Rieck. llvm-svn: 185761
* Fix alignment of unwind data.Kai Nacke2013-07-064-7/+238
| | | | | | | | | | | For alignment purposes, the instruction array will always have an even number of entries, with the final entry potentially unused (in which case the array will be one longer than indicated by the count of unwind codes field). Reviewed by Charles Davis and Nico Rieck. llvm-svn: 185760
* Generate IMAGE_REL_AMD64_ADDR32NB relocations for SEHKai Nacke2013-07-063-16/+53
| | | | | | | | | | | | | | data structures. The Win64 EH data structures must be of type IMAGE_REL_AMD64_ADDR32NB instead of IMAGE_REL_AMD64_ADDR32. This is easiely achieved by adding the VK_COFF_IMGREL32 modifier to the symbol reference. Change also references to start and end of the SEH range of a function as offsets to start of the function. Reviewed by Charles Davis and Nico Rieck. llvm-svn: 185759
* Fix wrong code offset for unwind code SET_FPREG.Kai Nacke2013-07-064-7/+6
| | | | | | | | | | | | The code offset for unwind code SET_FPREG is wrong because it is set to constant 0. The fix is to do the same as for the other unwind codes: emit a label and later the absolute difference between the label and the begin of the prologue. Also enables the failing test case MC/COFF/seh.s Reviewed by Charles Davis and Nico Rieck. llvm-svn: 185758
* Reassociate: Remove unnecessary default operator=.Benjamin Kramer2013-07-061-10/+0
| | | | llvm-svn: 185757
* Silence -Wint-to-void-pointer-cast warning in test.Howard Hinnant2013-07-061-2/+3
| | | | llvm-svn: 185756
* DAGCombiner: Don't drop extension behavior when shrinking a load when unsafe.Benjamin Kramer2013-07-062-0/+30
| | | | | | | | | | | | ReduceLoadWidth unconditionally drops extensions from loads. Limit it to the case when all of the bits the extension would otherwise produce are dropped by the shrink. It would be possible to shrink the load in more cases by merging the extensions, but this isn't trivial and a very rare case. I left a TODO for that case. Fixes PR16551. llvm-svn: 185755
* Stop putting operations after a tail call.Tim Northover2013-07-062-0/+20
| | | | | | | | This prevents the emission of DAG-generated vreg definitions after a tail call be dropping them entirely (on the grounds that nothing could use them anyway, and they interfere with O0 CodeGen). llvm-svn: 185754
* MC: Implement COFF .linkonce directiveNico Rieck2013-07-0611-29/+426
| | | | llvm-svn: 185753
* Remove some useless declarations (found by scan-build)Sylvestre Ledru2013-07-062-3/+1
| | | | llvm-svn: 185752
* [llvm-ar] Added llvm_unreachable to quiet -Wreturn-type warnings.Michael Gottesman2013-07-061-0/+2
| | | | llvm-svn: 185751
* isKnownToBeAPowerOfTwo: Fix a typo in a commentDavid Majnemer2013-07-061-1/+1
| | | | llvm-svn: 185748
* [objc-arc] Performed some small cleanups in ARCRuntimeEntryPoints and added ↵Michael Gottesman2013-07-061-3/+5
| | | | | | an llvm_unreachable after the switch to quiet -Wreturn_type errors. llvm-svn: 185746
* Sema: Fix a crash when main is redeclared as a function-template.David Majnemer2013-07-062-8/+17
| | | | | | | | | | This boils down to us sending invalid function decls to CheckFunctionDeclaration becauswe we did not consider that CheckMain could cause the decl to be invalid. Instead, interogate the new decl's main-validity and *then* send it over to get CheckFunctionDeclaration'd if it was still valid after calling CheckMain. llvm-svn: 185745
* [objc-arc] Renamed Module => TheModule in ARCRuntimeEntryPoints. Also did ↵Michael Gottesman2013-07-061-17/+14
| | | | | | | | some small cleanups. This fixes an issue that came up due to -fpermissive on the bots. llvm-svn: 185744
* Removed trailing whitespace.Michael Gottesman2013-07-061-2/+2
| | | | llvm-svn: 185743
* [objc-arc] Updated ObjCARCContract to use ARCRuntimeEntryPoints.Michael Gottesman2013-07-061-99/+11
| | | | llvm-svn: 185742
* [objc-arc] Updated ObjCARCOpts to use ARCRuntimeEntryPoints.Michael Gottesman2013-07-061-123/+22
| | | | llvm-svn: 185741
* [objc-arc] Refactor runtime entrypoint declaration entrypoint creation.Michael Gottesman2013-07-061-0/+178
| | | | | | | | | | | | | | | | This is the first patch in a series of 3 patches which clean up how we create runtime function declarations in the ARC optimizer when they do not exist already in the IR. Currently we have a bunch of duplicated code in ObjCARCOpts, ObjCARCContract that does this. This patch refactors that code into a separate class called ARCRuntimeEntryPoints which lazily creates the declarations for said entrypoints. The next two patches will consist of the work of refactoring ObjCARCContract/ObjCARCOpts to use this new code. llvm-svn: 185740
* Fix language.Nick Lewycky2013-07-061-2/+1
| | | | llvm-svn: 185739
* Fix annotation of unlink. Should fix builder.Nick Lewycky2013-07-061-1/+1
| | | | llvm-svn: 185738
* InstCombine: typo in or_icmp_eq_B_0_icmp_ult_A_B testDavid Majnemer2013-07-061-2/+2
| | | | llvm-svn: 185737
* Update test for change in r185735.Nick Lewycky2013-07-061-1/+1
| | | | llvm-svn: 185736
* Extend 'readonly' and 'readnone' to work on function arguments as well asNick Lewycky2013-07-0622-83/+544
| | | | | | | functions. Make the function attributes pass add it to known library functions and when it can deduce it. llvm-svn: 185735
* Remove referece type onproperty of abstractFariborz Jahanian2013-07-051-1/+1
| | | | | | class type. // rdar://14261999 llvm-svn: 185734
* Use modern API to avoid exposing LiveInterval internals.Jakob Stoklund Olesen2013-07-051-5/+3
| | | | | | No functional change intended. llvm-svn: 185733
* [comment parsing]: Removes an unsafe API whoseFariborz Jahanian2013-07-052-6/+2
| | | | | | | use can cause crash. No test is available. It is uncovered by code browsing. // rdar://14348205 llvm-svn: 185732
* Remove dead function.Jakob Stoklund Olesen2013-07-052-31/+0
| | | | llvm-svn: 185731
* Fix windows build.Rafael Espindola2013-07-051-1/+1
| | | | llvm-svn: 185730
* [TRE] Combined another test into basic.llMichael Gottesman2013-07-052-13/+1
| | | | llvm-svn: 185729
* Remove unique_file now that it is unused.Rafael Espindola2013-07-052-47/+0
| | | | llvm-svn: 185728
* Use llvm::sys::fs::createUniqueFile.Rafael Espindola2013-07-056-12/+20
| | | | | | | Include a test that clang now produces output files with permissions matching the umask. llvm-svn: 185727
* Add a createUniqueFile function and switch llvm's users of unique_file.Rafael Espindola2013-07-059-21/+60
| | | | | | | | | | | | | | This function is complementary to createTemporaryFile. It handles the case were the unique file is *not* temporary: we will rename it in the end. Since we will rename it, the file has to be in the same filesystem as the final destination and we don't prepend the system temporary directory. This has a small semantic difference from unique_file: the default mode is 0666. This matches the behavior of most unix tools. For example, with this change lld now produces files with the same permissions as ld. I will add a test of this change when I port clang over to createUniqueFile (next commit). llvm-svn: 185726
* [libclang] Add the new function to libclang.exportsArgyrios Kyrtzidis2013-07-051-0/+1
| | | | llvm-svn: 185725
* [objc migrator]: More knobs to do migration toFariborz Jahanian2013-07-053-8/+15
| | | | | | use of objc's properties. llvm-svn: 185724
* [TRE] Merged several tests into the the test basic.ll.Michael Gottesman2013-07-055-62/+58
| | | | llvm-svn: 185723
* [libclang] Introduce clang_Cursor_isObjCOptional, which returns whether the ↵Argyrios Kyrtzidis2013-07-054-1/+47
| | | | | | | | declaration was affected by "@optional" rdar://14348525. llvm-svn: 185722
* Don't use mangleCXXRTTIName in TBAA for C code.Eli Friedman2013-07-052-14/+7
| | | | | | | | | | | | | | This changes the TBAA code so it doesn't use mangleCXXRTTIName in C, because it doesn't really make sense there. Also, as sort of a defense-in-depth change, fix the mangler so it handles C RecordDecls correctly. No tests because I don't know the TBAA code well enough to write a test, and I don't know how else to trigger mangling a local struct in C. Fixes a crash with r185450 reported by Joerg Sonnenberger. llvm-svn: 185721
* scop detection: remove an iteration over all usesSebastian Pop2013-07-052-29/+34
| | | | | | | reenabled reverted patch after checking that it passes without regressions on the nightly test-suite. Added testcase from Tobi. llvm-svn: 185720
* Use sys::fs::createTemporaryFile.Rafael Espindola2013-07-056-23/+20
| | | | llvm-svn: 185719
* Use llvm::sys::fs::createTemporaryFile.Rafael Espindola2013-07-051-2/+2
| | | | llvm-svn: 185718
* Use llvm::sys::fs::createTemporaryFile.Rafael Espindola2013-07-059-23/+16
| | | | llvm-svn: 185717
* Add a higher level createTemporaryFile function.Rafael Espindola2013-07-052-0/+50
| | | | | | | | This function is inspired by clang's Driver::GetTemporaryPath. It hides the pattern used for uniquing and requires simple file names that are always placed in the system temporary directory. llvm-svn: 185716
OpenPOWER on IntegriCloud