From a426b286c807c7b1a06e06bfb5cff8c0648c6279 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sat, 24 May 2014 22:27:31 +0000 Subject: [PATCH] Add the clang patch for r265477. While here, add a description to the patch for r263619, and unify all the URLs to point to svnweb. --- .../patch-r208961-clang-version-include.diff | 2 +- .../patch-r208987-format-extensions.diff | 2 +- .../patch-r209107-clang-vendor-suffix.diff | 2 +- .../patch-r213492-amd64-multi-os-dot.diff | 2 +- .../patch-r221503-default-target-triple.diff | 2 +- ...patch-r243830-arm-disable-clear-cache.diff | 2 +- ...r252503-arm-transient-stack-alignment.diff | 2 +- .../patches/patch-r257109-add-CC-aliases.diff | 2 +- ...tch-r259053-gcc-installation-detector.diff | 2 +- .../patches/patch-r259498-add-fxsave.diff | 2 +- ...80-clang-r200899-fix-security-quantis.diff | 2 +- ...patch-r261991-llvm-r195391-fix-dwarf2.diff | 2 +- ...patch-r261991-llvm-r198385-fix-dwarf2.diff | 2 +- ...patch-r261991-llvm-r198389-fix-dwarf2.diff | 2 +- .../patch-r262261-llvm-r198028-sparc.diff | 2 +- .../patch-r262261-llvm-r198029-sparc.diff | 2 +- .../patch-r262261-llvm-r198030-sparc.diff | 2 +- .../patch-r262261-llvm-r198145-sparc.diff | 2 +- .../patch-r262261-llvm-r198149-sparc.diff | 2 +- .../patch-r262261-llvm-r198157-sparc.diff | 2 +- .../patch-r262261-llvm-r198280-sparc.diff | 2 +- .../patch-r262261-llvm-r198281-sparc.diff | 2 +- .../patch-r262261-llvm-r198286-sparc.diff | 2 +- .../patch-r262261-llvm-r198480-sparc.diff | 2 +- .../patch-r262261-llvm-r198484-sparc.diff | 2 +- .../patch-r262261-llvm-r198533-sparc.diff | 2 +- .../patch-r262261-llvm-r198565-sparc.diff | 2 +- .../patch-r262261-llvm-r198567-sparc.diff | 2 +- .../patch-r262261-llvm-r198580-sparc.diff | 2 +- .../patch-r262261-llvm-r198591-sparc.diff | 2 +- .../patch-r262261-llvm-r198592-sparc.diff | 2 +- .../patch-r262261-llvm-r198658-sparc.diff | 2 +- .../patch-r262261-llvm-r198681-sparc.diff | 2 +- .../patch-r262261-llvm-r198738-sparc.diff | 2 +- .../patch-r262261-llvm-r198739-sparc.diff | 2 +- .../patch-r262261-llvm-r198740-sparc.diff | 2 +- .../patch-r262261-llvm-r198893-sparc.diff | 2 +- .../patch-r262261-llvm-r198909-sparc.diff | 2 +- .../patch-r262261-llvm-r198910-sparc.diff | 2 +- .../patch-r262261-llvm-r199014-sparc.diff | 2 +- .../patch-r262261-llvm-r199024-sparc.diff | 2 +- .../patch-r262261-llvm-r199028-sparc.diff | 2 +- .../patch-r262261-llvm-r199031-sparc.diff | 2 +- .../patch-r262261-llvm-r199033-sparc.diff | 2 +- .../patch-r262261-llvm-r199061-sparc.diff | 2 +- .../patch-r262261-llvm-r199186-sparc.diff | 2 +- .../patch-r262261-llvm-r199187-sparc.diff | 2 +- .../patch-r262261-llvm-r199775-sparc.diff | 2 +- .../patch-r262261-llvm-r199781-sparc.diff | 2 +- .../patch-r262261-llvm-r199786-sparc.diff | 2 +- .../patch-r262261-llvm-r199940-sparc.diff | 2 +- .../patch-r262261-llvm-r199974-sparc.diff | 2 +- .../patch-r262261-llvm-r199975-sparc.diff | 2 +- .../patch-r262261-llvm-r199977-sparc.diff | 2 +- .../patch-r262261-llvm-r200103-sparc.diff | 2 +- .../patch-r262261-llvm-r200104-sparc.diff | 2 +- .../patch-r262261-llvm-r200112-sparc.diff | 2 +- .../patch-r262261-llvm-r200130-sparc.diff | 2 +- .../patch-r262261-llvm-r200131-sparc.diff | 2 +- .../patch-r262261-llvm-r200141-sparc.diff | 2 +- .../patch-r262261-llvm-r200282-sparc.diff | 2 +- .../patch-r262261-llvm-r200368-sparc.diff | 2 +- .../patch-r262261-llvm-r200373-sparc.diff | 2 +- .../patch-r262261-llvm-r200376-sparc.diff | 2 +- .../patch-r262261-llvm-r200509-sparc.diff | 2 +- .../patch-r262261-llvm-r200617-sparc.diff | 2 +- .../patch-r262261-llvm-r200960-sparc.diff | 2 +- .../patch-r262261-llvm-r200961-sparc.diff | 2 +- .../patch-r262261-llvm-r200962-sparc.diff | 2 +- .../patch-r262261-llvm-r200963-sparc.diff | 2 +- .../patch-r262261-llvm-r200965-sparc.diff | 2 +- .../patch-r262262-clang-r198311-sparc.diff | 2 +- .../patch-r262262-clang-r198312-sparc.diff | 2 +- .../patch-r262262-clang-r198911-sparc.diff | 2 +- .../patch-r262262-clang-r198912-sparc.diff | 2 +- .../patch-r262262-clang-r198918-sparc.diff | 2 +- .../patch-r262262-clang-r198923-sparc.diff | 2 +- .../patch-r262262-clang-r199012-sparc.diff | 2 +- .../patch-r262262-clang-r199034-sparc.diff | 2 +- .../patch-r262262-clang-r199037-sparc.diff | 2 +- .../patch-r262262-clang-r199188-sparc.diff | 2 +- .../patch-r262262-clang-r199399-sparc.diff | 2 +- .../patch-r262262-clang-r200452-sparc.diff | 2 +- .../patch-r262264-llvm-r200453-sparc.diff | 2 +- .../patch-r262265-llvm-r201718-sparc.diff | 2 +- ...atch-r262303-enable-ppc-integrated-as.diff | 2 +- .../patch-r262415-llvm-r201994-sparc.diff | 2 +- .../patch-r262460-llvm-r202059-sparc.diff | 2 +- .../patch-r262535-clang-r202177-sparc.diff | 2 +- .../patch-r262536-clang-r202179-sparc.diff | 2 +- .../patch-r262582-llvm-r202422-sparc.diff | 2 +- ...11-llvm-r196874-fix-invalid-pwd-crash.diff | 2 +- ...-r263048-clang-r203624-fix-CC-aliases.diff | 2 +- ...-llvm-r169939-inline-asm-with-realign.diff | 2 +- ...2-llvm-r196940-update-inline-asm-test.diff | 2 +- ...312-llvm-r196986-allow-realign-alloca.diff | 2 +- ...2-llvm-r202930-fix-alloca-esi-clobber.diff | 2 +- ...tch-r263313-llvm-r203311-fix-sse1-oom.diff | 2 +- ...h-r263619-clang-r201662-arm-gnueabihf.diff | 8 + ...6-llvm-r202188-variadic-fn-debug-info.diff | 2 +- ...-clang-r202185-variadic-fn-debug-info.diff | 2 +- ...265477-clang-r198655-standalone-debug.diff | 318 ++++++++++++++++++ 102 files changed, 426 insertions(+), 100 deletions(-) create mode 100644 contrib/llvm/patches/patch-r265477-clang-r198655-standalone-debug.diff diff --git a/contrib/llvm/patches/patch-r208961-clang-version-include.diff b/contrib/llvm/patches/patch-r208961-clang-version-include.diff index fb0ac1871689..993ecd9ddf26 100644 --- a/contrib/llvm/patches/patch-r208961-clang-version-include.diff +++ b/contrib/llvm/patches/patch-r208961-clang-version-include.diff @@ -1,7 +1,7 @@ This patch adjusts clang's default include paths to add FreeBSD-specific directories. -Introduced here: http://svn.freebsd.org/changeset/base/208961 +Introduced here: http://svnweb.freebsd.org/changeset/base/208961 Index: tools/clang/lib/Frontend/InitHeaderSearch.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r208987-format-extensions.diff b/contrib/llvm/patches/patch-r208987-format-extensions.diff index b01553e3e5bf..6aa076c98272 100644 --- a/contrib/llvm/patches/patch-r208987-format-extensions.diff +++ b/contrib/llvm/patches/patch-r208987-format-extensions.diff @@ -1,7 +1,7 @@ This patch adds support for the FreeBSD-specific -fformat-extension option, which enables additional printf modifiers for the kernel. -Introduced here: http://svn.freebsd.org/changeset/base/208987 +Introduced here: http://svnweb.freebsd.org/changeset/base/208987 Index: tools/clang/lib/Frontend/CompilerInvocation.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r209107-clang-vendor-suffix.diff b/contrib/llvm/patches/patch-r209107-clang-vendor-suffix.diff index d761f786b06a..1a26566883e3 100644 --- a/contrib/llvm/patches/patch-r209107-clang-vendor-suffix.diff +++ b/contrib/llvm/patches/patch-r209107-clang-vendor-suffix.diff @@ -2,7 +2,7 @@ This patch adds a FreeBSD-specific suffix to clang's version string. This is usually of the form "(yyyyddmm)", representing the date when the compiler was last updated. -Introduced here: http://svn.freebsd.org/changeset/base/209107 +Introduced here: http://svnweb.freebsd.org/changeset/base/209107 Index: tools/clang/lib/Basic/Version.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r213492-amd64-multi-os-dot.diff b/contrib/llvm/patches/patch-r213492-amd64-multi-os-dot.diff index 36bf3177f6d0..1ff9ce06a6cf 100644 --- a/contrib/llvm/patches/patch-r213492-amd64-multi-os-dot.diff +++ b/contrib/llvm/patches/patch-r213492-amd64-multi-os-dot.diff @@ -1,7 +1,7 @@ This patch makes "clang -print-multi-os-directory" print "." on amd64, which is required by certain ports. -Introduced here: http://svn.freebsd.org/changeset/base/213492 +Introduced here: http://svnweb.freebsd.org/changeset/base/213492 Index: tools/clang/lib/Driver/Driver.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r221503-default-target-triple.diff b/contrib/llvm/patches/patch-r221503-default-target-triple.diff index d59cce9ff264..ee08af46d32a 100644 --- a/contrib/llvm/patches/patch-r221503-default-target-triple.diff +++ b/contrib/llvm/patches/patch-r221503-default-target-triple.diff @@ -1,7 +1,7 @@ This patch ensures the target triple that is passed during the compiler build is respected, instead of mangling it. -Introduced here: http://svn.freebsd.org/changeset/base/221503 +Introduced here: http://svnweb.freebsd.org/changeset/base/221503 Index: lib/Support/Unix/Host.inc =================================================================== diff --git a/contrib/llvm/patches/patch-r243830-arm-disable-clear-cache.diff b/contrib/llvm/patches/patch-r243830-arm-disable-clear-cache.diff index b5a43425a88c..d3341304105c 100644 --- a/contrib/llvm/patches/patch-r243830-arm-disable-clear-cache.diff +++ b/contrib/llvm/patches/patch-r243830-arm-disable-clear-cache.diff @@ -2,7 +2,7 @@ This patch ensures __clear_cache is not called on arm. In earlier versions of clang, this special builtin was emitted as a function call, leading to link errors. -Introduced here: http://svn.freebsd.org/changeset/base/243830 +Introduced here: http://svnweb.freebsd.org/changeset/base/243830 Index: lib/Support/Unix/Memory.inc =================================================================== diff --git a/contrib/llvm/patches/patch-r252503-arm-transient-stack-alignment.diff b/contrib/llvm/patches/patch-r252503-arm-transient-stack-alignment.diff index a046858069a1..d80378de988c 100644 --- a/contrib/llvm/patches/patch-r252503-arm-transient-stack-alignment.diff +++ b/contrib/llvm/patches/patch-r252503-arm-transient-stack-alignment.diff @@ -1,7 +1,7 @@ This patch applies a workaround for an ARM EABI issue, where clang would sometimes incorrectly align the stack in a leaf function that uses TLS. -Introduced here: http://svn.freebsd.org/changeset/base/252503 +Introduced here: http://svnweb.freebsd.org/changeset/base/252503 Index: test/CodeGen/Thumb2/large-stack.ll =================================================================== diff --git a/contrib/llvm/patches/patch-r257109-add-CC-aliases.diff b/contrib/llvm/patches/patch-r257109-add-CC-aliases.diff index 686210bb71c0..c5bc281cce36 100644 --- a/contrib/llvm/patches/patch-r257109-add-CC-aliases.diff +++ b/contrib/llvm/patches/patch-r257109-add-CC-aliases.diff @@ -1,7 +1,7 @@ This patch adds "CC" and "clang-CC" to the list of program name aliases which invoke the C++ compiler. -Introduced here: http://svn.freebsd.org/changeset/base/257109 +Introduced here: http://svnweb.freebsd.org/changeset/base/257109 Index: tools/clang/tools/driver/driver.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r259053-gcc-installation-detector.diff b/contrib/llvm/patches/patch-r259053-gcc-installation-detector.diff index 1d04e7e68401..48e0f284616b 100644 --- a/contrib/llvm/patches/patch-r259053-gcc-installation-detector.diff +++ b/contrib/llvm/patches/patch-r259053-gcc-installation-detector.diff @@ -1,7 +1,7 @@ This patch eliminates the unnecessary search for various gcc installation directories during each startup of clang. -Introduced here: http://svn.freebsd.org/changeset/base/259053 +Introduced here: http://svnweb.freebsd.org/changeset/base/259053 Index: tools/clang/lib/Driver/ToolChains.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r259498-add-fxsave.diff b/contrib/llvm/patches/patch-r259498-add-fxsave.diff index 311be1e1f41e..711f81cdf2ee 100644 --- a/contrib/llvm/patches/patch-r259498-add-fxsave.diff +++ b/contrib/llvm/patches/patch-r259498-add-fxsave.diff @@ -1,6 +1,6 @@ This patch adds the alias bit_FXSAVE for bit_FXSR to cpuid.h. -Introduced here: http://svn.freebsd.org/changeset/base/259498 +Introduced here: http://svnweb.freebsd.org/changeset/base/259498 Index: tools/clang/lib/Headers/cpuid.h =================================================================== diff --git a/contrib/llvm/patches/patch-r261680-clang-r200899-fix-security-quantis.diff b/contrib/llvm/patches/patch-r261680-clang-r200899-fix-security-quantis.diff index be810510dcfc..50478ba6b829 100644 --- a/contrib/llvm/patches/patch-r261680-clang-r200899-fix-security-quantis.diff +++ b/contrib/llvm/patches/patch-r261680-clang-r200899-fix-security-quantis.diff @@ -15,7 +15,7 @@ Pull in r200899 from upstream clang trunk (by Serge Pavlov): Differential Revision: http://llvm-reviews.chandlerc.com/D2688 -Introduced here: http://svn.freebsd.org/changeset/base/261680 +Introduced here: http://svnweb.freebsd.org/changeset/base/261680 Index: tools/clang/test/SemaCXX/c99-variable-length-array.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r261991-llvm-r195391-fix-dwarf2.diff b/contrib/llvm/patches/patch-r261991-llvm-r195391-fix-dwarf2.diff index 0a1af3e42ae8..7864f1470034 100644 --- a/contrib/llvm/patches/patch-r261991-llvm-r195391-fix-dwarf2.diff +++ b/contrib/llvm/patches/patch-r261991-llvm-r195391-fix-dwarf2.diff @@ -18,7 +18,7 @@ Pull in r195391 from upstream llvm trunk (by Eric Christopher): Patch (slightly modified) by Keith Walker! -Introduced here: http://svn.freebsd.org/changeset/base/261991 +Introduced here: http://svnweb.freebsd.org/changeset/base/261991 Index: lib/CodeGen/AsmPrinter/DIE.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r261991-llvm-r198385-fix-dwarf2.diff b/contrib/llvm/patches/patch-r261991-llvm-r198385-fix-dwarf2.diff index 375f66252963..e67301384cdf 100644 --- a/contrib/llvm/patches/patch-r261991-llvm-r198385-fix-dwarf2.diff +++ b/contrib/llvm/patches/patch-r261991-llvm-r198385-fix-dwarf2.diff @@ -5,7 +5,7 @@ Pull in r198385 from upstream llvm trunk (by David Blaikie): Apologies for the noise - we're seeing some Go failures with cgo interacting with Clang's debug info due to this change. -Introduced here: http://svn.freebsd.org/changeset/base/261991 +Introduced here: http://svnweb.freebsd.org/changeset/base/261991 Index: lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r261991-llvm-r198389-fix-dwarf2.diff b/contrib/llvm/patches/patch-r261991-llvm-r198389-fix-dwarf2.diff index a4a00a9e8c65..3b0d21fdf9a6 100644 --- a/contrib/llvm/patches/patch-r261991-llvm-r198389-fix-dwarf2.diff +++ b/contrib/llvm/patches/patch-r261991-llvm-r198389-fix-dwarf2.diff @@ -8,7 +8,7 @@ Pull in r198389 from upstream llvm trunk (by David Blaikie): This reverts commit r198385. -Introduced here: http://svn.freebsd.org/changeset/base/261991 +Introduced here: http://svnweb.freebsd.org/changeset/base/261991 Index: lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198028-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198028-sparc.diff index b4fb92915b37..971141c5c7e7 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198028-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198028-sparc.diff @@ -2,7 +2,7 @@ Pull in r198028 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Add MCInstPrinter implementation for SPARC. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/InstPrinter/LLVMBuild.txt =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198029-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198029-sparc.diff index 6656bce19538..69c41fd86b7e 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198029-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198029-sparc.diff @@ -2,7 +2,7 @@ Pull in r198029 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Add target specific MCExpr class to handle sparc specific modifiers like %hi, %lo, etc., -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198030-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198030-sparc.diff index 7ab42913f061..81fa67d6326e 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198030-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198030-sparc.diff @@ -2,7 +2,7 @@ Pull in r198030 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Lower and MachineInstr to MC and print assembly using MCInstPrinter. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/MCTargetDesc/SparcTargetStreamer.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198145-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198145-sparc.diff index 2429e5248d70..1ff7ada039bc 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198145-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198145-sparc.diff @@ -3,7 +3,7 @@ Pull in r198145 from upstream llvm trunk (by Venkatraman Govindaraju): [SparcV9]: Implement lowering of long double (fp128) arguments in Sparc64 ABI. Also, pass fp128 arguments to varargs through integer registers if necessary. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: test/CodeGen/SPARC/64abi.ll =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198149-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198149-sparc.diff index 912daf38eb8e..ca50b6c54525 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198149-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198149-sparc.diff @@ -3,7 +3,7 @@ Pull in r198149 from upstream llvm trunk (by Venkatraman Govindaraju): [SparcV9] For codegen generated library calls that return float, set inreg flag manually in LowerCall(). This makes the sparc backend to generate Sparc64 ABI compliant code. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcISelLowering.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198157-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198157-sparc.diff index 42ef3db601ed..e9e69681fdcc 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198157-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198157-sparc.diff @@ -3,7 +3,7 @@ Pull in r198157 from upstream llvm trunk (by Venkatraman Govindaraju): [SparcV9] Use separate instruction patterns for 64 bit arithmetic instructions instead of reusing 32 bit instruction patterns. This is done to avoid spilling the result of the 64-bit instructions to a 4-byte slot. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcAsmPrinter.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198280-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198280-sparc.diff index f75d9fc6f9ae..8f0f4446f2ab 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198280-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198280-sparc.diff @@ -2,7 +2,7 @@ Pull in r198280 from upstream llvm trunk (by Venkatraman Govindaraju): [SparcV9]: Use SRL instead of SLL to clear top 32-bits in ctpop:i32. SLL does not clear top 32 bit, only SRL does. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcInstrInfo.td =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198281-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198281-sparc.diff index 0af21f41330a..02fa3c5f12fb 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198281-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198281-sparc.diff @@ -2,7 +2,7 @@ Pull in r198281 from upstream llvm trunk (by Venkatraman Govindaraju): [SparcV9]: Custom lower UMULO/SMULO so that the arguments are send to __multi3() in correct order. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcISelLowering.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198286-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198286-sparc.diff index 041e263e23a2..58004ff1d60e 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198286-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198286-sparc.diff @@ -2,7 +2,7 @@ Pull in r198286 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Handle atomic loads/stores in sparc backend. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcInstrInfo.td =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198480-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198480-sparc.diff index b3e13627c23d..d610ea9586b9 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198480-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198480-sparc.diff @@ -2,7 +2,7 @@ Pull in r198480 from upstream llvm trunk (by Venkatraman Govindaraju): [SparcV9]: Implement RETURNADDR and FRAMEADDR lowering in SPARC64. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcISelLowering.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198484-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198484-sparc.diff index 3bfb7d5d9643..b3f2f3bed1c8 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198484-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198484-sparc.diff @@ -2,7 +2,7 @@ Pull in r198484 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Add the initial implementation of an asm parser for sparc/sparcv9. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198533-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198533-sparc.diff index d6e65dad0693..8a6eb31ee48d 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198533-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198533-sparc.diff @@ -2,7 +2,7 @@ Pull in r198533 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Add initial implementation of MC Code emitter for sparc. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcInstrInfo.td =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198565-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198565-sparc.diff index cf32440f5a5b..694d00a4a14a 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198565-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198565-sparc.diff @@ -2,7 +2,7 @@ Pull in r198565 from upstream llvm trunk (by Venkatraman Govindaraju): ELF relocation types for sparc. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: include/llvm/Support/ELF.h =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198567-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198567-sparc.diff index 0ce6863d8041..867750d52858 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198567-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198567-sparc.diff @@ -2,7 +2,7 @@ Pull in r198567 from upstream llvm trunk (by Benjamin Kramer): SPARC: Make helper function static. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcAsmPrinter.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198580-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198580-sparc.diff index e30cbb290181..9535a6c610df 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198580-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198580-sparc.diff @@ -2,7 +2,7 @@ Pull in r198580 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Add ELF Object Writer for Sparc. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198591-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198591-sparc.diff index 056cb34c53a3..08897ed64b59 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198591-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198591-sparc.diff @@ -2,7 +2,7 @@ Pull in r198591 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Add initial implementation of disassembler for sparc -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcInstrFormats.td =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198592-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198592-sparc.diff index 722290ed5f5c..e0365bb52246 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198592-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198592-sparc.diff @@ -2,7 +2,7 @@ Pull in r198592 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Explicitly cast -1 to unsigned to fix buildbot errors. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/Disassembler/SparcDisassembler.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198658-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198658-sparc.diff index b7eb2a283a06..c9a667b5ad3b 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198658-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198658-sparc.diff @@ -2,7 +2,7 @@ Pull in r198658 from upstream llvm trunk: [Sparc] Add support for parsing memory operands in sparc AsmParser. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: test/MC/Sparc/sparc-ctrl-instructions.s =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198681-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198681-sparc.diff index 4bd12d264ae4..0b53ca96c6e7 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198681-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198681-sparc.diff @@ -3,7 +3,7 @@ Pull in r198681 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Add support for parsing sparc asm modifiers such as %hi, %lo etc., Also, correct the offsets for FixupsKindInfo. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198738-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198738-sparc.diff index 87637a7fc188..32a3c54ca886 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198738-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198738-sparc.diff @@ -2,7 +2,7 @@ Pull in r198738 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Add support for parsing branch instructions and conditional moves. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: test/MC/Disassembler/Sparc/sparc.txt =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198739-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198739-sparc.diff index f7b884c5540e..87b3f4125f76 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198739-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198739-sparc.diff @@ -2,7 +2,7 @@ Pull in r198739 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Correct the mask for fixup_sparc_br19. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198740-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198740-sparc.diff index ff9bfd5948bb..1aa2f9ea72c2 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198740-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198740-sparc.diff @@ -2,7 +2,7 @@ Pull in r198740 from upstream llvm trunk (by Venkatraman Govindaraju): [SparcV9] Rename operands in some sparc64 instructions so that TableGen can encode them correctly. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: test/MC/Sparc/sparc64-alu-instructions.s =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198893-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198893-sparc.diff index a1434c0a05c7..b5e12e2249d5 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198893-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198893-sparc.diff @@ -2,7 +2,7 @@ Pull in r198893 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Multiclass for loads/stores. No functionality change intended. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcInstr64Bit.td =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198909-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198909-sparc.diff index e4fb0f350f1f..e98f7073a899 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198909-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198909-sparc.diff @@ -2,7 +2,7 @@ Pull in r198909 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Add support for parsing jmpl instruction and make indirect call and jmp instructions as aliases to jmpl. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/AsmParser/SparcAsmParser.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r198910-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r198910-sparc.diff index 94b320c202b8..028cbc6be125 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r198910-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r198910-sparc.diff @@ -2,7 +2,7 @@ Pull in r198910 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Emit retl/ret instead of jmp instruction. It improves the readability of the assembly generated. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: test/CodeGen/SPARC/ctpop.ll =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r199014-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r199014-sparc.diff index 6db27a065c9e..d0fe057bb01e 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r199014-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r199014-sparc.diff @@ -2,7 +2,7 @@ Pull in r199014 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Bundle instruction with delay slow and its filler. Now, we can use -verify-machineinstrs with SPARC backend. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/DelaySlotFiller.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r199024-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r199024-sparc.diff index 35bfc2bc40d6..82cf12352f3a 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r199024-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r199024-sparc.diff @@ -2,7 +2,7 @@ Pull in r199024 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Add missing processor types: v7 and niagara -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/Sparc.td =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r199028-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r199028-sparc.diff index 78bcc61d1479..ef99531e3fa3 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r199028-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r199028-sparc.diff @@ -13,7 +13,7 @@ Pull in r199028 from upstream llvm trunk (by Jakob Stoklund Olesen): 'inreg' flag on the return value, so that behavior is unchanged. This also happens when returning a float _Complex. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: test/CodeGen/SPARC/64abi.ll =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r199031-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r199031-sparc.diff index 5eb954959f48..783ca74f86f3 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r199031-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r199031-sparc.diff @@ -2,7 +2,7 @@ Pull in r199031 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Replace (unsigned)-1 with ~OU as suggested by Reid Kleckner. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/Disassembler/SparcDisassembler.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r199033-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r199033-sparc.diff index c4b343804a24..f34a3e41aaa3 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r199033-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r199033-sparc.diff @@ -2,7 +2,7 @@ Pull in r199033 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Add support for parsing floating point instructions. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcInstrInfo.td =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r199061-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r199061-sparc.diff index 4a8e5b86a3ef..c10b8a2ce819 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r199061-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r199061-sparc.diff @@ -8,7 +8,7 @@ Pull in r199061 from upstream llvm trunk (by Jakob Stoklund Olesen): Teach isBlockOnlyReachableByFallthrough to find any MBB operands on bundled terminators so SPARC doesn't need to specialize this function. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: test/CodeGen/SPARC/missinglabel.ll =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r199186-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r199186-sparc.diff index 167aa6ab2dfc..7293981c8931 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r199186-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r199186-sparc.diff @@ -11,7 +11,7 @@ Pull in r199186 from upstream llvm trunk (by Jakob Stoklund Olesen): The allocation order for DPair begins with the QPR registers, so register allocation is unlikely to change much. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/ARM/ARMISelLowering.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r199187-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r199187-sparc.diff index bfc1cfc6d584..0520ecdfc718 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r199187-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r199187-sparc.diff @@ -19,7 +19,7 @@ Pull in r199187 from upstream llvm trunk (by Jakob Stoklund Olesen): This fixes a problem where InstrEmitter was picking 32-bit register classes for 64-bit values on SPARC. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: test/CodeGen/SPARC/spillsize.ll =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r199775-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r199775-sparc.diff index 489f4570d528..b90f24392dbb 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r199775-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r199775-sparc.diff @@ -3,7 +3,7 @@ Pull in r199775 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Do not add PC to _GLOBAL_OFFSET_TABLE_ address to access GOT in absolute code. Fixes PR#18521 -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcAsmPrinter.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r199781-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r199781-sparc.diff index 04174109328e..a94fda733457 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r199781-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r199781-sparc.diff @@ -2,7 +2,7 @@ Pull in r199781 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Add support for inline assembly constraint 'I'. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: test/CodeGen/SPARC/inlineasm.ll =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r199786-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r199786-sparc.diff index 844e4e4520ff..004f85df4b97 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r199786-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r199786-sparc.diff @@ -2,7 +2,7 @@ Pull in r199786 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Add support for inline assembly constraints which specify registers by their aliases. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcISelLowering.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r199940-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r199940-sparc.diff index e171799df0a0..3b0940fe2fcb 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r199940-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r199940-sparc.diff @@ -4,7 +4,7 @@ Pull in r199940 from upstream llvm trunk (by Eric Christopher): code this looks correct, but could use review. The previous was definitely not correct. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/AsmParser/SparcAsmParser.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r199974-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r199974-sparc.diff index 095199534a0b..ca388fbff28f 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r199974-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r199974-sparc.diff @@ -3,7 +3,7 @@ Pull in r199974 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Correct quad register list in the asm parser. Add test cases to check parsing of v9 double registers and their aliased quad registers. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: test/MC/Disassembler/Sparc/sparc-fp.txt =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r199975-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r199975-sparc.diff index b1dec41c684d..57454081ddc3 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r199975-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r199975-sparc.diff @@ -4,7 +4,7 @@ Pull in r199975 from upstream llvm trunk (by Jakob Stoklund Olesen): These all use the compare-and-swap CASA/CASXA instructions. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: test/CodeGen/SPARC/atomics.ll =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r199977-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r199977-sparc.diff index 166b5da6d577..bace09ea3a7d 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r199977-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r199977-sparc.diff @@ -3,7 +3,7 @@ Pull in r199977 from upstream llvm trunk (by Venkatraman Govindaraju): [SparcV9] Add support for JIT in Sparc64. With this change, all supported tests in test/ExecutionEngine pass in sparcv9. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcJITInfo.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200103-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200103-sparc.diff index a2fd7d207c5f..2861161593d2 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200103-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200103-sparc.diff @@ -2,7 +2,7 @@ Pull in r200103 from upstream llvm trunk (by Venkatraman Govindaraju): Missing ELF relocations for Sparc. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: include/llvm/Support/ELF.h =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200104-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200104-sparc.diff index c489ca10d40d..b051d74779e0 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200104-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200104-sparc.diff @@ -2,7 +2,7 @@ Pull in r200104 from upstream llvm trunk (by Venkatraman Govindaraju): removing duplicate enum value -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: include/llvm/Support/ELF.h =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200112-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200112-sparc.diff index f499b590f89a..584dd30d1986 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200112-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200112-sparc.diff @@ -2,7 +2,7 @@ Pull in r200112 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Add support for sparc relocation types in ELF object file. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: test/MC/Sparc/sparc-relocations.s =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200130-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200130-sparc.diff index aad6ae905cc1..77e7b9012e89 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200130-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200130-sparc.diff @@ -4,7 +4,7 @@ Pull in r200130 from upstream llvm trunk (by Jakob Stoklund Olesen): Found by SingleSource/UnitTests/AtomicOps.c -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcISelLowering.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200131-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200131-sparc.diff index 6b0ab16026f5..c0ea20aa2b60 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200131-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200131-sparc.diff @@ -5,7 +5,7 @@ Pull in r200131 from upstream llvm trunk (by Jakob Stoklund Olesen): The popc instruction is defined in the SPARCv9 instruction set architecture, but it was emulated on CPUs older than Niagara 2. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcISelLowering.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200141-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200141-sparc.diff index d8016e8a4ca6..c507cafc60e4 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200141-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200141-sparc.diff @@ -2,7 +2,7 @@ Pull in r200141 from upstream llvm trunk (by Jakob Stoklund Olesen): Clean up the Legal/Expand logic for SPARC popc. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcSubtarget.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200282-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200282-sparc.diff index 95f28684463a..b4e4cef24e43 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200282-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200282-sparc.diff @@ -5,7 +5,7 @@ Pull in r200282 from upstream llvm trunk (by Jakob Stoklund Olesen): Also emit the stubs that were generated for references to typeinfo symbols. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcAsmPrinter.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200368-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200368-sparc.diff index f596b5f516d5..04579767cdde 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200368-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200368-sparc.diff @@ -2,7 +2,7 @@ Pull r200368 from upstream llvm trunk (by Venkatraman Govindaraju): [SparcV9] Use correct register class (I64RegClass) to hold the address of _GLOBAL_OFFSET_TABLE_ in sparcv9. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcInstrInfo.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200373-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200373-sparc.diff index f9bed3572128..1eb13785f274 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200373-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200373-sparc.diff @@ -6,7 +6,7 @@ Pull in r200373 from upstream llvm trunk (by Venkatraman Govindaraju): combines symbols in different segments". This is because MC computes pc_rel entries with subtract expression between labels from different sections. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcTargetObjectFile.h =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200376-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200376-sparc.diff index 0053365f6ab0..c24ea253d65a 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200376-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200376-sparc.diff @@ -4,7 +4,7 @@ Pull in r200376 from upstream llvm trunk (by Venkatraman Govindaraju): This makes MCAsmInfo::getExprForFDESymbol() a virtual function and overrides it in SparcMCAsmInfo. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.h =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200509-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200509-sparc.diff index 9ada6aa93451..f5f9bb3d1166 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200509-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200509-sparc.diff @@ -2,7 +2,7 @@ Pull in r200509 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Save and restore float registers that may be used for parameter passing. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcJITInfo.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200617-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200617-sparc.diff index 831cd98eccd1..a92ba322abe3 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200617-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200617-sparc.diff @@ -2,7 +2,7 @@ Pull in r200617 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Set %o7 as the return address register instead of %i7 in MCRegisterInfo. Also, add CFI instructions to initialize the frame correctly. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200960-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200960-sparc.diff index c430f882a2fd..a57449b6ae80 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200960-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200960-sparc.diff @@ -2,7 +2,7 @@ Pull in r200960 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Use SparcMCExpr::VariantKind itself as MachineOperand's target flags. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcISelLowering.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200961-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200961-sparc.diff index a08d173ed75c..558715cebb97 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200961-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200961-sparc.diff @@ -2,7 +2,7 @@ Pull in r200961 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Emit correct relocations for PIC code when integrated assembler is used. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: test/CodeGen/SPARC/obj-relocs.ll =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200962-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200962-sparc.diff index 2e668a31abc3..ca329c225557 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200962-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200962-sparc.diff @@ -2,7 +2,7 @@ Pull in r200962 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Emit relocations for Thread Local Storage (TLS) when integrated assembler is used. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200963-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200963-sparc.diff index f8a817ea0f17..55693c700052 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200963-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200963-sparc.diff @@ -2,7 +2,7 @@ Pull in r200963 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Emit correct encoding for atomic instructions. Also, add support for parsing CAS instructions to test the CAS encoding. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: test/MC/Sparc/sparc-atomic-instructions.s =================================================================== diff --git a/contrib/llvm/patches/patch-r262261-llvm-r200965-sparc.diff b/contrib/llvm/patches/patch-r262261-llvm-r200965-sparc.diff index 2b0d41e5fea0..aa758001e576 100644 --- a/contrib/llvm/patches/patch-r262261-llvm-r200965-sparc.diff +++ b/contrib/llvm/patches/patch-r262261-llvm-r200965-sparc.diff @@ -2,7 +2,7 @@ Pull in r200965 from upstream llvm trunk (by Venkatraman Govindaraju): [Sparc] Add support for parsing synthetic instruction 'mov'. -Introduced here: http://svn.freebsd.org/changeset/base/262261 +Introduced here: http://svnweb.freebsd.org/changeset/base/262261 Index: lib/Target/Sparc/SparcInstrAliases.td =================================================================== diff --git a/contrib/llvm/patches/patch-r262262-clang-r198311-sparc.diff b/contrib/llvm/patches/patch-r262262-clang-r198311-sparc.diff index 751b976bc563..126d362a7433 100644 --- a/contrib/llvm/patches/patch-r262262-clang-r198311-sparc.diff +++ b/contrib/llvm/patches/patch-r262262-clang-r198311-sparc.diff @@ -3,7 +3,7 @@ Pull in r198311 from upstream clang trunk (by Roman Divacky): In the FreeBSD assembler driver, inform the sparc assembler that we're producing PIC code. -Introduced here: http://svn.freebsd.org/changeset/base/262262 +Introduced here: http://svnweb.freebsd.org/changeset/base/262262 Index: tools/clang/lib/Driver/Tools.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262262-clang-r198312-sparc.diff b/contrib/llvm/patches/patch-r262262-clang-r198312-sparc.diff index 8903d38eea67..7edefe23aaf0 100644 --- a/contrib/llvm/patches/patch-r262262-clang-r198312-sparc.diff +++ b/contrib/llvm/patches/patch-r262262-clang-r198312-sparc.diff @@ -2,7 +2,7 @@ Pull in r198312 from upstream clang trunk (by Roman Divacky): Remove a tab that snuck in. -Introduced here: http://svn.freebsd.org/changeset/base/262262 +Introduced here: http://svnweb.freebsd.org/changeset/base/262262 Index: tools/clang/lib/Driver/Tools.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262262-clang-r198911-sparc.diff b/contrib/llvm/patches/patch-r262262-clang-r198911-sparc.diff index d50b53f60db4..f6040415ad39 100644 --- a/contrib/llvm/patches/patch-r262262-clang-r198911-sparc.diff +++ b/contrib/llvm/patches/patch-r262262-clang-r198911-sparc.diff @@ -2,7 +2,7 @@ Pull in r198911 from upstream clang trunk (by Jakob Stoklund Olesen): Pass -32/-64 to the assembler when building for sparc/sparc64. -Introduced here: http://svn.freebsd.org/changeset/base/262262 +Introduced here: http://svnweb.freebsd.org/changeset/base/262262 Index: tools/clang/test/Driver/linux-as.c =================================================================== diff --git a/contrib/llvm/patches/patch-r262262-clang-r198912-sparc.diff b/contrib/llvm/patches/patch-r262262-clang-r198912-sparc.diff index 9e3ce439a8a5..94428fb53bf0 100644 --- a/contrib/llvm/patches/patch-r262262-clang-r198912-sparc.diff +++ b/contrib/llvm/patches/patch-r262262-clang-r198912-sparc.diff @@ -2,7 +2,7 @@ Pull in r198912 from upstream clang trunk (by Jakob Stoklund Olesen): Give the linker the right ELF type for SPARC targets. -Introduced here: http://svn.freebsd.org/changeset/base/262262 +Introduced here: http://svnweb.freebsd.org/changeset/base/262262 Index: tools/clang/lib/Driver/Tools.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262262-clang-r198918-sparc.diff b/contrib/llvm/patches/patch-r262262-clang-r198918-sparc.diff index a3c60261ae00..98add49b52f6 100644 --- a/contrib/llvm/patches/patch-r262262-clang-r198918-sparc.diff +++ b/contrib/llvm/patches/patch-r262262-clang-r198918-sparc.diff @@ -2,7 +2,7 @@ Pull in r198918 from upstream clang trunk (by Jakob Stoklund Olesen): Locate GCC installations on SPARC systems. -Introduced here: http://svn.freebsd.org/changeset/base/262262 +Introduced here: http://svnweb.freebsd.org/changeset/base/262262 Index: tools/clang/lib/Driver/ToolChains.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262262-clang-r198923-sparc.diff b/contrib/llvm/patches/patch-r262262-clang-r198923-sparc.diff index 912aa62545ad..83d658d3c547 100644 --- a/contrib/llvm/patches/patch-r262262-clang-r198923-sparc.diff +++ b/contrib/llvm/patches/patch-r262262-clang-r198923-sparc.diff @@ -2,7 +2,7 @@ Pull in r198923 from upstream clang trunk (by Jakob Stoklund Olesen): Use the right dynamic linker for SPARC Linux executables. -Introduced here: http://svn.freebsd.org/changeset/base/262262 +Introduced here: http://svnweb.freebsd.org/changeset/base/262262 Index: tools/clang/lib/Driver/Tools.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262262-clang-r199012-sparc.diff b/contrib/llvm/patches/patch-r262262-clang-r199012-sparc.diff index 7bc4a78b361c..7d02c1f217cc 100644 --- a/contrib/llvm/patches/patch-r262262-clang-r199012-sparc.diff +++ b/contrib/llvm/patches/patch-r262262-clang-r199012-sparc.diff @@ -2,7 +2,7 @@ Pull in r199012 from upstream clang trunk (by Jakob Stoklund Olesen): Select the UltraSPARC instruction set when invoking the assembler. -Introduced here: http://svn.freebsd.org/changeset/base/262262 +Introduced here: http://svnweb.freebsd.org/changeset/base/262262 Index: tools/clang/lib/Driver/Tools.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262262-clang-r199034-sparc.diff b/contrib/llvm/patches/patch-r262262-clang-r199034-sparc.diff index 8043e1f28186..6eb98df99cce 100644 --- a/contrib/llvm/patches/patch-r262262-clang-r199034-sparc.diff +++ b/contrib/llvm/patches/patch-r262262-clang-r199034-sparc.diff @@ -2,7 +2,7 @@ Pull in r199034 from upstream clang trunk (by Jakob Stoklund Olesen): MIPS and SPARC assemblers both take the -KPIC flag. -Introduced here: http://svn.freebsd.org/changeset/base/262262 +Introduced here: http://svnweb.freebsd.org/changeset/base/262262 Index: tools/clang/lib/Driver/Tools.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262262-clang-r199037-sparc.diff b/contrib/llvm/patches/patch-r262262-clang-r199037-sparc.diff index beed0ed9162e..39e9765c5282 100644 --- a/contrib/llvm/patches/patch-r262262-clang-r199037-sparc.diff +++ b/contrib/llvm/patches/patch-r262262-clang-r199037-sparc.diff @@ -2,7 +2,7 @@ Pull in r199037 from upstream clang trunk (by Jakob Stokund Olesen): SPARC passes non-trivial C++ objects indirectly like everybody else. -Introduced here: http://svn.freebsd.org/changeset/base/262262 +Introduced here: http://svnweb.freebsd.org/changeset/base/262262 Index: tools/clang/lib/CodeGen/TargetInfo.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262262-clang-r199188-sparc.diff b/contrib/llvm/patches/patch-r262262-clang-r199188-sparc.diff index 77e5eafc277e..8f82bf3e6d8c 100644 --- a/contrib/llvm/patches/patch-r262262-clang-r199188-sparc.diff +++ b/contrib/llvm/patches/patch-r262262-clang-r199188-sparc.diff @@ -5,7 +5,7 @@ Pull in r199188 from upstream clang trunk (by Jakob Stoklund Olesen): Pad these structs up so they are sret-returned even on that architecture. -Introduced here: http://svn.freebsd.org/changeset/base/262262 +Introduced here: http://svnweb.freebsd.org/changeset/base/262262 Index: tools/clang/test/CodeGen/sret.c =================================================================== diff --git a/contrib/llvm/patches/patch-r262262-clang-r199399-sparc.diff b/contrib/llvm/patches/patch-r262262-clang-r199399-sparc.diff index 106ab89236fe..4a22be232851 100644 --- a/contrib/llvm/patches/patch-r262262-clang-r199399-sparc.diff +++ b/contrib/llvm/patches/patch-r262262-clang-r199399-sparc.diff @@ -2,7 +2,7 @@ Pull in r199399 from upstream clang trunk (by Jakob Stoklund Olesen): SPARCv9 implements long double as an IEEE quad. -Introduced here: http://svn.freebsd.org/changeset/base/262262 +Introduced here: http://svnweb.freebsd.org/changeset/base/262262 Index: tools/clang/test/CodeGen/sparcv9-abi.c =================================================================== diff --git a/contrib/llvm/patches/patch-r262262-clang-r200452-sparc.diff b/contrib/llvm/patches/patch-r262262-clang-r200452-sparc.diff index e14306d86f14..44f442f9a81b 100644 --- a/contrib/llvm/patches/patch-r262262-clang-r200452-sparc.diff +++ b/contrib/llvm/patches/patch-r262262-clang-r200452-sparc.diff @@ -4,7 +4,7 @@ Pull in r200452 from upstream clang trunk (by Jakob Stoklund Olesen): Patch by Roman Divacky! -Introduced here: http://svn.freebsd.org/changeset/base/262262 +Introduced here: http://svnweb.freebsd.org/changeset/base/262262 Index: tools/clang/lib/Basic/Targets.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262264-llvm-r200453-sparc.diff b/contrib/llvm/patches/patch-r262264-llvm-r200453-sparc.diff index 2c4470ccf34d..ed8e4b9c5443 100644 --- a/contrib/llvm/patches/patch-r262264-llvm-r200453-sparc.diff +++ b/contrib/llvm/patches/patch-r262264-llvm-r200453-sparc.diff @@ -6,7 +6,7 @@ Pull in r200453 from upstream llvm trunk (by Jakob Stoklund Olesen): atomic swap can be implemented in terms of CASX, like the other atomic rmw primitives. -Introduced here: http://svn.freebsd.org/changeset/base/262264 +Introduced here: http://svnweb.freebsd.org/changeset/base/262264 Index: lib/Target/Sparc/SparcInstr64Bit.td =================================================================== diff --git a/contrib/llvm/patches/patch-r262265-llvm-r201718-sparc.diff b/contrib/llvm/patches/patch-r262265-llvm-r201718-sparc.diff index d9ca427a4f40..a7be299dda2f 100644 --- a/contrib/llvm/patches/patch-r262265-llvm-r201718-sparc.diff +++ b/contrib/llvm/patches/patch-r262265-llvm-r201718-sparc.diff @@ -2,7 +2,7 @@ Pull in r201718 from upstream llvm trunk (by Roman Divacky): Expand 64bit {SHL,SHR,SRA}_PARTS on sparcv9. -Introduced here: http://svn.freebsd.org/changeset/base/262265 +Introduced here: http://svnweb.freebsd.org/changeset/base/262265 Index: test/CodeGen/SPARC/parts.ll =================================================================== diff --git a/contrib/llvm/patches/patch-r262303-enable-ppc-integrated-as.diff b/contrib/llvm/patches/patch-r262303-enable-ppc-integrated-as.diff index 3d2e107b974f..bb020d578dff 100644 --- a/contrib/llvm/patches/patch-r262303-enable-ppc-integrated-as.diff +++ b/contrib/llvm/patches/patch-r262303-enable-ppc-integrated-as.diff @@ -2,7 +2,7 @@ Pull in r197521 from upstream clang trunk (by Roman Divacky): Use the integrated assembler by default on FreeBSD/ppc and ppc64. -Introduced here: http://svn.freebsd.org/changeset/base/262303 +Introduced here: http://svnweb.freebsd.org/changeset/base/262303 Index: tools/clang/lib/Driver/ToolChains.h =================================================================== diff --git a/contrib/llvm/patches/patch-r262415-llvm-r201994-sparc.diff b/contrib/llvm/patches/patch-r262415-llvm-r201994-sparc.diff index 4f9b9166c39d..308b2759f7a2 100644 --- a/contrib/llvm/patches/patch-r262415-llvm-r201994-sparc.diff +++ b/contrib/llvm/patches/patch-r262415-llvm-r201994-sparc.diff @@ -2,7 +2,7 @@ Pull in r201994 from upstream llvm trunk (by Benjamin Kramer): SPARC: Implement TRAP lowering. Matches what GCC emits. -Introduced here: http://svn.freebsd.org/changeset/base/262415 +Introduced here: http://svnweb.freebsd.org/changeset/base/262415 Index: lib/Target/Sparc/SparcInstrInfo.td =================================================================== diff --git a/contrib/llvm/patches/patch-r262460-llvm-r202059-sparc.diff b/contrib/llvm/patches/patch-r262460-llvm-r202059-sparc.diff index e683e33ea327..e4ddf93e7760 100644 --- a/contrib/llvm/patches/patch-r262460-llvm-r202059-sparc.diff +++ b/contrib/llvm/patches/patch-r262460-llvm-r202059-sparc.diff @@ -2,7 +2,7 @@ Pull in r202059 from upstream clang trunk (by Roman Divacky): Implement getDwarfEHStackPointer() and initDwarfEHRegSizeTable() for sparcv9. -Introduced here: http://svn.freebsd.org/changeset/base/262460 +Introduced here: http://svnweb.freebsd.org/changeset/base/262460 Index: tools/clang/lib/CodeGen/TargetInfo.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262535-clang-r202177-sparc.diff b/contrib/llvm/patches/patch-r262535-clang-r202177-sparc.diff index 00514eb10620..2ca2d00117ca 100644 --- a/contrib/llvm/patches/patch-r262535-clang-r202177-sparc.diff +++ b/contrib/llvm/patches/patch-r262535-clang-r202177-sparc.diff @@ -4,7 +4,7 @@ Pull in r202177 from upstream clang trunk (by Roman Divacky): -march which doesnt exist on sparc gcc to -mcpu. While here adjust a few tests to not write an unused temporary file. -Introduced here: http://svn.freebsd.org/changeset/base/262535 +Introduced here: http://svnweb.freebsd.org/changeset/base/262535 Index: tools/clang/lib/Basic/Targets.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262536-clang-r202179-sparc.diff b/contrib/llvm/patches/patch-r262536-clang-r202179-sparc.diff index 5912dac935c0..4f7adec09a3d 100644 --- a/contrib/llvm/patches/patch-r262536-clang-r202179-sparc.diff +++ b/contrib/llvm/patches/patch-r262536-clang-r202179-sparc.diff @@ -2,7 +2,7 @@ Pull in r202179 from upstream clang trunk (by Roman Divacky): Pass the sparc architecture variant to the assembler. -Introduced here: http://svn.freebsd.org/changeset/base/262536 +Introduced here: http://svnweb.freebsd.org/changeset/base/262536 Index: tools/clang/lib/Driver/Tools.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262582-llvm-r202422-sparc.diff b/contrib/llvm/patches/patch-r262582-llvm-r202422-sparc.diff index 589dd4772c9e..582fb05f20f2 100644 --- a/contrib/llvm/patches/patch-r262582-llvm-r202422-sparc.diff +++ b/contrib/llvm/patches/patch-r262582-llvm-r202422-sparc.diff @@ -4,7 +4,7 @@ Pull in r202422 from upstream llvm trunk (by Roman Divacky): expensive libcall. Also, Qp_neg is not implemented on at least FreeBSD. This is also what gcc is doing. -Introduced here: http://svn.freebsd.org/changeset/base/262582 +Introduced here: http://svnweb.freebsd.org/changeset/base/262582 Index: lib/Target/Sparc/SparcISelLowering.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r262611-llvm-r196874-fix-invalid-pwd-crash.diff b/contrib/llvm/patches/patch-r262611-llvm-r196874-fix-invalid-pwd-crash.diff index 587693dd473d..a83e8e5d46eb 100644 --- a/contrib/llvm/patches/patch-r262611-llvm-r196874-fix-invalid-pwd-crash.diff +++ b/contrib/llvm/patches/patch-r262611-llvm-r196874-fix-invalid-pwd-crash.diff @@ -18,7 +18,7 @@ Pull in r196874 from upstream llvm trunk (by Andrew Trick): purely hypothetically and untestable case that this happens, the AT_comp_dir will be omitted from the compilation_unit DIE. -Introduced here: http://svn.freebsd.org/changeset/base/262611 +Introduced here: http://svnweb.freebsd.org/changeset/base/262611 Index: include/llvm/MC/MCContext.h =================================================================== diff --git a/contrib/llvm/patches/patch-r263048-clang-r203624-fix-CC-aliases.diff b/contrib/llvm/patches/patch-r263048-clang-r203624-fix-CC-aliases.diff index 1aac8cb05818..5b971b8e68e4 100644 --- a/contrib/llvm/patches/patch-r263048-clang-r203624-fix-CC-aliases.diff +++ b/contrib/llvm/patches/patch-r263048-clang-r203624-fix-CC-aliases.diff @@ -5,7 +5,7 @@ Pull in r203624 from upstream clang trunk (by Hans Wennborg): This narrows the impact of r188833 after Dimitry pointed out that it's good to be able to tell the difference between 'cc' and 'CC'. -Introduced here: http://svn.freebsd.org/changeset/base/263048 +Introduced here: http://svnweb.freebsd.org/changeset/base/263048 Index: tools/clang/tools/driver/driver.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r263312-llvm-r169939-inline-asm-with-realign.diff b/contrib/llvm/patches/patch-r263312-llvm-r169939-inline-asm-with-realign.diff index f92dd3ac02cc..c70ad4d5e493 100644 --- a/contrib/llvm/patches/patch-r263312-llvm-r169939-inline-asm-with-realign.diff +++ b/contrib/llvm/patches/patch-r263312-llvm-r169939-inline-asm-with-realign.diff @@ -9,7 +9,7 @@ Pull in r196939 from upstream llvm trunk (by Reid Kleckner): Update to clang side tests will land shortly. -Introduced here: http://svn.freebsd.org/changeset/base/263312 +Introduced here: http://svnweb.freebsd.org/changeset/base/263312 Index: test/CodeGen/X86/inline-asm-stack-realign2.ll =================================================================== diff --git a/contrib/llvm/patches/patch-r263312-llvm-r196940-update-inline-asm-test.diff b/contrib/llvm/patches/patch-r263312-llvm-r196940-update-inline-asm-test.diff index 6ce56cbf4a5a..8b96584c565d 100644 --- a/contrib/llvm/patches/patch-r263312-llvm-r196940-update-inline-asm-test.diff +++ b/contrib/llvm/patches/patch-r263312-llvm-r196940-update-inline-asm-test.diff @@ -2,7 +2,7 @@ Pull in r196940 from upstream clang trunk (by Reid Kleckner): Update clang MS inline asm tests for r196939 -Introduced here: http://svn.freebsd.org/changeset/base/263312 +Introduced here: http://svnweb.freebsd.org/changeset/base/263312 Index: tools/clang/test/CodeGen/ms-inline-asm.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r263312-llvm-r196986-allow-realign-alloca.diff b/contrib/llvm/patches/patch-r263312-llvm-r196986-allow-realign-alloca.diff index 2c0b75908583..32081e1874b1 100644 --- a/contrib/llvm/patches/patch-r263312-llvm-r196986-allow-realign-alloca.diff +++ b/contrib/llvm/patches/patch-r263312-llvm-r196986-allow-realign-alloca.diff @@ -12,7 +12,7 @@ Pull in r196986 from upstream llvm trunk (by Reid Kleckner): XFAIL the test cases that would be miscompiled and add one that uses the relevant functionality. -Introduced here: http://svn.freebsd.org/changeset/base/263312 +Introduced here: http://svnweb.freebsd.org/changeset/base/263312 Index: lib/Target/X86/X86RegisterInfo.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r263312-llvm-r202930-fix-alloca-esi-clobber.diff b/contrib/llvm/patches/patch-r263312-llvm-r202930-fix-alloca-esi-clobber.diff index b4017c967394..b77d00c7d20a 100644 --- a/contrib/llvm/patches/patch-r263312-llvm-r202930-fix-alloca-esi-clobber.diff +++ b/contrib/llvm/patches/patch-r263312-llvm-r202930-fix-alloca-esi-clobber.diff @@ -16,7 +16,7 @@ Pull in r202930 from upstream llvm trunk (by Hans Wennborg): Differential Revision: http://llvm-reviews.chandlerc.com/D2954 -Introduced here: http://svn.freebsd.org/changeset/base/263312 +Introduced here: http://svnweb.freebsd.org/changeset/base/263312 Index: lib/CodeGen/MachineFunction.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r263313-llvm-r203311-fix-sse1-oom.diff b/contrib/llvm/patches/patch-r263313-llvm-r203311-fix-sse1-oom.diff index 43efd12c87a0..35c989cb9068 100644 --- a/contrib/llvm/patches/patch-r263313-llvm-r203311-fix-sse1-oom.diff +++ b/contrib/llvm/patches/patch-r263313-llvm-r203311-fix-sse1-oom.diff @@ -12,7 +12,7 @@ Pull in r203311 from upstream llvm trunk (by Arnold Schwaighofer): Fixes PR18036. -Introduced here: http://svn.freebsd.org/changeset/base/263313 +Introduced here: http://svnweb.freebsd.org/changeset/base/263313 Index: test/CodeGen/X86/sse1.ll =================================================================== diff --git a/contrib/llvm/patches/patch-r263619-clang-r201662-arm-gnueabihf.diff b/contrib/llvm/patches/patch-r263619-clang-r201662-arm-gnueabihf.diff index d13648e393ef..0e1997cd9ffd 100644 --- a/contrib/llvm/patches/patch-r263619-clang-r201662-arm-gnueabihf.diff +++ b/contrib/llvm/patches/patch-r263619-clang-r201662-arm-gnueabihf.diff @@ -1,3 +1,11 @@ +Pull in r201662 from upstream clang trunk: + + Add FreeBSD ARM EABI hard-float support + + Patch by Andrew Turner. + +Introduced here: http://svnweb.freebsd.org/changeset/base/263619 + Index: tools/clang/lib/Driver/ToolChains.cpp =================================================================== --- tools/clang/lib/Driver/ToolChains.cpp diff --git a/contrib/llvm/patches/patch-r264826-llvm-r202188-variadic-fn-debug-info.diff b/contrib/llvm/patches/patch-r264826-llvm-r202188-variadic-fn-debug-info.diff index 6bb1db96a623..a91307b5650a 100644 --- a/contrib/llvm/patches/patch-r264826-llvm-r202188-variadic-fn-debug-info.diff +++ b/contrib/llvm/patches/patch-r264826-llvm-r202188-variadic-fn-debug-info.diff @@ -18,7 +18,7 @@ DwarfUnit -> CompileUnit Sponsored by: DARPA, AFRL -http://svnweb.freebsd.org/changeset/base/264826 +Introduced here: http://svnweb.freebsd.org/changeset/base/264826 Index: include/llvm/DIBuilder.h =================================================================== diff --git a/contrib/llvm/patches/patch-r264827-clang-r202185-variadic-fn-debug-info.diff b/contrib/llvm/patches/patch-r264827-clang-r202185-variadic-fn-debug-info.diff index 7084f7b2ab47..8ae30b4cf2ea 100644 --- a/contrib/llvm/patches/patch-r264827-clang-r202185-variadic-fn-debug-info.diff +++ b/contrib/llvm/patches/patch-r264827-clang-r202185-variadic-fn-debug-info.diff @@ -14,7 +14,7 @@ getReturnType -> getResultType Sponsored by: DARPA, AFRL -http://svnweb.freebsd.org/changeset/base/264827 +Introduced here: http://svnweb.freebsd.org/changeset/base/264827 Index: tools/clang/lib/CodeGen/CGDebugInfo.cpp =================================================================== diff --git a/contrib/llvm/patches/patch-r265477-clang-r198655-standalone-debug.diff b/contrib/llvm/patches/patch-r265477-clang-r198655-standalone-debug.diff new file mode 100644 index 000000000000..aabfb92ea780 --- /dev/null +++ b/contrib/llvm/patches/patch-r265477-clang-r198655-standalone-debug.diff @@ -0,0 +1,318 @@ +Merge -fstandalone-debug from Clang r198655: + + Implement a new -fstandalone-debug option. rdar://problem/15685848 + It controls everything that -flimit-debug-info used to, plus the + vtable type optimization. The old -fno-limit-debug-info option is now an + alias to -fstandalone-debug and vice versa. + + Standalone is the default on Darwin until dtrace is updated to work with + non-standalone debug info (rdar://problem/15758808). + + Note: I kept the LimitedDebugInfo name in CodeGenOptions::DebugInfoKind + because NoStandaloneDebugInfo sounded even more confusing. + +Introduced here: http://svnweb.freebsd.org/changeset/base/265477 + +Index: tools/clang/lib/CodeGen/CGDebugInfo.cpp +=================================================================== +--- tools/clang/lib/CodeGen/CGDebugInfo.cpp ++++ tools/clang/lib/CodeGen/CGDebugInfo.cpp +@@ -1456,13 +1456,13 @@ llvm::DIType CGDebugInfo::CreateType(const RecordT + // declaration. The completeType, completeRequiredType, and completeClassData + // callbacks will handle promoting the declaration to a definition. + if (T || ++ // Under -flimit-debug-info: + (DebugKind <= CodeGenOptions::LimitedDebugInfo && +- // Under -flimit-debug-info, emit only a declaration unless the type is +- // required to be complete. +- !RD->isCompleteDefinitionRequired() && CGM.getLangOpts().CPlusPlus) || +- // If the class is dynamic, only emit a declaration. A definition will be +- // emitted whenever the vtable is emitted. +- (CXXDecl && CXXDecl->hasDefinition() && CXXDecl->isDynamicClass()) || T) { ++ // Emit only a forward declaration unless the type is required. ++ ((!RD->isCompleteDefinitionRequired() && CGM.getLangOpts().CPlusPlus) || ++ // If the class is dynamic, only emit a declaration. A definition will be ++ // emitted whenever the vtable is emitted. ++ (CXXDecl && CXXDecl->hasDefinition() && CXXDecl->isDynamicClass())))) { + llvm::DIDescriptor FDContext = + getContextDescriptor(cast(RD->getDeclContext())); + if (!T) +Index: tools/clang/lib/Frontend/CompilerInvocation.cpp +=================================================================== +--- tools/clang/lib/Frontend/CompilerInvocation.cpp ++++ tools/clang/lib/Frontend/CompilerInvocation.cpp +@@ -295,7 +295,8 @@ static void ParseCommentArgs(CommentOptions &Opts, + } + + static bool ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args, InputKind IK, +- DiagnosticsEngine &Diags) { ++ DiagnosticsEngine &Diags, ++ const TargetOptions &TargetOpts) { + using namespace options; + bool Success = true; + +@@ -322,10 +323,16 @@ static bool ParseCodeGenArgs(CodeGenOptions &Opts, + Opts.setDebugInfo(CodeGenOptions::DebugLineTablesOnly); + } else if (Args.hasArg(OPT_g_Flag) || Args.hasArg(OPT_gdwarf_2) || + Args.hasArg(OPT_gdwarf_3) || Args.hasArg(OPT_gdwarf_4)) { +- if (Args.hasFlag(OPT_flimit_debug_info, OPT_fno_limit_debug_info, true)) ++ bool Default = false; ++ // Until dtrace (via CTF) can deal with distributed debug info, ++ // Darwin defaults to standalone/full debug info. ++ if (llvm::Triple(TargetOpts.Triple).isOSDarwin()) ++ Default = true; ++ ++ if (Args.hasFlag(OPT_fstandalone_debug, OPT_fno_standalone_debug, Default)) ++ Opts.setDebugInfo(CodeGenOptions::FullDebugInfo); ++ else + Opts.setDebugInfo(CodeGenOptions::LimitedDebugInfo); +- else +- Opts.setDebugInfo(CodeGenOptions::FullDebugInfo); + } + Opts.DebugColumnInfo = Args.hasArg(OPT_dwarf_column_info); + Opts.SplitDwarfFile = Args.getLastArgValue(OPT_split_dwarf_file); +@@ -1657,8 +1664,9 @@ bool CompilerInvocation::CreateFromArgs(CompilerIn + ParseFileSystemArgs(Res.getFileSystemOpts(), *Args); + // FIXME: We shouldn't have to pass the DashX option around here + InputKind DashX = ParseFrontendArgs(Res.getFrontendOpts(), *Args, Diags); +- Success = ParseCodeGenArgs(Res.getCodeGenOpts(), *Args, DashX, Diags) +- && Success; ++ ParseTargetArgs(Res.getTargetOpts(), *Args); ++ Success = ParseCodeGenArgs(Res.getCodeGenOpts(), *Args, DashX, Diags, ++ Res.getTargetOpts()) && Success; + ParseHeaderSearchArgs(Res.getHeaderSearchOpts(), *Args); + if (DashX != IK_AST && DashX != IK_LLVM_IR) { + ParseLangArgs(*Res.getLangOpts(), *Args, DashX, Diags); +@@ -1673,8 +1681,6 @@ bool CompilerInvocation::CreateFromArgs(CompilerIn + ParsePreprocessorArgs(Res.getPreprocessorOpts(), *Args, FileMgr, Diags); + ParsePreprocessorOutputArgs(Res.getPreprocessorOutputOpts(), *Args, + Res.getFrontendOpts().ProgramAction); +- ParseTargetArgs(Res.getTargetOpts(), *Args); +- + return Success; + } + +Index: tools/clang/lib/Driver/Tools.cpp +=================================================================== +--- tools/clang/lib/Driver/Tools.cpp ++++ tools/clang/lib/Driver/Tools.cpp +@@ -2995,8 +2995,8 @@ void Clang::ConstructJob(Compilation &C, const Job + Args.AddLastArg(CmdArgs, options::OPT_femit_all_decls); + Args.AddLastArg(CmdArgs, options::OPT_fformat_extensions); + Args.AddLastArg(CmdArgs, options::OPT_fheinous_gnu_extensions); +- Args.AddLastArg(CmdArgs, options::OPT_flimit_debug_info); +- Args.AddLastArg(CmdArgs, options::OPT_fno_limit_debug_info); ++ Args.AddLastArg(CmdArgs, options::OPT_fstandalone_debug); ++ Args.AddLastArg(CmdArgs, options::OPT_fno_standalone_debug); + Args.AddLastArg(CmdArgs, options::OPT_fno_operator_names); + // AltiVec language extensions aren't relevant for assembling. + if (!isa(JA) || +Index: tools/clang/test/CodeGenCXX/debug-info-template-member.cpp +=================================================================== +--- tools/clang/test/CodeGenCXX/debug-info-template-member.cpp ++++ tools/clang/test/CodeGenCXX/debug-info-template-member.cpp +@@ -1,4 +1,4 @@ +-// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s ++// RUN: %clang_cc1 -emit-llvm -g -fno-standalone-debug -triple x86_64-apple-darwin %s -o - | FileCheck %s + + struct MyClass { + template int add(int j) { +Index: tools/clang/test/CodeGenCXX/debug-info-vtable-optzn.cpp +=================================================================== +--- tools/clang/test/CodeGenCXX/debug-info-vtable-optzn.cpp ++++ tools/clang/test/CodeGenCXX/debug-info-vtable-optzn.cpp +@@ -0,0 +1,21 @@ ++// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s ++// ++// This tests that the "emit debug info for a C++ class only in the ++// module that has its vtable" optimization is disabled by default on ++// Darwin. ++// ++// CHECK: [ DW_TAG_member ] [lost] ++class A ++{ ++ virtual bool f() = 0; ++ int lost; ++}; ++ ++class B : public A ++{ ++ B *g(); ++}; ++ ++B *B::g() { ++ return this; ++} +Index: tools/clang/test/CodeGenCXX/debug-info-namespace.cpp +=================================================================== +--- tools/clang/test/CodeGenCXX/debug-info-namespace.cpp ++++ tools/clang/test/CodeGenCXX/debug-info-namespace.cpp +@@ -1,6 +1,6 @@ +-// RUN: %clang -g -S -emit-llvm %s -o - | FileCheck %s +-// RUN: %clang -g -gline-tables-only -S -emit-llvm %s -o - | FileCheck -check-prefix=CHECK-GMLT %s +-// RUN: %clang -g -fno-limit-debug-info -S -emit-llvm %s -o - | FileCheck -check-prefix=CHECK-NOLIMIT %s ++// RUN: %clang -g -fno-standalone-debug -S -emit-llvm %s -o - | FileCheck %s ++// RUN: %clang -g -gline-tables-only -S -emit-llvm %s -o - | FileCheck -check-prefix=CHECK-GMLT %s ++// RUN: %clang -g -fstandalone-debug -S -emit-llvm %s -o - | FileCheck -check-prefix=CHECK-NOLIMIT %s + + namespace A { + #line 1 "foo.cpp" +Index: tools/clang/test/CodeGenCXX/debug-info-class-limited.cpp +=================================================================== +--- tools/clang/test/CodeGenCXX/debug-info-class-limited.cpp ++++ tools/clang/test/CodeGenCXX/debug-info-class-limited.cpp +@@ -1,4 +1,4 @@ +-// RUN: %clang -emit-llvm -g -S %s -o - | FileCheck %s ++// RUN: %clang -emit-llvm -fno-standalone-debug -g -S %s -o - | FileCheck %s + + namespace PR16214_1 { + // CHECK-DAG: [ DW_TAG_structure_type ] [foo] [line [[@LINE+1]], {{.*}} [def] +Index: tools/clang/test/CodeGenCXX/debug-info-method2.cpp +=================================================================== +--- tools/clang/test/CodeGenCXX/debug-info-method2.cpp ++++ tools/clang/test/CodeGenCXX/debug-info-method2.cpp +@@ -1,4 +1,4 @@ +-// RUN: %clang_cc1 -flimit-debug-info -x c++ -g -S -emit-llvm < %s | FileCheck %s ++// RUN: %clang_cc1 -fno-standalone-debug -x c++ -g -S -emit-llvm < %s | FileCheck %s + // rdar://10336845 + // Preserve type qualifiers in -flimit-debug-info mode. + +Index: tools/clang/test/CodeGenCXX/debug-info-dup-fwd-decl.cpp +=================================================================== +--- tools/clang/test/CodeGenCXX/debug-info-dup-fwd-decl.cpp ++++ tools/clang/test/CodeGenCXX/debug-info-dup-fwd-decl.cpp +@@ -1,4 +1,4 @@ +-// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin -fno-limit-debug-info %s -o - | FileCheck %s ++// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin -fstandalone-debug %s -o - | FileCheck %s + + class Test + { +Index: tools/clang/test/CodeGenCXX/debug-info-class-nolimit.cpp +=================================================================== +--- tools/clang/test/CodeGenCXX/debug-info-class-nolimit.cpp ++++ tools/clang/test/CodeGenCXX/debug-info-class-nolimit.cpp +@@ -1,4 +1,6 @@ +-// RUN: %clang_cc1 -triple x86_64-unk-unk -fno-limit-debug-info -o - -emit-llvm -g %s | FileCheck %s ++// RUN: %clang_cc1 -triple x86_64-unk-unk -fstandalone-debug -o - -emit-llvm -g %s | FileCheck %s ++// On Darwin, this should be the default: ++// RUN: %clang_cc1 -triple x86_64-apple-darwin -o - -emit-llvm -g %s | FileCheck %s + + namespace rdar14101097_1 { // see also PR16214 + // Check that we emit debug info for the definition of a struct if the +Index: tools/clang/test/CodeGenCXX/debug-info-template-limit.cpp +=================================================================== +--- tools/clang/test/CodeGenCXX/debug-info-template-limit.cpp ++++ tools/clang/test/CodeGenCXX/debug-info-template-limit.cpp +@@ -1,4 +1,4 @@ +-// RUN: %clang -flimit-debug-info -emit-llvm -g -S %s -o - | FileCheck %s ++// RUN: %clang -fno-standalone-debug -emit-llvm -g -S %s -o - | FileCheck %s + + // Check that this pointer type is TC + // CHECK: ![[LINE:[0-9]+]] = {{.*}}"TC", {{.*}} metadata !"_ZTS2TCIiE"} ; [ DW_TAG_class_type ] +Index: tools/clang/test/CodeGenCXX/debug-info-pubtypes.cpp +=================================================================== +--- tools/clang/test/CodeGenCXX/debug-info-pubtypes.cpp ++++ tools/clang/test/CodeGenCXX/debug-info-pubtypes.cpp +@@ -1,5 +1,5 @@ + // REQUIRES: x86-64-registered-target +-// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -g -fno-limit-debug-info -S -mllvm -generate-dwarf-pub-sections=Enable %s -o - | FileCheck %s ++// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -g -fstandalone-debug -S -mllvm -generate-dwarf-pub-sections=Enable %s -o - | FileCheck %s + + // FIXME: This testcase shouldn't rely on assembly emission. + //CHECK: Lpubtypes_begin[[SECNUM:[0-9]:]] +Index: tools/clang/include/clang/Frontend/CodeGenOptions.h +=================================================================== +--- tools/clang/include/clang/Frontend/CodeGenOptions.h ++++ tools/clang/include/clang/Frontend/CodeGenOptions.h +@@ -50,12 +50,20 @@ class CodeGenOptions : public CodeGenOptionsBase { + }; + + enum DebugInfoKind { +- NoDebugInfo, // Don't generate debug info. +- DebugLineTablesOnly, // Emit only debug info necessary for generating +- // line number tables (-gline-tables-only). +- LimitedDebugInfo, // Limit generated debug info to reduce size +- // (-flimit-debug-info). +- FullDebugInfo // Generate complete debug info. ++ NoDebugInfo, /// Don't generate debug info. ++ ++ DebugLineTablesOnly, /// Emit only debug info necessary for generating ++ /// line number tables (-gline-tables-only). ++ ++ LimitedDebugInfo, /// Limit generated debug info to reduce size ++ /// (-fno-standalone-debug). This emits ++ /// forward decls for types that could be ++ /// replaced with forward decls in the source ++ /// code. For dynamic C++ classes type info ++ /// is only emitted int the module that ++ /// contains the classe's vtable. ++ ++ FullDebugInfo /// Generate complete debug info. + }; + + enum TLSModel { +Index: tools/clang/include/clang/Driver/Options.td +=================================================================== +--- tools/clang/include/clang/Driver/Options.td ++++ tools/clang/include/clang/Driver/Options.td +@@ -549,8 +549,6 @@ def finstrument_functions : Flag<["-"], "finstrume + def fkeep_inline_functions : Flag<["-"], "fkeep-inline-functions">, Group; + def flat__namespace : Flag<["-"], "flat_namespace">; + def flax_vector_conversions : Flag<["-"], "flax-vector-conversions">, Group; +-def flimit_debug_info : Flag<["-"], "flimit-debug-info">, Group, Flags<[CC1Option]>, +- HelpText<"Limit debug information produced to reduce size of debug binary">; + def flimited_precision_EQ : Joined<["-"], "flimited-precision=">, Group; + def flto : Flag<["-"], "flto">, Group; + def fno_lto : Flag<["-"], "fno-lto">, Group; +@@ -645,8 +643,6 @@ def fno_inline : Flag<["-"], "fno-inline">, Group< + def fno_keep_inline_functions : Flag<["-"], "fno-keep-inline-functions">, Group; + def fno_lax_vector_conversions : Flag<["-"], "fno-lax-vector-conversions">, Group, + HelpText<"Disallow implicit conversions between vectors with a different number of elements or different element types">, Flags<[CC1Option]>; +-def fno_limit_debug_info : Flag<["-"], "fno-limit-debug-info">, Group, Flags<[CC1Option]>, +- HelpText<"Do not limit debug information produced to reduce size of debug binary">; + def fno_merge_all_constants : Flag<["-"], "fno-merge-all-constants">, Group, + Flags<[CC1Option]>, HelpText<"Disallow merging of constants">; + def fno_modules : Flag <["-"], "fno-modules">, Group, +@@ -774,6 +770,12 @@ def fno_signed_char : Flag<["-"], "fno-signed-char + def fsplit_stack : Flag<["-"], "fsplit-stack">, Group; + def fstack_protector_all : Flag<["-"], "fstack-protector-all">, Group; + def fstack_protector : Flag<["-"], "fstack-protector">, Group; ++def fstandalone_debug : Flag<["-"], "fstandalone-debug">, Group, Flags<[CC1Option]>, ++ HelpText<"Emit full debug info for all types used by the program">; ++def fno_standalone_debug : Flag<["-"], "fno-standalone-debug">, Group, Flags<[CC1Option]>, ++ HelpText<"Limit debug information produced to reduce size of debug binary">; ++def flimit_debug_info : Flag<["-"], "flimit-debug-info">, Alias; ++def fno_limit_debug_info : Flag<["-"], "fno-limit-debug-info">, Alias; + def fstrict_aliasing : Flag<["-"], "fstrict-aliasing">, Group; + def fstrict_enums : Flag<["-"], "fstrict-enums">, Group, Flags<[CC1Option]>, + HelpText<"Enable optimizations based on the strict definition of an enum's " +Index: tools/clang/docs/tools/clang.pod +=================================================================== +--- tools/clang/docs/tools/clang.pod ++++ tools/clang/docs/tools/clang.pod +@@ -310,9 +310,23 @@ Currently equivalent to B<-O3> + =item B<-g> + + Generate debug information. Note that Clang debug information works best at +-B<-O0>. At higher optimization levels, only line number information is +-currently available. ++B<-O0>. + ++=item B<-fstandalone-debug> B<-fno-standalone-debug> ++ ++Clang supports a number of optimizations to reduce the size of debug ++information in the binary. They work based on the assumption that the ++debug type information can be spread out over multiple compilation ++units. For instance, Clang will not emit type definitions for types ++that are not needed by a module and could be replaced with a forward ++declaration. Further, Clang will only emit type info for a dynamic ++C++ class in the module that contains the vtable for the class. ++ ++The B<-fstandalone-debug> option turns off these optimizations. This ++is useful when working with 3rd-party libraries that don't come with ++debug information. Note that Clang will never emit type information ++for types that are not referenced at all by the program. ++ + =item B<-fexceptions> + + Enable generation of unwind information, this allows exceptions to be thrown