| OLD | NEW |
| 1 #!/usr/bin/env bash | 1 #!/usr/bin/env bash |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 # This script will check out llvm and clang into third_party/llvm and build it. | 6 # This script will check out llvm and clang into third_party/llvm and build it. |
| 7 | 7 |
| 8 # Do NOT CHANGE this if you don't know what you're doing -- see | 8 # Do NOT CHANGE this if you don't know what you're doing -- see |
| 9 # https://code.google.com/p/chromium/wiki/UpdatingClang | 9 # https://code.google.com/p/chromium/wiki/UpdatingClang |
| 10 # Reverting problematic clang rolls is safe, though. | 10 # Reverting problematic clang rolls is safe, though. |
| 11 CLANG_REVISION=202554 | 11 CLANG_REVISION=198389 |
| 12 | 12 |
| 13 THIS_DIR="$(dirname "${0}")" | 13 THIS_DIR="$(dirname "${0}")" |
| 14 LLVM_DIR="${THIS_DIR}/../../../third_party/llvm" | 14 LLVM_DIR="${THIS_DIR}/../../../third_party/llvm" |
| 15 LLVM_BUILD_DIR="${LLVM_DIR}/../llvm-build" | 15 LLVM_BUILD_DIR="${LLVM_DIR}/../llvm-build" |
| 16 LLVM_BOOTSTRAP_DIR="${LLVM_DIR}/../llvm-bootstrap" | 16 LLVM_BOOTSTRAP_DIR="${LLVM_DIR}/../llvm-bootstrap" |
| 17 LLVM_BOOTSTRAP_INSTALL_DIR="${LLVM_DIR}/../llvm-bootstrap-install" | |
| 18 CLANG_DIR="${LLVM_DIR}/tools/clang" | 17 CLANG_DIR="${LLVM_DIR}/tools/clang" |
| 19 CLANG_TOOLS_EXTRA_DIR="${CLANG_DIR}/tools/extra" | 18 CLANG_TOOLS_EXTRA_DIR="${CLANG_DIR}/tools/extra" |
| 20 COMPILER_RT_DIR="${LLVM_DIR}/projects/compiler-rt" | 19 COMPILER_RT_DIR="${LLVM_DIR}/projects/compiler-rt" |
| 21 LIBCXX_DIR="${LLVM_DIR}/projects/libcxx" | |
| 22 ANDROID_NDK_DIR="${LLVM_DIR}/../android_tools/ndk" | 20 ANDROID_NDK_DIR="${LLVM_DIR}/../android_tools/ndk" |
| 23 STAMP_FILE="${LLVM_BUILD_DIR}/cr_build_revision" | 21 STAMP_FILE="${LLVM_BUILD_DIR}/cr_build_revision" |
| 24 | 22 |
| 25 # Use both the clang revision and the plugin revisions to test for updates. | 23 # Use both the clang revision and the plugin revisions to test for updates. |
| 26 BLINKGCPLUGIN_REVISION=\ | 24 BLINKGCPLUGIN_REVISION=\ |
| 27 $(grep LIBRARYNAME "$THIS_DIR"/../blink_gc_plugin/Makefile \ | 25 $(grep LIBRARYNAME "$THIS_DIR"/../blink_gc_plugin/Makefile \ |
| 28 | cut -d '_' -f 2) | 26 | cut -d '_' -f 2) |
| 29 CLANG_AND_PLUGINS_REVISION="${CLANG_REVISION}-${BLINKGCPLUGIN_REVISION}" | 27 CLANG_AND_PLUGINS_REVISION="${CLANG_REVISION}-${BLINKGCPLUGIN_REVISION}" |
| 30 | 28 |
| 31 # ${A:-a} returns $A if it's set, a else. | 29 # ${A:-a} returns $A if it's set, a else. |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 svn co --force "${LLVM_REPO_URL}/llvm/trunk@${CLANG_REVISION}" "${LLVM_DIR}" | 252 svn co --force "${LLVM_REPO_URL}/llvm/trunk@${CLANG_REVISION}" "${LLVM_DIR}" |
| 255 fi | 253 fi |
| 256 | 254 |
| 257 echo Getting clang r"${CLANG_REVISION}" in "${CLANG_DIR}" | 255 echo Getting clang r"${CLANG_REVISION}" in "${CLANG_DIR}" |
| 258 svn co --force "${LLVM_REPO_URL}/cfe/trunk@${CLANG_REVISION}" "${CLANG_DIR}" | 256 svn co --force "${LLVM_REPO_URL}/cfe/trunk@${CLANG_REVISION}" "${CLANG_DIR}" |
| 259 | 257 |
| 260 echo Getting compiler-rt r"${CLANG_REVISION}" in "${COMPILER_RT_DIR}" | 258 echo Getting compiler-rt r"${CLANG_REVISION}" in "${COMPILER_RT_DIR}" |
| 261 svn co --force "${LLVM_REPO_URL}/compiler-rt/trunk@${CLANG_REVISION}" \ | 259 svn co --force "${LLVM_REPO_URL}/compiler-rt/trunk@${CLANG_REVISION}" \ |
| 262 "${COMPILER_RT_DIR}" | 260 "${COMPILER_RT_DIR}" |
| 263 | 261 |
| 264 # clang needs a libc++ checkout, else -stdlib=libc++ won't find includes | |
| 265 # (i.e. this is needed for bootstrap builds). | |
| 266 if [ "${OS}" = "Darwin" ]; then | |
| 267 echo Getting libc++ r"${CLANG_REVISION}" in "${LIBCXX_DIR}" | |
| 268 svn co --force "${LLVM_REPO_URL}/libcxx/trunk@${CLANG_REVISION}" \ | |
| 269 "${LIBCXX_DIR}" | |
| 270 fi | |
| 271 | |
| 272 # Apply patch for test failing with --disable-pthreads (llvm.org/PR11974) | |
| 273 cd "${CLANG_DIR}" | |
| 274 svn revert test/Index/crash-recovery-modules.m | |
| 275 cat << 'EOF' | | |
| 276 --- third_party/llvm/tools/clang/test/Index/crash-recovery-modules.m (revisio
n 202554) | |
| 277 +++ third_party/llvm/tools/clang/test/Index/crash-recovery-modules.m (working
copy) | |
| 278 @@ -12,6 +12,8 @@ | |
| 279 | |
| 280 // REQUIRES: crash-recovery | |
| 281 // REQUIRES: shell | |
| 282 +// XFAIL: * | |
| 283 +// (PR11974) | |
| 284 | |
| 285 @import Crash; | |
| 286 EOF | |
| 287 patch -p4 | |
| 288 cd - | |
| 289 | |
| 290 # Temporary patches to make build on android work. | |
| 291 # Merge LLVM r202793, r203601 | |
| 292 cd "${COMPILER_RT_DIR}" | |
| 293 svn revert lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc | |
| 294 svn revert make/platform/clang_linux.mk | |
| 295 cat << 'EOF' | | |
| 296 Index: compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep
.cc | |
| 297 =================================================================== | |
| 298 --- compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc
(original) | |
| 299 +++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc
Tue Mar 11 15:23:59 2014 | |
| 300 @@ -32,18 +32,10 @@ | |
| 301 // C++ demangling function, as required by Itanium C++ ABI. This is weak, | |
| 302 // because we do not require a C++ ABI library to be linked to a program | |
| 303 // using sanitizers; if it's not present, we'll just use the mangled name. | |
| 304 -// | |
| 305 -// On Android, this is not weak, because we are using shared runtime library | |
| 306 -// AND static libstdc++, and there is no good way to conditionally export | |
| 307 -// __cxa_demangle. By making this a non-weak symbol, we statically link | |
| 308 -// __cxa_demangle into ASan runtime library. | |
| 309 namespace __cxxabiv1 { | |
| 310 - extern "C" | |
| 311 -#if !SANITIZER_ANDROID | |
| 312 - SANITIZER_WEAK_ATTRIBUTE | |
| 313 -#endif | |
| 314 - char *__cxa_demangle(const char *mangled, char *buffer, size_t *length, | |
| 315 - int *status); | |
| 316 + extern "C" SANITIZER_WEAK_ATTRIBUTE | |
| 317 + char *__cxa_demangle(const char *mangled, char *buffer, | |
| 318 + size_t *length, int *status); | |
| 319 } | |
| 320 | |
| 321 namespace __sanitizer { | |
| 322 @@ -55,7 +47,7 @@ static const char *DemangleCXXABI(const | |
| 323 // own demangler (libc++abi's implementation could be adapted so that | |
| 324 // it does not allocate). For now, we just call it anyway, and we leak | |
| 325 // the returned value. | |
| 326 - if (SANITIZER_ANDROID || &__cxxabiv1::__cxa_demangle) | |
| 327 + if (__cxxabiv1::__cxa_demangle) | |
| 328 if (const char *demangled_name = | |
| 329 __cxxabiv1::__cxa_demangle(name, 0, 0, 0)) | |
| 330 return demangled_name; | |
| 331 | |
| 332 Index: compiler-rt/trunk/make/platform/clang_linux.mk | |
| 333 =================================================================== | |
| 334 --- compiler-rt/trunk/make/platform/clang_linux.mk (original) | |
| 335 +++ compiler-rt/trunk/make/platform/clang_linux.mk Tue Mar 4 01:17:38 2014 | |
| 336 @@ -110,9 +110,10 @@ ANDROID_COMMON_FLAGS := -target arm-linu | |
| 337 --sysroot=$(LLVM_ANDROID_TOOLCHAIN_DIR)/sysroot \ | |
| 338 -B$(LLVM_ANDROID_TOOLCHAIN_DIR) | |
| 339 CFLAGS.asan-arm-android := $(CFLAGS) -fPIC -fno-builtin \ | |
| 340 - $(ANDROID_COMMON_FLAGS) -fno-rtti | |
| 341 + $(ANDROID_COMMON_FLAGS) -fno-rtti \ | |
| 342 + -I$(ProjSrcRoot)/third_party/android/include | |
| 343 LDFLAGS.asan-arm-android := $(LDFLAGS) $(ANDROID_COMMON_FLAGS) -ldl -lm -llog \ | |
| 344 - -Wl,-soname=libclang_rt.asan-arm-android.so -Wl,-z,defs | |
| 345 + -lstdc++ -Wl,-soname=libclang_rt.asan-arm-android.so -Wl,-z,defs | |
| 346 | |
| 347 # Use our stub SDK as the sysroot to support more portable building. For now we | |
| 348 # just do this for the core module, because the stub SDK doesn't have | |
| 349 EOF | |
| 350 patch -p2 | |
| 351 cd - | |
| 352 | |
| 353 cd "${LLVM_DIR}" | |
| 354 # Merge LLVM r203635 | |
| 355 cat << 'EOF' | | |
| 356 Index: lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp | |
| 357 =================================================================== | |
| 358 --- lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp | |
| 359 +++ lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp | |
| 360 @@ -54,4 +54,7 @@ | |
| 361 UseParensForSymbolVariant = true; | |
| 362 | |
| 363 UseIntegratedAssembler = true; | |
| 364 + | |
| 365 + // gas doesn't handle VFP register names in cfi directives. | |
| 366 + DwarfRegNumForCFI = true; | |
| 367 } | |
| 368 Index: test/CodeGen/ARM/debug-frame-large-stack.ll | |
| 369 =================================================================== | |
| 370 --- test/CodeGen/ARM/debug-frame-large-stack.ll | |
| 371 +++ test/CodeGen/ARM/debug-frame-large-stack.ll | |
| 372 @@ -42,8 +42,8 @@ | |
| 373 ; CHECK-ARM: .cfi_startproc | |
| 374 ; CHECK-ARM: push {r4, r5} | |
| 375 ; CHECK-ARM: .cfi_def_cfa_offset 8 | |
| 376 -; CHECK-ARM: .cfi_offset r5, -4 | |
| 377 -; CHECK-ARM: .cfi_offset r4, -8 | |
| 378 +; CHECK-ARM: .cfi_offset 5, -4 | |
| 379 +; CHECK-ARM: .cfi_offset 4, -8 | |
| 380 ; CHECK-ARM: sub sp, sp, #72 | |
| 381 ; CHECK-ARM: sub sp, sp, #4096 | |
| 382 ; CHECK-ARM: .cfi_def_cfa_offset 4176 | |
| 383 @@ -54,7 +54,7 @@ | |
| 384 ; CHECK-ARM-FP_ELIM: push {r4, r5} | |
| 385 ; CHECK-ARM-FP_ELIM: .cfi_def_cfa_offset 8 | |
| 386 ; CHECK-ARM-FP_ELIM: .cfi_offset 54, -4 | |
| 387 -; CHECK-ARM-FP_ELIM: .cfi_offset r4, -8 | |
| 388 +; CHECK-ARM-FP_ELIM: .cfi_offset 4, -8 | |
| 389 ; CHECK-ARM-FP_ELIM: sub sp, sp, #72 | |
| 390 ; CHECK-ARM-FP_ELIM: sub sp, sp, #4096 | |
| 391 ; CHECK-ARM-FP_ELIM: .cfi_def_cfa_offset 4176 | |
| 392 @@ -73,11 +73,11 @@ | |
| 393 ; CHECK-ARM: .cfi_startproc | |
| 394 ; CHECK-ARM: push {r4, r5, r11} | |
| 395 ; CHECK-ARM: .cfi_def_cfa_offset 12 | |
| 396 -; CHECK-ARM: .cfi_offset r11, -4 | |
| 397 -; CHECK-ARM: .cfi_offset r5, -8 | |
| 398 -; CHECK-ARM: .cfi_offset r4, -12 | |
| 399 +; CHECK-ARM: .cfi_offset 11, -4 | |
| 400 +; CHECK-ARM: .cfi_offset 5, -8 | |
| 401 +; CHECK-ARM: .cfi_offset 4, -12 | |
| 402 ; CHECK-ARM: add r11, sp, #8 | |
| 403 -; CHECK-ARM: .cfi_def_cfa r11, 4 | |
| 404 +; CHECK-ARM: .cfi_def_cfa 11, 4 | |
| 405 ; CHECK-ARM: sub sp, sp, #20 | |
| 406 ; CHECK-ARM: sub sp, sp, #805306368 | |
| 407 ; CHECK-ARM: bic sp, sp, #15 | |
| 408 @@ -87,11 +87,11 @@ | |
| 409 ; CHECK-ARM-FP-ELIM: .cfi_startproc | |
| 410 ; CHECK-ARM-FP-ELIM: push {r4, r5, r11} | |
| 411 ; CHECK-ARM-FP-ELIM: .cfi_def_cfa_offset 12 | |
| 412 -; CHECK-ARM-FP-ELIM: .cfi_offset r11, -4 | |
| 413 -; CHECK-ARM-FP-ELIM: .cfi_offset r5, -8 | |
| 414 -; CHECK-ARM-FP-ELIM: .cfi_offset r4, -12 | |
| 415 +; CHECK-ARM-FP-ELIM: .cfi_offset 11, -4 | |
| 416 +; CHECK-ARM-FP-ELIM: .cfi_offset 5, -8 | |
| 417 +; CHECK-ARM-FP-ELIM: .cfi_offset 4, -12 | |
| 418 ; CHECK-ARM-FP-ELIM: add r11, sp, #8 | |
| 419 -; CHECK-ARM-FP-ELIM: .cfi_def_cfa r11, 4 | |
| 420 +; CHECK-ARM-FP-ELIM: .cfi_def_cfa 11, 4 | |
| 421 ; CHECK-ARM-FP-ELIM: sub sp, sp, #20 | |
| 422 ; CHECK-ARM-FP-ELIM: sub sp, sp, #805306368 | |
| 423 ; CHECK-ARM-FP-ELIM: bic sp, sp, #15 | |
| 424 Index: test/CodeGen/ARM/debug-frame-vararg.ll | |
| 425 =================================================================== | |
| 426 --- test/CodeGen/ARM/debug-frame-vararg.ll | |
| 427 +++ test/CodeGen/ARM/debug-frame-vararg.ll | |
| 428 @@ -66,8 +66,8 @@ | |
| 429 ; CHECK-FP: .cfi_def_cfa_offset 16 | |
| 430 ; CHECK-FP: push {r4, lr} | |
| 431 ; CHECK-FP: .cfi_def_cfa_offset 24 | |
| 432 -; CHECK-FP: .cfi_offset lr, -20 | |
| 433 -; CHECK-FP: .cfi_offset r4, -24 | |
| 434 +; CHECK-FP: .cfi_offset 14, -20 | |
| 435 +; CHECK-FP: .cfi_offset 4, -24 | |
| 436 ; CHECK-FP: sub sp, sp, #8 | |
| 437 ; CHECK-FP: .cfi_def_cfa_offset 32 | |
| 438 | |
| 439 @@ -77,22 +77,22 @@ | |
| 440 ; CHECK-FP-ELIM: .cfi_def_cfa_offset 16 | |
| 441 ; CHECK-FP-ELIM: push {r4, r11, lr} | |
| 442 ; CHECK-FP-ELIM: .cfi_def_cfa_offset 28 | |
| 443 -; CHECK-FP-ELIM: .cfi_offset lr, -20 | |
| 444 -; CHECK-FP-ELIM: .cfi_offset r11, -24 | |
| 445 -; CHECK-FP-ELIM: .cfi_offset r4, -28 | |
| 446 +; CHECK-FP-ELIM: .cfi_offset 14, -20 | |
| 447 +; CHECK-FP-ELIM: .cfi_offset 11, -24 | |
| 448 +; CHECK-FP-ELIM: .cfi_offset 4, -28 | |
| 449 ; CHECK-FP-ELIM: add r11, sp, #4 | |
| 450 -; CHECK-FP-ELIM: .cfi_def_cfa r11, 24 | |
| 451 +; CHECK-FP-ELIM: .cfi_def_cfa 11, 24 | |
| 452 | |
| 453 ; CHECK-THUMB-FP-LABEL: sum | |
| 454 ; CHECK-THUMB-FP: .cfi_startproc | |
| 455 ; CHECK-THUMB-FP: sub sp, #16 | |
| 456 ; CHECK-THUMB-FP: .cfi_def_cfa_offset 16 | |
| 457 ; CHECK-THUMB-FP: push {r4, r5, r7, lr} | |
| 458 ; CHECK-THUMB-FP: .cfi_def_cfa_offset 32 | |
| 459 -; CHECK-THUMB-FP: .cfi_offset lr, -20 | |
| 460 -; CHECK-THUMB-FP: .cfi_offset r7, -24 | |
| 461 -; CHECK-THUMB-FP: .cfi_offset r5, -28 | |
| 462 -; CHECK-THUMB-FP: .cfi_offset r4, -32 | |
| 463 +; CHECK-THUMB-FP: .cfi_offset 14, -20 | |
| 464 +; CHECK-THUMB-FP: .cfi_offset 7, -24 | |
| 465 +; CHECK-THUMB-FP: .cfi_offset 5, -28 | |
| 466 +; CHECK-THUMB-FP: .cfi_offset 4, -32 | |
| 467 ; CHECK-THUMB-FP: sub sp, #8 | |
| 468 ; CHECK-THUMB-FP: .cfi_def_cfa_offset 40 | |
| 469 | |
| 470 @@ -102,12 +102,12 @@ | |
| 471 ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 16 | |
| 472 ; CHECK-THUMB-FP-ELIM: push {r4, r5, r7, lr} | |
| 473 ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 32 | |
| 474 -; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -20 | |
| 475 -; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -24 | |
| 476 -; CHECK-THUMB-FP-ELIM: .cfi_offset r5, -28 | |
| 477 -; CHECK-THUMB-FP-ELIM: .cfi_offset r4, -32 | |
| 478 +; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -20 | |
| 479 +; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -24 | |
| 480 +; CHECK-THUMB-FP-ELIM: .cfi_offset 5, -28 | |
| 481 +; CHECK-THUMB-FP-ELIM: .cfi_offset 4, -32 | |
| 482 ; CHECK-THUMB-FP-ELIM: add r7, sp, #8 | |
| 483 -; CHECK-THUMB-FP-ELIM: .cfi_def_cfa r7, 24 | |
| 484 +; CHECK-THUMB-FP-ELIM: .cfi_def_cfa 7, 24 | |
| 485 | |
| 486 define i32 @sum(i32 %count, ...) { | |
| 487 entry: | |
| 488 Index: test/CodeGen/ARM/debug-frame.ll | |
| 489 =================================================================== | |
| 490 --- test/CodeGen/ARM/debug-frame.ll | |
| 491 +++ test/CodeGen/ARM/debug-frame.ll | |
| 492 @@ -163,131 +163,131 @@ | |
| 493 ; CHECK-FP: .cfi_startproc | |
| 494 ; CHECK-FP: push {r4, r5, r6, r7, r8, r9, r10, r11, lr} | |
| 495 ; CHECK-FP: .cfi_def_cfa_offset 36 | |
| 496 -; CHECK-FP: .cfi_offset lr, -4 | |
| 497 -; CHECK-FP: .cfi_offset r11, -8 | |
| 498 -; CHECK-FP: .cfi_offset r10, -12 | |
| 499 -; CHECK-FP: .cfi_offset r9, -16 | |
| 500 -; CHECK-FP: .cfi_offset r8, -20 | |
| 501 -; CHECK-FP: .cfi_offset r7, -24 | |
| 502 -; CHECK-FP: .cfi_offset r6, -28 | |
| 503 -; CHECK-FP: .cfi_offset r5, -32 | |
| 504 -; CHECK-FP: .cfi_offset r4, -36 | |
| 505 +; CHECK-FP: .cfi_offset 14, -4 | |
| 506 +; CHECK-FP: .cfi_offset 11, -8 | |
| 507 +; CHECK-FP: .cfi_offset 10, -12 | |
| 508 +; CHECK-FP: .cfi_offset 9, -16 | |
| 509 +; CHECK-FP: .cfi_offset 8, -20 | |
| 510 +; CHECK-FP: .cfi_offset 7, -24 | |
| 511 +; CHECK-FP: .cfi_offset 6, -28 | |
| 512 +; CHECK-FP: .cfi_offset 5, -32 | |
| 513 +; CHECK-FP: .cfi_offset 4, -36 | |
| 514 ; CHECK-FP: add r11, sp, #28 | |
| 515 -; CHECK-FP: .cfi_def_cfa r11, 8 | |
| 516 +; CHECK-FP: .cfi_def_cfa 11, 8 | |
| 517 ; CHECK-FP: sub sp, sp, #28 | |
| 518 ; CHECK-FP: .cfi_endproc | |
| 519 | |
| 520 ; CHECK-FP-ELIM-LABEL: _Z4testiiiiiddddd: | |
| 521 ; CHECK-FP-ELIM: .cfi_startproc | |
| 522 ; CHECK-FP-ELIM: push {r4, r5, r6, r7, r8, r9, r10, r11, lr} | |
| 523 ; CHECK-FP-ELIM: .cfi_def_cfa_offset 36 | |
| 524 -; CHECK-FP-ELIM: .cfi_offset lr, -4 | |
| 525 -; CHECK-FP-ELIM: .cfi_offset r11, -8 | |
| 526 -; CHECK-FP-ELIM: .cfi_offset r10, -12 | |
| 527 -; CHECK-FP-ELIM: .cfi_offset r9, -16 | |
| 528 -; CHECK-FP-ELIM: .cfi_offset r8, -20 | |
| 529 -; CHECK-FP-ELIM: .cfi_offset r7, -24 | |
| 530 -; CHECK-FP-ELIM: .cfi_offset r6, -28 | |
| 531 -; CHECK-FP-ELIM: .cfi_offset r5, -32 | |
| 532 -; CHECK-FP-ELIM: .cfi_offset r4, -36 | |
| 533 +; CHECK-FP-ELIM: .cfi_offset 14, -4 | |
| 534 +; CHECK-FP-ELIM: .cfi_offset 11, -8 | |
| 535 +; CHECK-FP-ELIM: .cfi_offset 10, -12 | |
| 536 +; CHECK-FP-ELIM: .cfi_offset 9, -16 | |
| 537 +; CHECK-FP-ELIM: .cfi_offset 8, -20 | |
| 538 +; CHECK-FP-ELIM: .cfi_offset 7, -24 | |
| 539 +; CHECK-FP-ELIM: .cfi_offset 6, -28 | |
| 540 +; CHECK-FP-ELIM: .cfi_offset 5, -32 | |
| 541 +; CHECK-FP-ELIM: .cfi_offset 4, -36 | |
| 542 ; CHECK-FP-ELIM: sub sp, sp, #28 | |
| 543 ; CHECK-FP-ELIM: .cfi_def_cfa_offset 64 | |
| 544 ; CHECK-FP-ELIM: .cfi_endproc | |
| 545 | |
| 546 ; CHECK-V7-FP-LABEL: _Z4testiiiiiddddd: | |
| 547 ; CHECK-V7-FP: .cfi_startproc | |
| 548 ; CHECK-V7-FP: push {r4, r11, lr} | |
| 549 ; CHECK-V7-FP: .cfi_def_cfa_offset 12 | |
| 550 -; CHECK-V7-FP: .cfi_offset lr, -4 | |
| 551 -; CHECK-V7-FP: .cfi_offset r11, -8 | |
| 552 -; CHECK-V7-FP: .cfi_offset r4, -12 | |
| 553 +; CHECK-V7-FP: .cfi_offset 14, -4 | |
| 554 +; CHECK-V7-FP: .cfi_offset 11, -8 | |
| 555 +; CHECK-V7-FP: .cfi_offset 4, -12 | |
| 556 ; CHECK-V7-FP: add r11, sp, #4 | |
| 557 -; CHECK-V7-FP: .cfi_def_cfa r11, 8 | |
| 558 +; CHECK-V7-FP: .cfi_def_cfa 11, 8 | |
| 559 ; CHECK-V7-FP: vpush {d8, d9, d10, d11, d12} | |
| 560 -; CHECK-V7-FP: .cfi_offset d12, -24 | |
| 561 -; CHECK-V7-FP: .cfi_offset d11, -32 | |
| 562 -; CHECK-V7-FP: .cfi_offset d10, -40 | |
| 563 -; CHECK-V7-FP: .cfi_offset d9, -48 | |
| 564 -; CHECK-V7-FP: .cfi_offset d8, -56 | |
| 565 +; CHECK-V7-FP: .cfi_offset 268, -24 | |
| 566 +; CHECK-V7-FP: .cfi_offset 267, -32 | |
| 567 +; CHECK-V7-FP: .cfi_offset 266, -40 | |
| 568 +; CHECK-V7-FP: .cfi_offset 265, -48 | |
| 569 +; CHECK-V7-FP: .cfi_offset 264, -56 | |
| 570 ; CHECK-V7-FP: sub sp, sp, #28 | |
| 571 ; CHECK-V7-FP: .cfi_endproc | |
| 572 | |
| 573 ; CHECK-V7-FP-ELIM-LABEL: _Z4testiiiiiddddd: | |
| 574 ; CHECK-V7-FP-ELIM: .cfi_startproc | |
| 575 ; CHECK-V7-FP-ELIM: push {r4, lr} | |
| 576 ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 8 | |
| 577 -; CHECK-V7-FP-ELIM: .cfi_offset lr, -4 | |
| 578 -; CHECK-V7-FP-ELIM: .cfi_offset r4, -8 | |
| 579 +; CHECK-V7-FP-ELIM: .cfi_offset 14, -4 | |
| 580 +; CHECK-V7-FP-ELIM: .cfi_offset 4, -8 | |
| 581 ; CHECK-V7-FP-ELIM: vpush {d8, d9, d10, d11, d12} | |
| 582 ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 48 | |
| 583 -; CHECK-V7-FP-ELIM: .cfi_offset d12, -16 | |
| 584 -; CHECK-V7-FP-ELIM: .cfi_offset d11, -24 | |
| 585 -; CHECK-V7-FP-ELIM: .cfi_offset d10, -32 | |
| 586 -; CHECK-V7-FP-ELIM: .cfi_offset d9, -40 | |
| 587 -; CHECK-V7-FP-ELIM: .cfi_offset d8, -48 | |
| 588 +; CHECK-V7-FP-ELIM: .cfi_offset 268, -16 | |
| 589 +; CHECK-V7-FP-ELIM: .cfi_offset 267, -24 | |
| 590 +; CHECK-V7-FP-ELIM: .cfi_offset 266, -32 | |
| 591 +; CHECK-V7-FP-ELIM: .cfi_offset 265, -40 | |
| 592 +; CHECK-V7-FP-ELIM: .cfi_offset 264, -48 | |
| 593 ; CHECK-V7-FP-ELIM: sub sp, sp, #24 | |
| 594 ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 72 | |
| 595 ; CHECK-V7-FP-ELIM: .cfi_endproc | |
| 596 | |
| 597 ; CHECK-THUMB-FP-LABEL: _Z4testiiiiiddddd: | |
| 598 ; CHECK-THUMB-FP: .cfi_startproc | |
| 599 ; CHECK-THUMB-FP: push {r4, r5, r6, r7, lr} | |
| 600 ; CHECK-THUMB-FP: .cfi_def_cfa_offset 20 | |
| 601 -; CHECK-THUMB-FP: .cfi_offset lr, -4 | |
| 602 -; CHECK-THUMB-FP: .cfi_offset r7, -8 | |
| 603 -; CHECK-THUMB-FP: .cfi_offset r6, -12 | |
| 604 -; CHECK-THUMB-FP: .cfi_offset r5, -16 | |
| 605 -; CHECK-THUMB-FP: .cfi_offset r4, -20 | |
| 606 +; CHECK-THUMB-FP: .cfi_offset 14, -4 | |
| 607 +; CHECK-THUMB-FP: .cfi_offset 7, -8 | |
| 608 +; CHECK-THUMB-FP: .cfi_offset 6, -12 | |
| 609 +; CHECK-THUMB-FP: .cfi_offset 5, -16 | |
| 610 +; CHECK-THUMB-FP: .cfi_offset 4, -20 | |
| 611 ; CHECK-THUMB-FP: add r7, sp, #12 | |
| 612 -; CHECK-THUMB-FP: .cfi_def_cfa r7, 8 | |
| 613 +; CHECK-THUMB-FP: .cfi_def_cfa 7, 8 | |
| 614 ; CHECK-THUMB-FP: sub sp, #60 | |
| 615 ; CHECK-THUMB-FP: .cfi_endproc | |
| 616 | |
| 617 ; CHECK-THUMB-FP-ELIM-LABEL: _Z4testiiiiiddddd: | |
| 618 ; CHECK-THUMB-FP-ELIM: .cfi_startproc | |
| 619 ; CHECK-THUMB-FP-ELIM: push {r4, r5, r6, r7, lr} | |
| 620 ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 20 | |
| 621 -; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -4 | |
| 622 -; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -8 | |
| 623 -; CHECK-THUMB-FP-ELIM: .cfi_offset r6, -12 | |
| 624 -; CHECK-THUMB-FP-ELIM: .cfi_offset r5, -16 | |
| 625 -; CHECK-THUMB-FP-ELIM: .cfi_offset r4, -20 | |
| 626 +; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -4 | |
| 627 +; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -8 | |
| 628 +; CHECK-THUMB-FP-ELIM: .cfi_offset 6, -12 | |
| 629 +; CHECK-THUMB-FP-ELIM: .cfi_offset 5, -16 | |
| 630 +; CHECK-THUMB-FP-ELIM: .cfi_offset 4, -20 | |
| 631 ; CHECK-THUMB-FP-ELIM: sub sp, #60 | |
| 632 ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 80 | |
| 633 ; CHECK-THUMB-FP-ELIM: .cfi_endproc | |
| 634 | |
| 635 ; CHECK-THUMB-V7-FP-LABEL: _Z4testiiiiiddddd: | |
| 636 ; CHECK-THUMB-V7-FP: .cfi_startproc | |
| 637 ; CHECK-THUMB-V7-FP: push.w {r4, r7, r11, lr} | |
| 638 ; CHECK-THUMB-V7-FP: .cfi_def_cfa_offset 16 | |
| 639 -; CHECK-THUMB-V7-FP: .cfi_offset lr, -4 | |
| 640 -; CHECK-THUMB-V7-FP: .cfi_offset r11, -8 | |
| 641 -; CHECK-THUMB-V7-FP: .cfi_offset r7, -12 | |
| 642 -; CHECK-THUMB-V7-FP: .cfi_offset r4, -16 | |
| 643 +; CHECK-THUMB-V7-FP: .cfi_offset 14, -4 | |
| 644 +; CHECK-THUMB-V7-FP: .cfi_offset 11, -8 | |
| 645 +; CHECK-THUMB-V7-FP: .cfi_offset 7, -12 | |
| 646 +; CHECK-THUMB-V7-FP: .cfi_offset 4, -16 | |
| 647 ; CHECK-THUMB-V7-FP: add r7, sp, #4 | |
| 648 -; CHECK-THUMB-V7-FP: .cfi_def_cfa r7, 12 | |
| 649 +; CHECK-THUMB-V7-FP: .cfi_def_cfa 7, 12 | |
| 650 ; CHECK-THUMB-V7-FP: vpush {d8, d9, d10, d11, d12} | |
| 651 -; CHECK-THUMB-V7-FP: .cfi_offset d12, -24 | |
| 652 -; CHECK-THUMB-V7-FP: .cfi_offset d11, -32 | |
| 653 -; CHECK-THUMB-V7-FP: .cfi_offset d10, -40 | |
| 654 -; CHECK-THUMB-V7-FP: .cfi_offset d9, -48 | |
| 655 -; CHECK-THUMB-V7-FP: .cfi_offset d8, -56 | |
| 656 +; CHECK-THUMB-V7-FP: .cfi_offset 268, -24 | |
| 657 +; CHECK-THUMB-V7-FP: .cfi_offset 267, -32 | |
| 658 +; CHECK-THUMB-V7-FP: .cfi_offset 266, -40 | |
| 659 +; CHECK-THUMB-V7-FP: .cfi_offset 265, -48 | |
| 660 +; CHECK-THUMB-V7-FP: .cfi_offset 264, -56 | |
| 661 ; CHECK-THUMB-V7-FP: sub sp, #24 | |
| 662 ; CHECK-THUMB-V7-FP: .cfi_endproc | |
| 663 | |
| 664 ; CHECK-THUMB-V7-FP-ELIM-LABEL: _Z4testiiiiiddddd: | |
| 665 ; CHECK-THUMB-V7-FP-ELIM: .cfi_startproc | |
| 666 ; CHECK-THUMB-V7-FP-ELIM: push {r4, lr} | |
| 667 ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 8 | |
| 668 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset lr, -4 | |
| 669 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r4, -8 | |
| 670 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 14, -4 | |
| 671 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 4, -8 | |
| 672 ; CHECK-THUMB-V7-FP-ELIM: vpush {d8, d9, d10, d11, d12} | |
| 673 ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 48 | |
| 674 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d12, -16 | |
| 675 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d11, -24 | |
| 676 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d10, -32 | |
| 677 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d9, -40 | |
| 678 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d8, -48 | |
| 679 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 268, -16 | |
| 680 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 267, -24 | |
| 681 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 266, -32 | |
| 682 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 265, -40 | |
| 683 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 264, -48 | |
| 684 ; CHECK-THUMB-V7-FP-ELIM: sub sp, #24 | |
| 685 ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 72 | |
| 686 ; CHECK-THUMB-V7-FP-ELIM: .cfi_endproc | |
| 687 @@ -309,81 +309,81 @@ | |
| 688 ; CHECK-FP: .cfi_startproc | |
| 689 ; CHECK-FP: push {r11, lr} | |
| 690 ; CHECK-FP: .cfi_def_cfa_offset 8 | |
| 691 -; CHECK-FP: .cfi_offset lr, -4 | |
| 692 -; CHECK-FP: .cfi_offset r11, -8 | |
| 693 +; CHECK-FP: .cfi_offset 14, -4 | |
| 694 +; CHECK-FP: .cfi_offset 11, -8 | |
| 695 ; CHECK-FP: mov r11, sp | |
| 696 -; CHECK-FP: .cfi_def_cfa_register r11 | |
| 697 +; CHECK-FP: .cfi_def_cfa_register 11 | |
| 698 ; CHECK-FP: pop {r11, lr} | |
| 699 ; CHECK-FP: mov pc, lr | |
| 700 ; CHECK-FP: .cfi_endproc | |
| 701 | |
| 702 ; CHECK-FP-ELIM-LABEL: test2: | |
| 703 ; CHECK-FP-ELIM: .cfi_startproc | |
| 704 ; CHECK-FP-ELIM: push {r11, lr} | |
| 705 ; CHECK-FP-ELIM: .cfi_def_cfa_offset 8 | |
| 706 -; CHECK-FP-ELIM: .cfi_offset lr, -4 | |
| 707 -; CHECK-FP-ELIM: .cfi_offset r11, -8 | |
| 708 +; CHECK-FP-ELIM: .cfi_offset 14, -4 | |
| 709 +; CHECK-FP-ELIM: .cfi_offset 11, -8 | |
| 710 ; CHECK-FP-ELIM: pop {r11, lr} | |
| 711 ; CHECK-FP-ELIM: mov pc, lr | |
| 712 ; CHECK-FP-ELIM: .cfi_endproc | |
| 713 | |
| 714 ; CHECK-V7-FP-LABEL: test2: | |
| 715 ; CHECK-V7-FP: .cfi_startproc | |
| 716 ; CHECK-V7-FP: push {r11, lr} | |
| 717 ; CHECK-V7-FP: .cfi_def_cfa_offset 8 | |
| 718 -; CHECK-V7-FP: .cfi_offset lr, -4 | |
| 719 -; CHECK-V7-FP: .cfi_offset r11, -8 | |
| 720 +; CHECK-V7-FP: .cfi_offset 14, -4 | |
| 721 +; CHECK-V7-FP: .cfi_offset 11, -8 | |
| 722 ; CHECK-V7-FP: mov r11, sp | |
| 723 -; CHECK-V7-FP: .cfi_def_cfa_register r11 | |
| 724 +; CHECK-V7-FP: .cfi_def_cfa_register 11 | |
| 725 ; CHECK-V7-FP: pop {r11, pc} | |
| 726 ; CHECK-V7-FP: .cfi_endproc | |
| 727 | |
| 728 ; CHECK-V7-FP-ELIM-LABEL: test2: | |
| 729 ; CHECK-V7-FP-ELIM: .cfi_startproc | |
| 730 ; CHECK-V7-FP-ELIM: push {r11, lr} | |
| 731 ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 8 | |
| 732 -; CHECK-V7-FP-ELIM: .cfi_offset lr, -4 | |
| 733 -; CHECK-V7-FP-ELIM: .cfi_offset r11, -8 | |
| 734 +; CHECK-V7-FP-ELIM: .cfi_offset 14, -4 | |
| 735 +; CHECK-V7-FP-ELIM: .cfi_offset 11, -8 | |
| 736 ; CHECK-V7-FP-ELIM: pop {r11, pc} | |
| 737 ; CHECK-V7-FP-ELIM: .cfi_endproc | |
| 738 | |
| 739 ; CHECK-THUMB-FP-LABEL: test2: | |
| 740 ; CHECK-THUMB-FP: .cfi_startproc | |
| 741 ; CHECK-THUMB-FP: push {r7, lr} | |
| 742 ; CHECK-THUMB-FP: .cfi_def_cfa_offset 8 | |
| 743 -; CHECK-THUMB-FP: .cfi_offset lr, -4 | |
| 744 -; CHECK-THUMB-FP: .cfi_offset r7, -8 | |
| 745 +; CHECK-THUMB-FP: .cfi_offset 14, -4 | |
| 746 +; CHECK-THUMB-FP: .cfi_offset 7, -8 | |
| 747 ; CHECK-THUMB-FP: add r7, sp, #0 | |
| 748 -; CHECK-THUMB-FP: .cfi_def_cfa_register r7 | |
| 749 +; CHECK-THUMB-FP: .cfi_def_cfa_register 7 | |
| 750 ; CHECK-THUMB-FP: pop {r7, pc} | |
| 751 ; CHECK-THUMB-FP: .cfi_endproc | |
| 752 | |
| 753 ; CHECK-THUMB-FP-ELIM-LABEL: test2: | |
| 754 ; CHECK-THUMB-FP-ELIM: .cfi_startproc | |
| 755 ; CHECK-THUMB-FP-ELIM: push {r7, lr} | |
| 756 ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 8 | |
| 757 -; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -4 | |
| 758 -; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -8 | |
| 759 +; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -4 | |
| 760 +; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -8 | |
| 761 ; CHECK-THUMB-FP-ELIM: pop {r7, pc} | |
| 762 ; CHECK-THUMB-FP-ELIM: .cfi_endproc | |
| 763 | |
| 764 ; CHECK-THUMB-V7-FP-LABEL: test2: | |
| 765 ; CHECK-THUMB-V7-FP: .cfi_startproc | |
| 766 ; CHECK-THUMB-V7-FP: push {r7, lr} | |
| 767 ; CHECK-THUMB-V7-FP: .cfi_def_cfa_offset 8 | |
| 768 -; CHECK-THUMB-V7-FP: .cfi_offset lr, -4 | |
| 769 -; CHECK-THUMB-V7-FP: .cfi_offset r7, -8 | |
| 770 +; CHECK-THUMB-V7-FP: .cfi_offset 14, -4 | |
| 771 +; CHECK-THUMB-V7-FP: .cfi_offset 7, -8 | |
| 772 ; CHECK-THUMB-V7-FP: mov r7, sp | |
| 773 -; CHECK-THUMB-V7-FP: .cfi_def_cfa_register r7 | |
| 774 +; CHECK-THUMB-V7-FP: .cfi_def_cfa_register 7 | |
| 775 ; CHECK-THUMB-V7-FP: pop {r7, pc} | |
| 776 ; CHECK-THUMB-V7-FP: .cfi_endproc | |
| 777 | |
| 778 ; CHECK-THUMB-V7-FP-ELIM-LABEL: test2: | |
| 779 ; CHECK-THUMB-V7-FP-ELIM: .cfi_startproc | |
| 780 ; CHECK-THUMB-V7-FP-ELIM: push.w {r11, lr} | |
| 781 ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 8 | |
| 782 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset lr, -4 | |
| 783 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r11, -8 | |
| 784 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 14, -4 | |
| 785 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 11, -8 | |
| 786 ; CHECK-THUMB-V7-FP-ELIM: pop.w {r11, pc} | |
| 787 ; CHECK-THUMB-V7-FP-ELIM: .cfi_endproc | |
| 788 | |
| 789 @@ -413,97 +413,97 @@ | |
| 790 ; CHECK-FP: .cfi_startproc | |
| 791 ; CHECK-FP: push {r4, r5, r11, lr} | |
| 792 ; CHECK-FP: .cfi_def_cfa_offset 16 | |
| 793 -; CHECK-FP: .cfi_offset lr, -4 | |
| 794 -; CHECK-FP: .cfi_offset r11, -8 | |
| 795 -; CHECK-FP: .cfi_offset r5, -12 | |
| 796 -; CHECK-FP: .cfi_offset r4, -16 | |
| 797 +; CHECK-FP: .cfi_offset 14, -4 | |
| 798 +; CHECK-FP: .cfi_offset 11, -8 | |
| 799 +; CHECK-FP: .cfi_offset 5, -12 | |
| 800 +; CHECK-FP: .cfi_offset 4, -16 | |
| 801 ; CHECK-FP: add r11, sp, #8 | |
| 802 -; CHECK-FP: .cfi_def_cfa r11, 8 | |
| 803 +; CHECK-FP: .cfi_def_cfa 11, 8 | |
| 804 ; CHECK-FP: pop {r4, r5, r11, lr} | |
| 805 ; CHECK-FP: mov pc, lr | |
| 806 ; CHECK-FP: .cfi_endproc | |
| 807 | |
| 808 ; CHECK-FP-ELIM-LABEL: test3: | |
| 809 ; CHECK-FP-ELIM: .cfi_startproc | |
| 810 ; CHECK-FP-ELIM: push {r4, r5, r11, lr} | |
| 811 ; CHECK-FP-ELIM: .cfi_def_cfa_offset 16 | |
| 812 -; CHECK-FP-ELIM: .cfi_offset lr, -4 | |
| 813 -; CHECK-FP-ELIM: .cfi_offset r11, -8 | |
| 814 -; CHECK-FP-ELIM: .cfi_offset r5, -12 | |
| 815 -; CHECK-FP-ELIM: .cfi_offset r4, -16 | |
| 816 +; CHECK-FP-ELIM: .cfi_offset 14, -4 | |
| 817 +; CHECK-FP-ELIM: .cfi_offset 11, -8 | |
| 818 +; CHECK-FP-ELIM: .cfi_offset 5, -12 | |
| 819 +; CHECK-FP-ELIM: .cfi_offset 4, -16 | |
| 820 ; CHECK-FP-ELIM: pop {r4, r5, r11, lr} | |
| 821 ; CHECK-FP-ELIM: mov pc, lr | |
| 822 ; CHECK-FP-ELIM: .cfi_endproc | |
| 823 | |
| 824 ; CHECK-V7-FP-LABEL: test3: | |
| 825 ; CHECK-V7-FP: .cfi_startproc | |
| 826 ; CHECK-V7-FP: push {r4, r5, r11, lr} | |
| 827 ; CHECK-V7-FP: .cfi_def_cfa_offset 16 | |
| 828 -; CHECK-V7-FP: .cfi_offset lr, -4 | |
| 829 -; CHECK-V7-FP: .cfi_offset r11, -8 | |
| 830 -; CHECK-V7-FP: .cfi_offset r5, -12 | |
| 831 -; CHECK-V7-FP: .cfi_offset r4, -16 | |
| 832 +; CHECK-V7-FP: .cfi_offset 14, -4 | |
| 833 +; CHECK-V7-FP: .cfi_offset 11, -8 | |
| 834 +; CHECK-V7-FP: .cfi_offset 5, -12 | |
| 835 +; CHECK-V7-FP: .cfi_offset 4, -16 | |
| 836 ; CHECK-V7-FP: add r11, sp, #8 | |
| 837 -; CHECK-V7-FP: .cfi_def_cfa r11, 8 | |
| 838 +; CHECK-V7-FP: .cfi_def_cfa 11, 8 | |
| 839 ; CHECK-V7-FP: pop {r4, r5, r11, pc} | |
| 840 ; CHECK-V7-FP: .cfi_endproc | |
| 841 | |
| 842 ; CHECK-V7-FP-ELIM-LABEL: test3: | |
| 843 ; CHECK-V7-FP-ELIM: .cfi_startproc | |
| 844 ; CHECK-V7-FP-ELIM: push {r4, r5, r11, lr} | |
| 845 ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 16 | |
| 846 -; CHECK-V7-FP-ELIM: .cfi_offset lr, -4 | |
| 847 -; CHECK-V7-FP-ELIM: .cfi_offset r11, -8 | |
| 848 -; CHECK-V7-FP-ELIM: .cfi_offset r5, -12 | |
| 849 -; CHECK-V7-FP-ELIM: .cfi_offset r4, -16 | |
| 850 +; CHECK-V7-FP-ELIM: .cfi_offset 14, -4 | |
| 851 +; CHECK-V7-FP-ELIM: .cfi_offset 11, -8 | |
| 852 +; CHECK-V7-FP-ELIM: .cfi_offset 5, -12 | |
| 853 +; CHECK-V7-FP-ELIM: .cfi_offset 4, -16 | |
| 854 ; CHECK-V7-FP-ELIM: pop {r4, r5, r11, pc} | |
| 855 ; CHECK-V7-FP-ELIM: .cfi_endproc | |
| 856 | |
| 857 ; CHECK-THUMB-FP-LABEL: test3: | |
| 858 ; CHECK-THUMB-FP: .cfi_startproc | |
| 859 ; CHECK-THUMB-FP: push {r4, r5, r7, lr} | |
| 860 ; CHECK-THUMB-FP: .cfi_def_cfa_offset 16 | |
| 861 -; CHECK-THUMB-FP: .cfi_offset lr, -4 | |
| 862 -; CHECK-THUMB-FP: .cfi_offset r7, -8 | |
| 863 -; CHECK-THUMB-FP: .cfi_offset r5, -12 | |
| 864 -; CHECK-THUMB-FP: .cfi_offset r4, -16 | |
| 865 +; CHECK-THUMB-FP: .cfi_offset 14, -4 | |
| 866 +; CHECK-THUMB-FP: .cfi_offset 7, -8 | |
| 867 +; CHECK-THUMB-FP: .cfi_offset 5, -12 | |
| 868 +; CHECK-THUMB-FP: .cfi_offset 4, -16 | |
| 869 ; CHECK-THUMB-FP: add r7, sp, #8 | |
| 870 -; CHECK-THUMB-FP: .cfi_def_cfa r7, 8 | |
| 871 +; CHECK-THUMB-FP: .cfi_def_cfa 7, 8 | |
| 872 ; CHECK-THUMB-FP: pop {r4, r5, r7, pc} | |
| 873 ; CHECK-THUMB-FP: .cfi_endproc | |
| 874 | |
| 875 ; CHECK-THUMB-FP-ELIM-LABEL: test3: | |
| 876 ; CHECK-THUMB-FP-ELIM: .cfi_startproc | |
| 877 ; CHECK-THUMB-FP-ELIM: push {r4, r5, r7, lr} | |
| 878 ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 16 | |
| 879 -; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -4 | |
| 880 -; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -8 | |
| 881 -; CHECK-THUMB-FP-ELIM: .cfi_offset r5, -12 | |
| 882 -; CHECK-THUMB-FP-ELIM: .cfi_offset r4, -16 | |
| 883 +; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -4 | |
| 884 +; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -8 | |
| 885 +; CHECK-THUMB-FP-ELIM: .cfi_offset 5, -12 | |
| 886 +; CHECK-THUMB-FP-ELIM: .cfi_offset 4, -16 | |
| 887 ; CHECK-THUMB-FP-ELIM: pop {r4, r5, r7, pc} | |
| 888 ; CHECK-THUMB-FP-ELIM: .cfi_endproc | |
| 889 | |
| 890 ; CHECK-THUMB-V7-FP-LABEL: test3: | |
| 891 ; CHECK-THUMB-V7-FP: .cfi_startproc | |
| 892 ; CHECK-THUMB-V7-FP: push {r4, r5, r7, lr} | |
| 893 ; CHECK-THUMB-V7-FP: .cfi_def_cfa_offset 16 | |
| 894 -; CHECK-THUMB-V7-FP: .cfi_offset lr, -4 | |
| 895 -; CHECK-THUMB-V7-FP: .cfi_offset r7, -8 | |
| 896 -; CHECK-THUMB-V7-FP: .cfi_offset r5, -12 | |
| 897 -; CHECK-THUMB-V7-FP: .cfi_offset r4, -16 | |
| 898 +; CHECK-THUMB-V7-FP: .cfi_offset 14, -4 | |
| 899 +; CHECK-THUMB-V7-FP: .cfi_offset 7, -8 | |
| 900 +; CHECK-THUMB-V7-FP: .cfi_offset 5, -12 | |
| 901 +; CHECK-THUMB-V7-FP: .cfi_offset 4, -16 | |
| 902 ; CHECK-THUMB-V7-FP: add r7, sp, #8 | |
| 903 -; CHECK-THUMB-V7-FP: .cfi_def_cfa r7, 8 | |
| 904 +; CHECK-THUMB-V7-FP: .cfi_def_cfa 7, 8 | |
| 905 ; CHECK-THUMB-V7-FP: pop {r4, r5, r7, pc} | |
| 906 ; CHECK-THUMB-V7-FP: .cfi_endproc | |
| 907 | |
| 908 ; CHECK-THUMB-V7-FP-ELIM-LABEL: test3: | |
| 909 ; CHECK-THUMB-V7-FP-ELIM: .cfi_startproc | |
| 910 ; CHECK-THUMB-V7-FP-ELIM: push.w {r4, r5, r11, lr} | |
| 911 ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 16 | |
| 912 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset lr, -4 | |
| 913 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r11, -8 | |
| 914 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r5, -12 | |
| 915 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r4, -16 | |
| 916 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 14, -4 | |
| 917 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 11, -8 | |
| 918 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 5, -12 | |
| 919 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 4, -16 | |
| 920 ; CHECK-THUMB-V7-FP-ELIM: pop.w {r4, r5, r11, pc} | |
| 921 ; CHECK-THUMB-V7-FP-ELIM: .cfi_endproc | |
| 922 | |
| 923 EOF | |
| 924 patch -p0 | |
| 925 cd - | |
| 926 | |
| 927 # Echo all commands. | 262 # Echo all commands. |
| 928 set -x | 263 set -x |
| 929 | 264 |
| 930 NUM_JOBS=3 | 265 NUM_JOBS=3 |
| 931 if [[ "${OS}" = "Linux" ]]; then | 266 if [[ "${OS}" = "Linux" ]]; then |
| 932 NUM_JOBS="$(grep -c "^processor" /proc/cpuinfo)" | 267 NUM_JOBS="$(grep -c "^processor" /proc/cpuinfo)" |
| 933 elif [ "${OS}" = "Darwin" -o "${OS}" = "FreeBSD" ]; then | 268 elif [ "${OS}" = "Darwin" -o "${OS}" = "FreeBSD" ]; then |
| 934 NUM_JOBS="$(sysctl -n hw.ncpu)" | 269 NUM_JOBS="$(sysctl -n hw.ncpu)" |
| 935 fi | 270 fi |
| 936 | 271 |
| 937 if [[ -n "${gcc_toolchain}" ]]; then | 272 if [[ -n "${gcc_toolchain}" ]]; then |
| 938 # Use the specified gcc installation for building. | 273 # Use the specified gcc installation for building. |
| 939 export CC="$gcc_toolchain/bin/gcc" | 274 export CC="$gcc_toolchain/bin/gcc" |
| 940 export CXX="$gcc_toolchain/bin/g++" | 275 export CXX="$gcc_toolchain/bin/g++" |
| 941 fi | 276 fi |
| 942 | 277 |
| 943 export CFLAGS="" | 278 export CFLAGS="" |
| 944 export CXXFLAGS="" | 279 export CXXFLAGS="" |
| 945 # LLVM uses C++11 starting in llvm 3.5. On Linux, this means libstdc++4.7+ is | |
| 946 # needed, on OS X it requires libc++. clang only automatically links to libc++ | |
| 947 # when targeting OS X 10.9+, so add stdlib=libc++ explicitly so clang can run on | |
| 948 # OS X versions as old as 10.7. | |
| 949 if [ "${OS}" = "Darwin" ]; then | |
| 950 CXXFLAGS="-stdlib=libc++" | |
| 951 fi | |
| 952 | 280 |
| 953 # Build bootstrap clang if requested. | 281 # Build bootstrap clang if requested. |
| 954 if [[ -n "${bootstrap}" ]]; then | 282 if [[ -n "${bootstrap}" ]]; then |
| 955 ABS_INSTALL_DIR="${PWD}/${LLVM_BOOTSTRAP_INSTALL_DIR}" | |
| 956 echo "Building bootstrap compiler" | 283 echo "Building bootstrap compiler" |
| 957 mkdir -p "${LLVM_BOOTSTRAP_DIR}" | 284 mkdir -p "${LLVM_BOOTSTRAP_DIR}" |
| 958 cd "${LLVM_BOOTSTRAP_DIR}" | 285 cd "${LLVM_BOOTSTRAP_DIR}" |
| 959 if [[ ! -f ./config.status ]]; then | 286 if [[ ! -f ./config.status ]]; then |
| 960 # The bootstrap compiler only needs to be able to build the real compiler, | 287 # The bootstrap compiler only needs to be able to build the real compiler, |
| 961 # so it needs no cross-compiler output support. In general, the host | 288 # so it needs no cross-compiler output support. In general, the host |
| 962 # compiler should be as similar to the final compiler as possible, so do | 289 # compiler should be as similar to the final compiler as possible, so do |
| 963 # keep --disable-threads & co. | 290 # keep --disable-threads & co. |
| 964 ../llvm/configure \ | 291 ../llvm/configure \ |
| 965 --enable-optimized \ | 292 --enable-optimized \ |
| 966 --enable-targets=host-only \ | 293 --enable-targets=host-only \ |
| 967 --disable-threads \ | 294 --disable-threads \ |
| 968 --disable-pthreads \ | 295 --disable-pthreads \ |
| 969 --without-llvmgcc \ | 296 --without-llvmgcc \ |
| 970 --without-llvmgxx \ | 297 --without-llvmgxx |
| 971 --prefix="${ABS_INSTALL_DIR}" | |
| 972 fi | 298 fi |
| 973 | 299 |
| 974 MACOSX_DEPLOYMENT_TARGET=10.7 ${MAKE} -j"${NUM_JOBS}" | 300 if [[ -n "${gcc_toolchain}" ]]; then |
| 301 # Copy that gcc's stdlibc++.so.6 to the build dir, so the bootstrap |
| 302 # compiler can start. |
| 303 mkdir -p Release+Asserts/lib |
| 304 cp -v "$(${CXX} -print-file-name=libstdc++.so.6)" \ |
| 305 "Release+Asserts/lib/" |
| 306 fi |
| 307 |
| 308 |
| 309 MACOSX_DEPLOYMENT_TARGET=10.5 ${MAKE} -j"${NUM_JOBS}" |
| 975 if [[ -n "${run_tests}" ]]; then | 310 if [[ -n "${run_tests}" ]]; then |
| 976 ${MAKE} check-all | 311 ${MAKE} check-all |
| 977 fi | 312 fi |
| 978 | |
| 979 MACOSX_DEPLOYMENT_TARGET=10.7 ${MAKE} install | |
| 980 if [[ -n "${gcc_toolchain}" ]]; then | |
| 981 # Copy that gcc's stdlibc++.so.6 to the build dir, so the bootstrap | |
| 982 # compiler can start. | |
| 983 cp -v "$(${CXX} -print-file-name=libstdc++.so.6)" \ | |
| 984 "${ABS_INSTALL_DIR}/lib/" | |
| 985 fi | |
| 986 | |
| 987 cd - | 313 cd - |
| 988 export CC="${ABS_INSTALL_DIR}/bin/clang" | 314 export CC="${PWD}/${LLVM_BOOTSTRAP_DIR}/Release+Asserts/bin/clang" |
| 989 export CXX="${ABS_INSTALL_DIR}/bin/clang++" | 315 export CXX="${PWD}/${LLVM_BOOTSTRAP_DIR}/Release+Asserts/bin/clang++" |
| 990 | 316 |
| 991 if [[ -n "${gcc_toolchain}" ]]; then | 317 if [[ -n "${gcc_toolchain}" ]]; then |
| 992 # Tell the bootstrap compiler to use a specific gcc prefix to search | 318 # Tell the bootstrap compiler to use a specific gcc prefix to search |
| 993 # for standard library headers and shared object file. | 319 # for standard library headers and shared object file. |
| 994 export CFLAGS="--gcc-toolchain=${gcc_toolchain}" | 320 export CFLAGS="--gcc-toolchain=${gcc_toolchain}" |
| 995 export CXXFLAGS="--gcc-toolchain=${gcc_toolchain}" | 321 export CXXFLAGS="--gcc-toolchain=${gcc_toolchain}" |
| 996 fi | 322 fi |
| 997 | 323 |
| 998 echo "Building final compiler" | 324 echo "Building final compiler" |
| 999 fi | 325 fi |
| (...skipping 11 matching lines...) Expand all Loading... |
| 1011 --without-llvmgcc \ | 337 --without-llvmgcc \ |
| 1012 --without-llvmgxx | 338 --without-llvmgxx |
| 1013 fi | 339 fi |
| 1014 | 340 |
| 1015 if [[ -n "${gcc_toolchain}" ]]; then | 341 if [[ -n "${gcc_toolchain}" ]]; then |
| 1016 # Copy in the right stdlibc++.so.6 so clang can start. | 342 # Copy in the right stdlibc++.so.6 so clang can start. |
| 1017 mkdir -p Release+Asserts/lib | 343 mkdir -p Release+Asserts/lib |
| 1018 cp -v "$(${CXX} ${CXXFLAGS} -print-file-name=libstdc++.so.6)" \ | 344 cp -v "$(${CXX} ${CXXFLAGS} -print-file-name=libstdc++.so.6)" \ |
| 1019 Release+Asserts/lib/ | 345 Release+Asserts/lib/ |
| 1020 fi | 346 fi |
| 1021 MACOSX_DEPLOYMENT_TARGET=10.7 ${MAKE} -j"${NUM_JOBS}" | 347 MACOSX_DEPLOYMENT_TARGET=10.5 ${MAKE} -j"${NUM_JOBS}" |
| 1022 STRIP_FLAGS= | 348 STRIP_FLAGS= |
| 1023 if [ "${OS}" = "Darwin" ]; then | 349 if [ "${OS}" = "Darwin" ]; then |
| 1024 # See http://crbug.com/256342 | 350 # See http://crbug.com/256342 |
| 1025 STRIP_FLAGS=-x | 351 STRIP_FLAGS=-x |
| 1026 fi | 352 fi |
| 1027 strip ${STRIP_FLAGS} Release+Asserts/bin/clang | 353 strip ${STRIP_FLAGS} Release+Asserts/bin/clang |
| 1028 cd - | 354 cd - |
| 1029 | 355 |
| 1030 if [[ -n "${with_android}" ]]; then | 356 if [[ -n "${with_android}" ]]; then |
| 1031 # Make a standalone Android toolchain. | 357 # Make a standalone Android toolchain. |
| (...skipping 18 matching lines...) Expand all Loading... |
| 1050 # system to compile it. | 376 # system to compile it. |
| 1051 for CHROME_TOOL_DIR in ${chrome_tools}; do | 377 for CHROME_TOOL_DIR in ${chrome_tools}; do |
| 1052 TOOL_SRC_DIR="${THIS_DIR}/../${CHROME_TOOL_DIR}" | 378 TOOL_SRC_DIR="${THIS_DIR}/../${CHROME_TOOL_DIR}" |
| 1053 TOOL_DST_DIR="${LLVM_DIR}/tools/clang/tools/chrome-${CHROME_TOOL_DIR}" | 379 TOOL_DST_DIR="${LLVM_DIR}/tools/clang/tools/chrome-${CHROME_TOOL_DIR}" |
| 1054 TOOL_BUILD_DIR="${LLVM_BUILD_DIR}/tools/clang/tools/chrome-${CHROME_TOOL_DIR}" | 380 TOOL_BUILD_DIR="${LLVM_BUILD_DIR}/tools/clang/tools/chrome-${CHROME_TOOL_DIR}" |
| 1055 rm -rf "${TOOL_DST_DIR}" | 381 rm -rf "${TOOL_DST_DIR}" |
| 1056 cp -R "${TOOL_SRC_DIR}" "${TOOL_DST_DIR}" | 382 cp -R "${TOOL_SRC_DIR}" "${TOOL_DST_DIR}" |
| 1057 rm -rf "${TOOL_BUILD_DIR}" | 383 rm -rf "${TOOL_BUILD_DIR}" |
| 1058 mkdir -p "${TOOL_BUILD_DIR}" | 384 mkdir -p "${TOOL_BUILD_DIR}" |
| 1059 cp "${TOOL_SRC_DIR}/Makefile" "${TOOL_BUILD_DIR}" | 385 cp "${TOOL_SRC_DIR}/Makefile" "${TOOL_BUILD_DIR}" |
| 1060 MACOSX_DEPLOYMENT_TARGET=10.7 ${MAKE} -j"${NUM_JOBS}" -C "${TOOL_BUILD_DIR}" | 386 MACOSX_DEPLOYMENT_TARGET=10.5 ${MAKE} -j"${NUM_JOBS}" -C "${TOOL_BUILD_DIR}" |
| 1061 done | 387 done |
| 1062 | 388 |
| 1063 if [[ -n "$run_tests" ]]; then | 389 if [[ -n "$run_tests" ]]; then |
| 1064 # Run a few tests. | 390 # Run a few tests. |
| 1065 for CHROME_TOOL_DIR in ${chrome_tools}; do | 391 for CHROME_TOOL_DIR in ${chrome_tools}; do |
| 1066 TOOL_SRC_DIR="${THIS_DIR}/../${CHROME_TOOL_DIR}" | 392 TOOL_SRC_DIR="${THIS_DIR}/../${CHROME_TOOL_DIR}" |
| 1067 if [[ -f "${TOOL_SRC_DIR}/tests/test.sh" ]]; then | 393 if [[ -f "${TOOL_SRC_DIR}/tests/test.sh" ]]; then |
| 1068 "${TOOL_SRC_DIR}/tests/test.sh" "${LLVM_BUILD_DIR}/Release+Asserts" | 394 "${TOOL_SRC_DIR}/tests/test.sh" "${LLVM_BUILD_DIR}/Release+Asserts" |
| 1069 fi | 395 fi |
| 1070 done | 396 done |
| 1071 cd "${LLVM_BUILD_DIR}" | 397 cd "${LLVM_BUILD_DIR}" |
| 1072 ${MAKE} check-all | 398 ${MAKE} check-all |
| 1073 cd - | 399 cd - |
| 1074 fi | 400 fi |
| 1075 | 401 |
| 1076 # After everything is done, log success for this revision. | 402 # After everything is done, log success for this revision. |
| 1077 echo "${CLANG_AND_PLUGINS_REVISION}" > "${STAMP_FILE}" | 403 echo "${CLANG_AND_PLUGINS_REVISION}" > "${STAMP_FILE}" |
| OLD | NEW |