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=198389 | 11 CLANG_REVISION=202554 |
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" |
17 CLANG_DIR="${LLVM_DIR}/tools/clang" | 18 CLANG_DIR="${LLVM_DIR}/tools/clang" |
18 CLANG_TOOLS_EXTRA_DIR="${CLANG_DIR}/tools/extra" | 19 CLANG_TOOLS_EXTRA_DIR="${CLANG_DIR}/tools/extra" |
19 COMPILER_RT_DIR="${LLVM_DIR}/projects/compiler-rt" | 20 COMPILER_RT_DIR="${LLVM_DIR}/projects/compiler-rt" |
| 21 LIBCXX_DIR="${LLVM_DIR}/projects/libcxx" |
20 ANDROID_NDK_DIR="${LLVM_DIR}/../android_tools/ndk" | 22 ANDROID_NDK_DIR="${LLVM_DIR}/../android_tools/ndk" |
21 STAMP_FILE="${LLVM_BUILD_DIR}/cr_build_revision" | 23 STAMP_FILE="${LLVM_BUILD_DIR}/cr_build_revision" |
22 | 24 |
23 # Use both the clang revision and the plugin revisions to test for updates. | 25 # Use both the clang revision and the plugin revisions to test for updates. |
24 BLINKGCPLUGIN_REVISION=\ | 26 BLINKGCPLUGIN_REVISION=\ |
25 $(grep LIBRARYNAME "$THIS_DIR"/../blink_gc_plugin/Makefile \ | 27 $(grep LIBRARYNAME "$THIS_DIR"/../blink_gc_plugin/Makefile \ |
26 | cut -d '_' -f 2) | 28 | cut -d '_' -f 2) |
27 CLANG_AND_PLUGINS_REVISION="${CLANG_REVISION}-${BLINKGCPLUGIN_REVISION}" | 29 CLANG_AND_PLUGINS_REVISION="${CLANG_REVISION}-${BLINKGCPLUGIN_REVISION}" |
28 | 30 |
29 # ${A:-a} returns $A if it's set, a else. | 31 # ${A:-a} returns $A if it's set, a else. |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
252 svn co --force "${LLVM_REPO_URL}/llvm/trunk@${CLANG_REVISION}" "${LLVM_DIR}" | 254 svn co --force "${LLVM_REPO_URL}/llvm/trunk@${CLANG_REVISION}" "${LLVM_DIR}" |
253 fi | 255 fi |
254 | 256 |
255 echo Getting clang r"${CLANG_REVISION}" in "${CLANG_DIR}" | 257 echo Getting clang r"${CLANG_REVISION}" in "${CLANG_DIR}" |
256 svn co --force "${LLVM_REPO_URL}/cfe/trunk@${CLANG_REVISION}" "${CLANG_DIR}" | 258 svn co --force "${LLVM_REPO_URL}/cfe/trunk@${CLANG_REVISION}" "${CLANG_DIR}" |
257 | 259 |
258 echo Getting compiler-rt r"${CLANG_REVISION}" in "${COMPILER_RT_DIR}" | 260 echo Getting compiler-rt r"${CLANG_REVISION}" in "${COMPILER_RT_DIR}" |
259 svn co --force "${LLVM_REPO_URL}/compiler-rt/trunk@${CLANG_REVISION}" \ | 261 svn co --force "${LLVM_REPO_URL}/compiler-rt/trunk@${CLANG_REVISION}" \ |
260 "${COMPILER_RT_DIR}" | 262 "${COMPILER_RT_DIR}" |
261 | 263 |
| 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 # Merge LLVM r203635 |
| 354 cd "${LLVM_DIR}" |
| 355 svn revert lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp |
| 356 svn revert test/CodeGen/ARM/debug-frame-large-stack.ll |
| 357 svn revert test/CodeGen/ARM/debug-frame-vararg.ll |
| 358 svn revert test/CodeGen/ARM/debug-frame.ll |
| 359 cat << 'EOF' | |
| 360 Index: lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp |
| 361 =================================================================== |
| 362 --- lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp |
| 363 +++ lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp |
| 364 @@ -54,4 +54,7 @@ |
| 365 UseParensForSymbolVariant = true; |
| 366 |
| 367 UseIntegratedAssembler = true; |
| 368 + |
| 369 + // gas doesn't handle VFP register names in cfi directives. |
| 370 + DwarfRegNumForCFI = true; |
| 371 } |
| 372 Index: test/CodeGen/ARM/debug-frame-large-stack.ll |
| 373 =================================================================== |
| 374 --- test/CodeGen/ARM/debug-frame-large-stack.ll |
| 375 +++ test/CodeGen/ARM/debug-frame-large-stack.ll |
| 376 @@ -42,8 +42,8 @@ |
| 377 ; CHECK-ARM: .cfi_startproc |
| 378 ; CHECK-ARM: push {r4, r5} |
| 379 ; CHECK-ARM: .cfi_def_cfa_offset 8 |
| 380 -; CHECK-ARM: .cfi_offset r5, -4 |
| 381 -; CHECK-ARM: .cfi_offset r4, -8 |
| 382 +; CHECK-ARM: .cfi_offset 5, -4 |
| 383 +; CHECK-ARM: .cfi_offset 4, -8 |
| 384 ; CHECK-ARM: sub sp, sp, #72 |
| 385 ; CHECK-ARM: sub sp, sp, #4096 |
| 386 ; CHECK-ARM: .cfi_def_cfa_offset 4176 |
| 387 @@ -54,7 +54,7 @@ |
| 388 ; CHECK-ARM-FP_ELIM: push {r4, r5} |
| 389 ; CHECK-ARM-FP_ELIM: .cfi_def_cfa_offset 8 |
| 390 ; CHECK-ARM-FP_ELIM: .cfi_offset 54, -4 |
| 391 -; CHECK-ARM-FP_ELIM: .cfi_offset r4, -8 |
| 392 +; CHECK-ARM-FP_ELIM: .cfi_offset 4, -8 |
| 393 ; CHECK-ARM-FP_ELIM: sub sp, sp, #72 |
| 394 ; CHECK-ARM-FP_ELIM: sub sp, sp, #4096 |
| 395 ; CHECK-ARM-FP_ELIM: .cfi_def_cfa_offset 4176 |
| 396 @@ -73,11 +73,11 @@ |
| 397 ; CHECK-ARM: .cfi_startproc |
| 398 ; CHECK-ARM: push {r4, r5, r11} |
| 399 ; CHECK-ARM: .cfi_def_cfa_offset 12 |
| 400 -; CHECK-ARM: .cfi_offset r11, -4 |
| 401 -; CHECK-ARM: .cfi_offset r5, -8 |
| 402 -; CHECK-ARM: .cfi_offset r4, -12 |
| 403 +; CHECK-ARM: .cfi_offset 11, -4 |
| 404 +; CHECK-ARM: .cfi_offset 5, -8 |
| 405 +; CHECK-ARM: .cfi_offset 4, -12 |
| 406 ; CHECK-ARM: add r11, sp, #8 |
| 407 -; CHECK-ARM: .cfi_def_cfa r11, 4 |
| 408 +; CHECK-ARM: .cfi_def_cfa 11, 4 |
| 409 ; CHECK-ARM: sub sp, sp, #20 |
| 410 ; CHECK-ARM: sub sp, sp, #805306368 |
| 411 ; CHECK-ARM: bic sp, sp, #15 |
| 412 @@ -87,11 +87,11 @@ |
| 413 ; CHECK-ARM-FP-ELIM: .cfi_startproc |
| 414 ; CHECK-ARM-FP-ELIM: push {r4, r5, r11} |
| 415 ; CHECK-ARM-FP-ELIM: .cfi_def_cfa_offset 12 |
| 416 -; CHECK-ARM-FP-ELIM: .cfi_offset r11, -4 |
| 417 -; CHECK-ARM-FP-ELIM: .cfi_offset r5, -8 |
| 418 -; CHECK-ARM-FP-ELIM: .cfi_offset r4, -12 |
| 419 +; CHECK-ARM-FP-ELIM: .cfi_offset 11, -4 |
| 420 +; CHECK-ARM-FP-ELIM: .cfi_offset 5, -8 |
| 421 +; CHECK-ARM-FP-ELIM: .cfi_offset 4, -12 |
| 422 ; CHECK-ARM-FP-ELIM: add r11, sp, #8 |
| 423 -; CHECK-ARM-FP-ELIM: .cfi_def_cfa r11, 4 |
| 424 +; CHECK-ARM-FP-ELIM: .cfi_def_cfa 11, 4 |
| 425 ; CHECK-ARM-FP-ELIM: sub sp, sp, #20 |
| 426 ; CHECK-ARM-FP-ELIM: sub sp, sp, #805306368 |
| 427 ; CHECK-ARM-FP-ELIM: bic sp, sp, #15 |
| 428 Index: test/CodeGen/ARM/debug-frame-vararg.ll |
| 429 =================================================================== |
| 430 --- test/CodeGen/ARM/debug-frame-vararg.ll |
| 431 +++ test/CodeGen/ARM/debug-frame-vararg.ll |
| 432 @@ -66,8 +66,8 @@ |
| 433 ; CHECK-FP: .cfi_def_cfa_offset 16 |
| 434 ; CHECK-FP: push {r4, lr} |
| 435 ; CHECK-FP: .cfi_def_cfa_offset 24 |
| 436 -; CHECK-FP: .cfi_offset lr, -20 |
| 437 -; CHECK-FP: .cfi_offset r4, -24 |
| 438 +; CHECK-FP: .cfi_offset 14, -20 |
| 439 +; CHECK-FP: .cfi_offset 4, -24 |
| 440 ; CHECK-FP: sub sp, sp, #8 |
| 441 ; CHECK-FP: .cfi_def_cfa_offset 32 |
| 442 |
| 443 @@ -77,22 +77,22 @@ |
| 444 ; CHECK-FP-ELIM: .cfi_def_cfa_offset 16 |
| 445 ; CHECK-FP-ELIM: push {r4, r11, lr} |
| 446 ; CHECK-FP-ELIM: .cfi_def_cfa_offset 28 |
| 447 -; CHECK-FP-ELIM: .cfi_offset lr, -20 |
| 448 -; CHECK-FP-ELIM: .cfi_offset r11, -24 |
| 449 -; CHECK-FP-ELIM: .cfi_offset r4, -28 |
| 450 +; CHECK-FP-ELIM: .cfi_offset 14, -20 |
| 451 +; CHECK-FP-ELIM: .cfi_offset 11, -24 |
| 452 +; CHECK-FP-ELIM: .cfi_offset 4, -28 |
| 453 ; CHECK-FP-ELIM: add r11, sp, #4 |
| 454 -; CHECK-FP-ELIM: .cfi_def_cfa r11, 24 |
| 455 +; CHECK-FP-ELIM: .cfi_def_cfa 11, 24 |
| 456 |
| 457 ; CHECK-THUMB-FP-LABEL: sum |
| 458 ; CHECK-THUMB-FP: .cfi_startproc |
| 459 ; CHECK-THUMB-FP: sub sp, #16 |
| 460 ; CHECK-THUMB-FP: .cfi_def_cfa_offset 16 |
| 461 ; CHECK-THUMB-FP: push {r4, r5, r7, lr} |
| 462 ; CHECK-THUMB-FP: .cfi_def_cfa_offset 32 |
| 463 -; CHECK-THUMB-FP: .cfi_offset lr, -20 |
| 464 -; CHECK-THUMB-FP: .cfi_offset r7, -24 |
| 465 -; CHECK-THUMB-FP: .cfi_offset r5, -28 |
| 466 -; CHECK-THUMB-FP: .cfi_offset r4, -32 |
| 467 +; CHECK-THUMB-FP: .cfi_offset 14, -20 |
| 468 +; CHECK-THUMB-FP: .cfi_offset 7, -24 |
| 469 +; CHECK-THUMB-FP: .cfi_offset 5, -28 |
| 470 +; CHECK-THUMB-FP: .cfi_offset 4, -32 |
| 471 ; CHECK-THUMB-FP: sub sp, #8 |
| 472 ; CHECK-THUMB-FP: .cfi_def_cfa_offset 40 |
| 473 |
| 474 @@ -102,12 +102,12 @@ |
| 475 ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 16 |
| 476 ; CHECK-THUMB-FP-ELIM: push {r4, r5, r7, lr} |
| 477 ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 32 |
| 478 -; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -20 |
| 479 -; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -24 |
| 480 -; CHECK-THUMB-FP-ELIM: .cfi_offset r5, -28 |
| 481 -; CHECK-THUMB-FP-ELIM: .cfi_offset r4, -32 |
| 482 +; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -20 |
| 483 +; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -24 |
| 484 +; CHECK-THUMB-FP-ELIM: .cfi_offset 5, -28 |
| 485 +; CHECK-THUMB-FP-ELIM: .cfi_offset 4, -32 |
| 486 ; CHECK-THUMB-FP-ELIM: add r7, sp, #8 |
| 487 -; CHECK-THUMB-FP-ELIM: .cfi_def_cfa r7, 24 |
| 488 +; CHECK-THUMB-FP-ELIM: .cfi_def_cfa 7, 24 |
| 489 |
| 490 define i32 @sum(i32 %count, ...) { |
| 491 entry: |
| 492 Index: test/CodeGen/ARM/debug-frame.ll |
| 493 =================================================================== |
| 494 --- test/CodeGen/ARM/debug-frame.ll |
| 495 +++ test/CodeGen/ARM/debug-frame.ll |
| 496 @@ -163,131 +163,131 @@ |
| 497 ; CHECK-FP: .cfi_startproc |
| 498 ; CHECK-FP: push {r4, r5, r6, r7, r8, r9, r10, r11, lr} |
| 499 ; CHECK-FP: .cfi_def_cfa_offset 36 |
| 500 -; CHECK-FP: .cfi_offset lr, -4 |
| 501 -; CHECK-FP: .cfi_offset r11, -8 |
| 502 -; CHECK-FP: .cfi_offset r10, -12 |
| 503 -; CHECK-FP: .cfi_offset r9, -16 |
| 504 -; CHECK-FP: .cfi_offset r8, -20 |
| 505 -; CHECK-FP: .cfi_offset r7, -24 |
| 506 -; CHECK-FP: .cfi_offset r6, -28 |
| 507 -; CHECK-FP: .cfi_offset r5, -32 |
| 508 -; CHECK-FP: .cfi_offset r4, -36 |
| 509 +; CHECK-FP: .cfi_offset 14, -4 |
| 510 +; CHECK-FP: .cfi_offset 11, -8 |
| 511 +; CHECK-FP: .cfi_offset 10, -12 |
| 512 +; CHECK-FP: .cfi_offset 9, -16 |
| 513 +; CHECK-FP: .cfi_offset 8, -20 |
| 514 +; CHECK-FP: .cfi_offset 7, -24 |
| 515 +; CHECK-FP: .cfi_offset 6, -28 |
| 516 +; CHECK-FP: .cfi_offset 5, -32 |
| 517 +; CHECK-FP: .cfi_offset 4, -36 |
| 518 ; CHECK-FP: add r11, sp, #28 |
| 519 -; CHECK-FP: .cfi_def_cfa r11, 8 |
| 520 +; CHECK-FP: .cfi_def_cfa 11, 8 |
| 521 ; CHECK-FP: sub sp, sp, #28 |
| 522 ; CHECK-FP: .cfi_endproc |
| 523 |
| 524 ; CHECK-FP-ELIM-LABEL: _Z4testiiiiiddddd: |
| 525 ; CHECK-FP-ELIM: .cfi_startproc |
| 526 ; CHECK-FP-ELIM: push {r4, r5, r6, r7, r8, r9, r10, r11, lr} |
| 527 ; CHECK-FP-ELIM: .cfi_def_cfa_offset 36 |
| 528 -; CHECK-FP-ELIM: .cfi_offset lr, -4 |
| 529 -; CHECK-FP-ELIM: .cfi_offset r11, -8 |
| 530 -; CHECK-FP-ELIM: .cfi_offset r10, -12 |
| 531 -; CHECK-FP-ELIM: .cfi_offset r9, -16 |
| 532 -; CHECK-FP-ELIM: .cfi_offset r8, -20 |
| 533 -; CHECK-FP-ELIM: .cfi_offset r7, -24 |
| 534 -; CHECK-FP-ELIM: .cfi_offset r6, -28 |
| 535 -; CHECK-FP-ELIM: .cfi_offset r5, -32 |
| 536 -; CHECK-FP-ELIM: .cfi_offset r4, -36 |
| 537 +; CHECK-FP-ELIM: .cfi_offset 14, -4 |
| 538 +; CHECK-FP-ELIM: .cfi_offset 11, -8 |
| 539 +; CHECK-FP-ELIM: .cfi_offset 10, -12 |
| 540 +; CHECK-FP-ELIM: .cfi_offset 9, -16 |
| 541 +; CHECK-FP-ELIM: .cfi_offset 8, -20 |
| 542 +; CHECK-FP-ELIM: .cfi_offset 7, -24 |
| 543 +; CHECK-FP-ELIM: .cfi_offset 6, -28 |
| 544 +; CHECK-FP-ELIM: .cfi_offset 5, -32 |
| 545 +; CHECK-FP-ELIM: .cfi_offset 4, -36 |
| 546 ; CHECK-FP-ELIM: sub sp, sp, #28 |
| 547 ; CHECK-FP-ELIM: .cfi_def_cfa_offset 64 |
| 548 ; CHECK-FP-ELIM: .cfi_endproc |
| 549 |
| 550 ; CHECK-V7-FP-LABEL: _Z4testiiiiiddddd: |
| 551 ; CHECK-V7-FP: .cfi_startproc |
| 552 ; CHECK-V7-FP: push {r4, r11, lr} |
| 553 ; CHECK-V7-FP: .cfi_def_cfa_offset 12 |
| 554 -; CHECK-V7-FP: .cfi_offset lr, -4 |
| 555 -; CHECK-V7-FP: .cfi_offset r11, -8 |
| 556 -; CHECK-V7-FP: .cfi_offset r4, -12 |
| 557 +; CHECK-V7-FP: .cfi_offset 14, -4 |
| 558 +; CHECK-V7-FP: .cfi_offset 11, -8 |
| 559 +; CHECK-V7-FP: .cfi_offset 4, -12 |
| 560 ; CHECK-V7-FP: add r11, sp, #4 |
| 561 -; CHECK-V7-FP: .cfi_def_cfa r11, 8 |
| 562 +; CHECK-V7-FP: .cfi_def_cfa 11, 8 |
| 563 ; CHECK-V7-FP: vpush {d8, d9, d10, d11, d12} |
| 564 -; CHECK-V7-FP: .cfi_offset d12, -24 |
| 565 -; CHECK-V7-FP: .cfi_offset d11, -32 |
| 566 -; CHECK-V7-FP: .cfi_offset d10, -40 |
| 567 -; CHECK-V7-FP: .cfi_offset d9, -48 |
| 568 -; CHECK-V7-FP: .cfi_offset d8, -56 |
| 569 +; CHECK-V7-FP: .cfi_offset 268, -24 |
| 570 +; CHECK-V7-FP: .cfi_offset 267, -32 |
| 571 +; CHECK-V7-FP: .cfi_offset 266, -40 |
| 572 +; CHECK-V7-FP: .cfi_offset 265, -48 |
| 573 +; CHECK-V7-FP: .cfi_offset 264, -56 |
| 574 ; CHECK-V7-FP: sub sp, sp, #28 |
| 575 ; CHECK-V7-FP: .cfi_endproc |
| 576 |
| 577 ; CHECK-V7-FP-ELIM-LABEL: _Z4testiiiiiddddd: |
| 578 ; CHECK-V7-FP-ELIM: .cfi_startproc |
| 579 ; CHECK-V7-FP-ELIM: push {r4, lr} |
| 580 ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 8 |
| 581 -; CHECK-V7-FP-ELIM: .cfi_offset lr, -4 |
| 582 -; CHECK-V7-FP-ELIM: .cfi_offset r4, -8 |
| 583 +; CHECK-V7-FP-ELIM: .cfi_offset 14, -4 |
| 584 +; CHECK-V7-FP-ELIM: .cfi_offset 4, -8 |
| 585 ; CHECK-V7-FP-ELIM: vpush {d8, d9, d10, d11, d12} |
| 586 ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 48 |
| 587 -; CHECK-V7-FP-ELIM: .cfi_offset d12, -16 |
| 588 -; CHECK-V7-FP-ELIM: .cfi_offset d11, -24 |
| 589 -; CHECK-V7-FP-ELIM: .cfi_offset d10, -32 |
| 590 -; CHECK-V7-FP-ELIM: .cfi_offset d9, -40 |
| 591 -; CHECK-V7-FP-ELIM: .cfi_offset d8, -48 |
| 592 +; CHECK-V7-FP-ELIM: .cfi_offset 268, -16 |
| 593 +; CHECK-V7-FP-ELIM: .cfi_offset 267, -24 |
| 594 +; CHECK-V7-FP-ELIM: .cfi_offset 266, -32 |
| 595 +; CHECK-V7-FP-ELIM: .cfi_offset 265, -40 |
| 596 +; CHECK-V7-FP-ELIM: .cfi_offset 264, -48 |
| 597 ; CHECK-V7-FP-ELIM: sub sp, sp, #24 |
| 598 ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 72 |
| 599 ; CHECK-V7-FP-ELIM: .cfi_endproc |
| 600 |
| 601 ; CHECK-THUMB-FP-LABEL: _Z4testiiiiiddddd: |
| 602 ; CHECK-THUMB-FP: .cfi_startproc |
| 603 ; CHECK-THUMB-FP: push {r4, r5, r6, r7, lr} |
| 604 ; CHECK-THUMB-FP: .cfi_def_cfa_offset 20 |
| 605 -; CHECK-THUMB-FP: .cfi_offset lr, -4 |
| 606 -; CHECK-THUMB-FP: .cfi_offset r7, -8 |
| 607 -; CHECK-THUMB-FP: .cfi_offset r6, -12 |
| 608 -; CHECK-THUMB-FP: .cfi_offset r5, -16 |
| 609 -; CHECK-THUMB-FP: .cfi_offset r4, -20 |
| 610 +; CHECK-THUMB-FP: .cfi_offset 14, -4 |
| 611 +; CHECK-THUMB-FP: .cfi_offset 7, -8 |
| 612 +; CHECK-THUMB-FP: .cfi_offset 6, -12 |
| 613 +; CHECK-THUMB-FP: .cfi_offset 5, -16 |
| 614 +; CHECK-THUMB-FP: .cfi_offset 4, -20 |
| 615 ; CHECK-THUMB-FP: add r7, sp, #12 |
| 616 -; CHECK-THUMB-FP: .cfi_def_cfa r7, 8 |
| 617 +; CHECK-THUMB-FP: .cfi_def_cfa 7, 8 |
| 618 ; CHECK-THUMB-FP: sub sp, #60 |
| 619 ; CHECK-THUMB-FP: .cfi_endproc |
| 620 |
| 621 ; CHECK-THUMB-FP-ELIM-LABEL: _Z4testiiiiiddddd: |
| 622 ; CHECK-THUMB-FP-ELIM: .cfi_startproc |
| 623 ; CHECK-THUMB-FP-ELIM: push {r4, r5, r6, r7, lr} |
| 624 ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 20 |
| 625 -; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -4 |
| 626 -; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -8 |
| 627 -; CHECK-THUMB-FP-ELIM: .cfi_offset r6, -12 |
| 628 -; CHECK-THUMB-FP-ELIM: .cfi_offset r5, -16 |
| 629 -; CHECK-THUMB-FP-ELIM: .cfi_offset r4, -20 |
| 630 +; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -4 |
| 631 +; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -8 |
| 632 +; CHECK-THUMB-FP-ELIM: .cfi_offset 6, -12 |
| 633 +; CHECK-THUMB-FP-ELIM: .cfi_offset 5, -16 |
| 634 +; CHECK-THUMB-FP-ELIM: .cfi_offset 4, -20 |
| 635 ; CHECK-THUMB-FP-ELIM: sub sp, #60 |
| 636 ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 80 |
| 637 ; CHECK-THUMB-FP-ELIM: .cfi_endproc |
| 638 |
| 639 ; CHECK-THUMB-V7-FP-LABEL: _Z4testiiiiiddddd: |
| 640 ; CHECK-THUMB-V7-FP: .cfi_startproc |
| 641 ; CHECK-THUMB-V7-FP: push.w {r4, r7, r11, lr} |
| 642 ; CHECK-THUMB-V7-FP: .cfi_def_cfa_offset 16 |
| 643 -; CHECK-THUMB-V7-FP: .cfi_offset lr, -4 |
| 644 -; CHECK-THUMB-V7-FP: .cfi_offset r11, -8 |
| 645 -; CHECK-THUMB-V7-FP: .cfi_offset r7, -12 |
| 646 -; CHECK-THUMB-V7-FP: .cfi_offset r4, -16 |
| 647 +; CHECK-THUMB-V7-FP: .cfi_offset 14, -4 |
| 648 +; CHECK-THUMB-V7-FP: .cfi_offset 11, -8 |
| 649 +; CHECK-THUMB-V7-FP: .cfi_offset 7, -12 |
| 650 +; CHECK-THUMB-V7-FP: .cfi_offset 4, -16 |
| 651 ; CHECK-THUMB-V7-FP: add r7, sp, #4 |
| 652 -; CHECK-THUMB-V7-FP: .cfi_def_cfa r7, 12 |
| 653 +; CHECK-THUMB-V7-FP: .cfi_def_cfa 7, 12 |
| 654 ; CHECK-THUMB-V7-FP: vpush {d8, d9, d10, d11, d12} |
| 655 -; CHECK-THUMB-V7-FP: .cfi_offset d12, -24 |
| 656 -; CHECK-THUMB-V7-FP: .cfi_offset d11, -32 |
| 657 -; CHECK-THUMB-V7-FP: .cfi_offset d10, -40 |
| 658 -; CHECK-THUMB-V7-FP: .cfi_offset d9, -48 |
| 659 -; CHECK-THUMB-V7-FP: .cfi_offset d8, -56 |
| 660 +; CHECK-THUMB-V7-FP: .cfi_offset 268, -24 |
| 661 +; CHECK-THUMB-V7-FP: .cfi_offset 267, -32 |
| 662 +; CHECK-THUMB-V7-FP: .cfi_offset 266, -40 |
| 663 +; CHECK-THUMB-V7-FP: .cfi_offset 265, -48 |
| 664 +; CHECK-THUMB-V7-FP: .cfi_offset 264, -56 |
| 665 ; CHECK-THUMB-V7-FP: sub sp, #24 |
| 666 ; CHECK-THUMB-V7-FP: .cfi_endproc |
| 667 |
| 668 ; CHECK-THUMB-V7-FP-ELIM-LABEL: _Z4testiiiiiddddd: |
| 669 ; CHECK-THUMB-V7-FP-ELIM: .cfi_startproc |
| 670 ; CHECK-THUMB-V7-FP-ELIM: push {r4, lr} |
| 671 ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 8 |
| 672 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset lr, -4 |
| 673 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r4, -8 |
| 674 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 14, -4 |
| 675 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 4, -8 |
| 676 ; CHECK-THUMB-V7-FP-ELIM: vpush {d8, d9, d10, d11, d12} |
| 677 ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 48 |
| 678 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d12, -16 |
| 679 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d11, -24 |
| 680 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d10, -32 |
| 681 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d9, -40 |
| 682 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d8, -48 |
| 683 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 268, -16 |
| 684 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 267, -24 |
| 685 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 266, -32 |
| 686 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 265, -40 |
| 687 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 264, -48 |
| 688 ; CHECK-THUMB-V7-FP-ELIM: sub sp, #24 |
| 689 ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 72 |
| 690 ; CHECK-THUMB-V7-FP-ELIM: .cfi_endproc |
| 691 @@ -309,81 +309,81 @@ |
| 692 ; CHECK-FP: .cfi_startproc |
| 693 ; CHECK-FP: push {r11, lr} |
| 694 ; CHECK-FP: .cfi_def_cfa_offset 8 |
| 695 -; CHECK-FP: .cfi_offset lr, -4 |
| 696 -; CHECK-FP: .cfi_offset r11, -8 |
| 697 +; CHECK-FP: .cfi_offset 14, -4 |
| 698 +; CHECK-FP: .cfi_offset 11, -8 |
| 699 ; CHECK-FP: mov r11, sp |
| 700 -; CHECK-FP: .cfi_def_cfa_register r11 |
| 701 +; CHECK-FP: .cfi_def_cfa_register 11 |
| 702 ; CHECK-FP: pop {r11, lr} |
| 703 ; CHECK-FP: mov pc, lr |
| 704 ; CHECK-FP: .cfi_endproc |
| 705 |
| 706 ; CHECK-FP-ELIM-LABEL: test2: |
| 707 ; CHECK-FP-ELIM: .cfi_startproc |
| 708 ; CHECK-FP-ELIM: push {r11, lr} |
| 709 ; CHECK-FP-ELIM: .cfi_def_cfa_offset 8 |
| 710 -; CHECK-FP-ELIM: .cfi_offset lr, -4 |
| 711 -; CHECK-FP-ELIM: .cfi_offset r11, -8 |
| 712 +; CHECK-FP-ELIM: .cfi_offset 14, -4 |
| 713 +; CHECK-FP-ELIM: .cfi_offset 11, -8 |
| 714 ; CHECK-FP-ELIM: pop {r11, lr} |
| 715 ; CHECK-FP-ELIM: mov pc, lr |
| 716 ; CHECK-FP-ELIM: .cfi_endproc |
| 717 |
| 718 ; CHECK-V7-FP-LABEL: test2: |
| 719 ; CHECK-V7-FP: .cfi_startproc |
| 720 ; CHECK-V7-FP: push {r11, lr} |
| 721 ; CHECK-V7-FP: .cfi_def_cfa_offset 8 |
| 722 -; CHECK-V7-FP: .cfi_offset lr, -4 |
| 723 -; CHECK-V7-FP: .cfi_offset r11, -8 |
| 724 +; CHECK-V7-FP: .cfi_offset 14, -4 |
| 725 +; CHECK-V7-FP: .cfi_offset 11, -8 |
| 726 ; CHECK-V7-FP: mov r11, sp |
| 727 -; CHECK-V7-FP: .cfi_def_cfa_register r11 |
| 728 +; CHECK-V7-FP: .cfi_def_cfa_register 11 |
| 729 ; CHECK-V7-FP: pop {r11, pc} |
| 730 ; CHECK-V7-FP: .cfi_endproc |
| 731 |
| 732 ; CHECK-V7-FP-ELIM-LABEL: test2: |
| 733 ; CHECK-V7-FP-ELIM: .cfi_startproc |
| 734 ; CHECK-V7-FP-ELIM: push {r11, lr} |
| 735 ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 8 |
| 736 -; CHECK-V7-FP-ELIM: .cfi_offset lr, -4 |
| 737 -; CHECK-V7-FP-ELIM: .cfi_offset r11, -8 |
| 738 +; CHECK-V7-FP-ELIM: .cfi_offset 14, -4 |
| 739 +; CHECK-V7-FP-ELIM: .cfi_offset 11, -8 |
| 740 ; CHECK-V7-FP-ELIM: pop {r11, pc} |
| 741 ; CHECK-V7-FP-ELIM: .cfi_endproc |
| 742 |
| 743 ; CHECK-THUMB-FP-LABEL: test2: |
| 744 ; CHECK-THUMB-FP: .cfi_startproc |
| 745 ; CHECK-THUMB-FP: push {r7, lr} |
| 746 ; CHECK-THUMB-FP: .cfi_def_cfa_offset 8 |
| 747 -; CHECK-THUMB-FP: .cfi_offset lr, -4 |
| 748 -; CHECK-THUMB-FP: .cfi_offset r7, -8 |
| 749 +; CHECK-THUMB-FP: .cfi_offset 14, -4 |
| 750 +; CHECK-THUMB-FP: .cfi_offset 7, -8 |
| 751 ; CHECK-THUMB-FP: add r7, sp, #0 |
| 752 -; CHECK-THUMB-FP: .cfi_def_cfa_register r7 |
| 753 +; CHECK-THUMB-FP: .cfi_def_cfa_register 7 |
| 754 ; CHECK-THUMB-FP: pop {r7, pc} |
| 755 ; CHECK-THUMB-FP: .cfi_endproc |
| 756 |
| 757 ; CHECK-THUMB-FP-ELIM-LABEL: test2: |
| 758 ; CHECK-THUMB-FP-ELIM: .cfi_startproc |
| 759 ; CHECK-THUMB-FP-ELIM: push {r7, lr} |
| 760 ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 8 |
| 761 -; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -4 |
| 762 -; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -8 |
| 763 +; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -4 |
| 764 +; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -8 |
| 765 ; CHECK-THUMB-FP-ELIM: pop {r7, pc} |
| 766 ; CHECK-THUMB-FP-ELIM: .cfi_endproc |
| 767 |
| 768 ; CHECK-THUMB-V7-FP-LABEL: test2: |
| 769 ; CHECK-THUMB-V7-FP: .cfi_startproc |
| 770 ; CHECK-THUMB-V7-FP: push {r7, lr} |
| 771 ; CHECK-THUMB-V7-FP: .cfi_def_cfa_offset 8 |
| 772 -; CHECK-THUMB-V7-FP: .cfi_offset lr, -4 |
| 773 -; CHECK-THUMB-V7-FP: .cfi_offset r7, -8 |
| 774 +; CHECK-THUMB-V7-FP: .cfi_offset 14, -4 |
| 775 +; CHECK-THUMB-V7-FP: .cfi_offset 7, -8 |
| 776 ; CHECK-THUMB-V7-FP: mov r7, sp |
| 777 -; CHECK-THUMB-V7-FP: .cfi_def_cfa_register r7 |
| 778 +; CHECK-THUMB-V7-FP: .cfi_def_cfa_register 7 |
| 779 ; CHECK-THUMB-V7-FP: pop {r7, pc} |
| 780 ; CHECK-THUMB-V7-FP: .cfi_endproc |
| 781 |
| 782 ; CHECK-THUMB-V7-FP-ELIM-LABEL: test2: |
| 783 ; CHECK-THUMB-V7-FP-ELIM: .cfi_startproc |
| 784 ; CHECK-THUMB-V7-FP-ELIM: push.w {r11, lr} |
| 785 ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 8 |
| 786 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset lr, -4 |
| 787 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r11, -8 |
| 788 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 14, -4 |
| 789 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 11, -8 |
| 790 ; CHECK-THUMB-V7-FP-ELIM: pop.w {r11, pc} |
| 791 ; CHECK-THUMB-V7-FP-ELIM: .cfi_endproc |
| 792 |
| 793 @@ -413,97 +413,97 @@ |
| 794 ; CHECK-FP: .cfi_startproc |
| 795 ; CHECK-FP: push {r4, r5, r11, lr} |
| 796 ; CHECK-FP: .cfi_def_cfa_offset 16 |
| 797 -; CHECK-FP: .cfi_offset lr, -4 |
| 798 -; CHECK-FP: .cfi_offset r11, -8 |
| 799 -; CHECK-FP: .cfi_offset r5, -12 |
| 800 -; CHECK-FP: .cfi_offset r4, -16 |
| 801 +; CHECK-FP: .cfi_offset 14, -4 |
| 802 +; CHECK-FP: .cfi_offset 11, -8 |
| 803 +; CHECK-FP: .cfi_offset 5, -12 |
| 804 +; CHECK-FP: .cfi_offset 4, -16 |
| 805 ; CHECK-FP: add r11, sp, #8 |
| 806 -; CHECK-FP: .cfi_def_cfa r11, 8 |
| 807 +; CHECK-FP: .cfi_def_cfa 11, 8 |
| 808 ; CHECK-FP: pop {r4, r5, r11, lr} |
| 809 ; CHECK-FP: mov pc, lr |
| 810 ; CHECK-FP: .cfi_endproc |
| 811 |
| 812 ; CHECK-FP-ELIM-LABEL: test3: |
| 813 ; CHECK-FP-ELIM: .cfi_startproc |
| 814 ; CHECK-FP-ELIM: push {r4, r5, r11, lr} |
| 815 ; CHECK-FP-ELIM: .cfi_def_cfa_offset 16 |
| 816 -; CHECK-FP-ELIM: .cfi_offset lr, -4 |
| 817 -; CHECK-FP-ELIM: .cfi_offset r11, -8 |
| 818 -; CHECK-FP-ELIM: .cfi_offset r5, -12 |
| 819 -; CHECK-FP-ELIM: .cfi_offset r4, -16 |
| 820 +; CHECK-FP-ELIM: .cfi_offset 14, -4 |
| 821 +; CHECK-FP-ELIM: .cfi_offset 11, -8 |
| 822 +; CHECK-FP-ELIM: .cfi_offset 5, -12 |
| 823 +; CHECK-FP-ELIM: .cfi_offset 4, -16 |
| 824 ; CHECK-FP-ELIM: pop {r4, r5, r11, lr} |
| 825 ; CHECK-FP-ELIM: mov pc, lr |
| 826 ; CHECK-FP-ELIM: .cfi_endproc |
| 827 |
| 828 ; CHECK-V7-FP-LABEL: test3: |
| 829 ; CHECK-V7-FP: .cfi_startproc |
| 830 ; CHECK-V7-FP: push {r4, r5, r11, lr} |
| 831 ; CHECK-V7-FP: .cfi_def_cfa_offset 16 |
| 832 -; CHECK-V7-FP: .cfi_offset lr, -4 |
| 833 -; CHECK-V7-FP: .cfi_offset r11, -8 |
| 834 -; CHECK-V7-FP: .cfi_offset r5, -12 |
| 835 -; CHECK-V7-FP: .cfi_offset r4, -16 |
| 836 +; CHECK-V7-FP: .cfi_offset 14, -4 |
| 837 +; CHECK-V7-FP: .cfi_offset 11, -8 |
| 838 +; CHECK-V7-FP: .cfi_offset 5, -12 |
| 839 +; CHECK-V7-FP: .cfi_offset 4, -16 |
| 840 ; CHECK-V7-FP: add r11, sp, #8 |
| 841 -; CHECK-V7-FP: .cfi_def_cfa r11, 8 |
| 842 +; CHECK-V7-FP: .cfi_def_cfa 11, 8 |
| 843 ; CHECK-V7-FP: pop {r4, r5, r11, pc} |
| 844 ; CHECK-V7-FP: .cfi_endproc |
| 845 |
| 846 ; CHECK-V7-FP-ELIM-LABEL: test3: |
| 847 ; CHECK-V7-FP-ELIM: .cfi_startproc |
| 848 ; CHECK-V7-FP-ELIM: push {r4, r5, r11, lr} |
| 849 ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 16 |
| 850 -; CHECK-V7-FP-ELIM: .cfi_offset lr, -4 |
| 851 -; CHECK-V7-FP-ELIM: .cfi_offset r11, -8 |
| 852 -; CHECK-V7-FP-ELIM: .cfi_offset r5, -12 |
| 853 -; CHECK-V7-FP-ELIM: .cfi_offset r4, -16 |
| 854 +; CHECK-V7-FP-ELIM: .cfi_offset 14, -4 |
| 855 +; CHECK-V7-FP-ELIM: .cfi_offset 11, -8 |
| 856 +; CHECK-V7-FP-ELIM: .cfi_offset 5, -12 |
| 857 +; CHECK-V7-FP-ELIM: .cfi_offset 4, -16 |
| 858 ; CHECK-V7-FP-ELIM: pop {r4, r5, r11, pc} |
| 859 ; CHECK-V7-FP-ELIM: .cfi_endproc |
| 860 |
| 861 ; CHECK-THUMB-FP-LABEL: test3: |
| 862 ; CHECK-THUMB-FP: .cfi_startproc |
| 863 ; CHECK-THUMB-FP: push {r4, r5, r7, lr} |
| 864 ; CHECK-THUMB-FP: .cfi_def_cfa_offset 16 |
| 865 -; CHECK-THUMB-FP: .cfi_offset lr, -4 |
| 866 -; CHECK-THUMB-FP: .cfi_offset r7, -8 |
| 867 -; CHECK-THUMB-FP: .cfi_offset r5, -12 |
| 868 -; CHECK-THUMB-FP: .cfi_offset r4, -16 |
| 869 +; CHECK-THUMB-FP: .cfi_offset 14, -4 |
| 870 +; CHECK-THUMB-FP: .cfi_offset 7, -8 |
| 871 +; CHECK-THUMB-FP: .cfi_offset 5, -12 |
| 872 +; CHECK-THUMB-FP: .cfi_offset 4, -16 |
| 873 ; CHECK-THUMB-FP: add r7, sp, #8 |
| 874 -; CHECK-THUMB-FP: .cfi_def_cfa r7, 8 |
| 875 +; CHECK-THUMB-FP: .cfi_def_cfa 7, 8 |
| 876 ; CHECK-THUMB-FP: pop {r4, r5, r7, pc} |
| 877 ; CHECK-THUMB-FP: .cfi_endproc |
| 878 |
| 879 ; CHECK-THUMB-FP-ELIM-LABEL: test3: |
| 880 ; CHECK-THUMB-FP-ELIM: .cfi_startproc |
| 881 ; CHECK-THUMB-FP-ELIM: push {r4, r5, r7, lr} |
| 882 ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 16 |
| 883 -; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -4 |
| 884 -; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -8 |
| 885 -; CHECK-THUMB-FP-ELIM: .cfi_offset r5, -12 |
| 886 -; CHECK-THUMB-FP-ELIM: .cfi_offset r4, -16 |
| 887 +; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -4 |
| 888 +; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -8 |
| 889 +; CHECK-THUMB-FP-ELIM: .cfi_offset 5, -12 |
| 890 +; CHECK-THUMB-FP-ELIM: .cfi_offset 4, -16 |
| 891 ; CHECK-THUMB-FP-ELIM: pop {r4, r5, r7, pc} |
| 892 ; CHECK-THUMB-FP-ELIM: .cfi_endproc |
| 893 |
| 894 ; CHECK-THUMB-V7-FP-LABEL: test3: |
| 895 ; CHECK-THUMB-V7-FP: .cfi_startproc |
| 896 ; CHECK-THUMB-V7-FP: push {r4, r5, r7, lr} |
| 897 ; CHECK-THUMB-V7-FP: .cfi_def_cfa_offset 16 |
| 898 -; CHECK-THUMB-V7-FP: .cfi_offset lr, -4 |
| 899 -; CHECK-THUMB-V7-FP: .cfi_offset r7, -8 |
| 900 -; CHECK-THUMB-V7-FP: .cfi_offset r5, -12 |
| 901 -; CHECK-THUMB-V7-FP: .cfi_offset r4, -16 |
| 902 +; CHECK-THUMB-V7-FP: .cfi_offset 14, -4 |
| 903 +; CHECK-THUMB-V7-FP: .cfi_offset 7, -8 |
| 904 +; CHECK-THUMB-V7-FP: .cfi_offset 5, -12 |
| 905 +; CHECK-THUMB-V7-FP: .cfi_offset 4, -16 |
| 906 ; CHECK-THUMB-V7-FP: add r7, sp, #8 |
| 907 -; CHECK-THUMB-V7-FP: .cfi_def_cfa r7, 8 |
| 908 +; CHECK-THUMB-V7-FP: .cfi_def_cfa 7, 8 |
| 909 ; CHECK-THUMB-V7-FP: pop {r4, r5, r7, pc} |
| 910 ; CHECK-THUMB-V7-FP: .cfi_endproc |
| 911 |
| 912 ; CHECK-THUMB-V7-FP-ELIM-LABEL: test3: |
| 913 ; CHECK-THUMB-V7-FP-ELIM: .cfi_startproc |
| 914 ; CHECK-THUMB-V7-FP-ELIM: push.w {r4, r5, r11, lr} |
| 915 ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 16 |
| 916 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset lr, -4 |
| 917 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r11, -8 |
| 918 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r5, -12 |
| 919 -; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r4, -16 |
| 920 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 14, -4 |
| 921 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 11, -8 |
| 922 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 5, -12 |
| 923 +; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 4, -16 |
| 924 ; CHECK-THUMB-V7-FP-ELIM: pop.w {r4, r5, r11, pc} |
| 925 ; CHECK-THUMB-V7-FP-ELIM: .cfi_endproc |
| 926 |
| 927 EOF |
| 928 patch -p0 |
| 929 cd - |
| 930 |
262 # Echo all commands. | 931 # Echo all commands. |
263 set -x | 932 set -x |
264 | 933 |
265 NUM_JOBS=3 | 934 NUM_JOBS=3 |
266 if [[ "${OS}" = "Linux" ]]; then | 935 if [[ "${OS}" = "Linux" ]]; then |
267 NUM_JOBS="$(grep -c "^processor" /proc/cpuinfo)" | 936 NUM_JOBS="$(grep -c "^processor" /proc/cpuinfo)" |
268 elif [ "${OS}" = "Darwin" -o "${OS}" = "FreeBSD" ]; then | 937 elif [ "${OS}" = "Darwin" -o "${OS}" = "FreeBSD" ]; then |
269 NUM_JOBS="$(sysctl -n hw.ncpu)" | 938 NUM_JOBS="$(sysctl -n hw.ncpu)" |
270 fi | 939 fi |
271 | 940 |
272 if [[ -n "${gcc_toolchain}" ]]; then | 941 if [[ -n "${gcc_toolchain}" ]]; then |
273 # Use the specified gcc installation for building. | 942 # Use the specified gcc installation for building. |
274 export CC="$gcc_toolchain/bin/gcc" | 943 export CC="$gcc_toolchain/bin/gcc" |
275 export CXX="$gcc_toolchain/bin/g++" | 944 export CXX="$gcc_toolchain/bin/g++" |
276 fi | 945 fi |
277 | 946 |
278 export CFLAGS="" | 947 export CFLAGS="" |
279 export CXXFLAGS="" | 948 export CXXFLAGS="" |
| 949 # LLVM uses C++11 starting in llvm 3.5. On Linux, this means libstdc++4.7+ is |
| 950 # needed, on OS X it requires libc++. clang only automatically links to libc++ |
| 951 # when targeting OS X 10.9+, so add stdlib=libc++ explicitly so clang can run on |
| 952 # OS X versions as old as 10.7. |
| 953 # TODO(thakis): Enable this once all bots are on 10.7, and remove the |
| 954 # --disable-compiler-version-checks flags below, and change all |
| 955 # MACOSX_DEPLOYMENT_TARGET values to 10.7. |
| 956 if [ "${OS}" = "Darwin" ]; then |
| 957 #CXXFLAGS="-stdlib=libc++" |
| 958 CXXFLAGS="-std=gnu++98" |
| 959 fi |
280 | 960 |
281 # Build bootstrap clang if requested. | 961 # Build bootstrap clang if requested. |
282 if [[ -n "${bootstrap}" ]]; then | 962 if [[ -n "${bootstrap}" ]]; then |
| 963 ABS_INSTALL_DIR="${PWD}/${LLVM_BOOTSTRAP_INSTALL_DIR}" |
283 echo "Building bootstrap compiler" | 964 echo "Building bootstrap compiler" |
284 mkdir -p "${LLVM_BOOTSTRAP_DIR}" | 965 mkdir -p "${LLVM_BOOTSTRAP_DIR}" |
285 cd "${LLVM_BOOTSTRAP_DIR}" | 966 cd "${LLVM_BOOTSTRAP_DIR}" |
286 if [[ ! -f ./config.status ]]; then | 967 if [[ ! -f ./config.status ]]; then |
287 # The bootstrap compiler only needs to be able to build the real compiler, | 968 # The bootstrap compiler only needs to be able to build the real compiler, |
288 # so it needs no cross-compiler output support. In general, the host | 969 # so it needs no cross-compiler output support. In general, the host |
289 # compiler should be as similar to the final compiler as possible, so do | 970 # compiler should be as similar to the final compiler as possible, so do |
290 # keep --disable-threads & co. | 971 # keep --disable-threads & co. |
291 ../llvm/configure \ | 972 ../llvm/configure \ |
| 973 --disable-compiler-version-checks \ |
292 --enable-optimized \ | 974 --enable-optimized \ |
293 --enable-targets=host-only \ | 975 --enable-targets=host-only \ |
294 --disable-threads \ | 976 --disable-threads \ |
295 --disable-pthreads \ | 977 --disable-pthreads \ |
296 --without-llvmgcc \ | 978 --without-llvmgcc \ |
297 --without-llvmgxx | 979 --without-llvmgxx \ |
| 980 --prefix="${ABS_INSTALL_DIR}" |
298 fi | 981 fi |
299 | 982 |
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}" | 983 MACOSX_DEPLOYMENT_TARGET=10.5 ${MAKE} -j"${NUM_JOBS}" |
310 if [[ -n "${run_tests}" ]]; then | 984 if [[ -n "${run_tests}" ]]; then |
311 ${MAKE} check-all | 985 ${MAKE} check-all |
312 fi | 986 fi |
| 987 |
| 988 MACOSX_DEPLOYMENT_TARGET=10.5 ${MAKE} install |
| 989 if [[ -n "${gcc_toolchain}" ]]; then |
| 990 # Copy that gcc's stdlibc++.so.6 to the build dir, so the bootstrap |
| 991 # compiler can start. |
| 992 cp -v "$(${CXX} -print-file-name=libstdc++.so.6)" \ |
| 993 "${ABS_INSTALL_DIR}/lib/" |
| 994 fi |
| 995 |
313 cd - | 996 cd - |
314 export CC="${PWD}/${LLVM_BOOTSTRAP_DIR}/Release+Asserts/bin/clang" | 997 export CC="${ABS_INSTALL_DIR}/bin/clang" |
315 export CXX="${PWD}/${LLVM_BOOTSTRAP_DIR}/Release+Asserts/bin/clang++" | 998 export CXX="${ABS_INSTALL_DIR}/bin/clang++" |
316 | 999 |
317 if [[ -n "${gcc_toolchain}" ]]; then | 1000 if [[ -n "${gcc_toolchain}" ]]; then |
318 # Tell the bootstrap compiler to use a specific gcc prefix to search | 1001 # Tell the bootstrap compiler to use a specific gcc prefix to search |
319 # for standard library headers and shared object file. | 1002 # for standard library headers and shared object file. |
320 export CFLAGS="--gcc-toolchain=${gcc_toolchain}" | 1003 export CFLAGS="--gcc-toolchain=${gcc_toolchain}" |
321 export CXXFLAGS="--gcc-toolchain=${gcc_toolchain}" | 1004 export CXXFLAGS="--gcc-toolchain=${gcc_toolchain}" |
322 fi | 1005 fi |
323 | 1006 |
324 echo "Building final compiler" | 1007 echo "Building final compiler" |
325 fi | 1008 fi |
326 | 1009 |
327 # Build clang (in a separate directory). | 1010 # Build clang (in a separate directory). |
328 # The clang bots have this path hardcoded in built/scripts/slave/compile.py, | 1011 # The clang bots have this path hardcoded in built/scripts/slave/compile.py, |
329 # so if you change it you also need to change these links. | 1012 # so if you change it you also need to change these links. |
330 mkdir -p "${LLVM_BUILD_DIR}" | 1013 mkdir -p "${LLVM_BUILD_DIR}" |
331 cd "${LLVM_BUILD_DIR}" | 1014 cd "${LLVM_BUILD_DIR}" |
332 if [[ ! -f ./config.status ]]; then | 1015 if [[ ! -f ./config.status ]]; then |
333 ../llvm/configure \ | 1016 ../llvm/configure \ |
| 1017 --disable-compiler-version-checks \ |
334 --enable-optimized \ | 1018 --enable-optimized \ |
335 --disable-threads \ | 1019 --disable-threads \ |
336 --disable-pthreads \ | 1020 --disable-pthreads \ |
337 --without-llvmgcc \ | 1021 --without-llvmgcc \ |
338 --without-llvmgxx | 1022 --without-llvmgxx |
339 fi | 1023 fi |
340 | 1024 |
341 if [[ -n "${gcc_toolchain}" ]]; then | 1025 if [[ -n "${gcc_toolchain}" ]]; then |
342 # Copy in the right stdlibc++.so.6 so clang can start. | 1026 # Copy in the right stdlibc++.so.6 so clang can start. |
343 mkdir -p Release+Asserts/lib | 1027 mkdir -p Release+Asserts/lib |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
394 "${TOOL_SRC_DIR}/tests/test.sh" "${LLVM_BUILD_DIR}/Release+Asserts" | 1078 "${TOOL_SRC_DIR}/tests/test.sh" "${LLVM_BUILD_DIR}/Release+Asserts" |
395 fi | 1079 fi |
396 done | 1080 done |
397 cd "${LLVM_BUILD_DIR}" | 1081 cd "${LLVM_BUILD_DIR}" |
398 ${MAKE} check-all | 1082 ${MAKE} check-all |
399 cd - | 1083 cd - |
400 fi | 1084 fi |
401 | 1085 |
402 # After everything is done, log success for this revision. | 1086 # After everything is done, log success for this revision. |
403 echo "${CLANG_AND_PLUGINS_REVISION}" > "${STAMP_FILE}" | 1087 echo "${CLANG_AND_PLUGINS_REVISION}" > "${STAMP_FILE}" |
OLD | NEW |