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 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 |
262 # Echo all commands. | 927 # Echo all commands. |
263 set -x | 928 set -x |
264 | 929 |
265 NUM_JOBS=3 | 930 NUM_JOBS=3 |
266 if [[ "${OS}" = "Linux" ]]; then | 931 if [[ "${OS}" = "Linux" ]]; then |
267 NUM_JOBS="$(grep -c "^processor" /proc/cpuinfo)" | 932 NUM_JOBS="$(grep -c "^processor" /proc/cpuinfo)" |
268 elif [ "${OS}" = "Darwin" -o "${OS}" = "FreeBSD" ]; then | 933 elif [ "${OS}" = "Darwin" -o "${OS}" = "FreeBSD" ]; then |
269 NUM_JOBS="$(sysctl -n hw.ncpu)" | 934 NUM_JOBS="$(sysctl -n hw.ncpu)" |
270 fi | 935 fi |
271 | 936 |
272 if [[ -n "${gcc_toolchain}" ]]; then | 937 if [[ -n "${gcc_toolchain}" ]]; then |
273 # Use the specified gcc installation for building. | 938 # Use the specified gcc installation for building. |
274 export CC="$gcc_toolchain/bin/gcc" | 939 export CC="$gcc_toolchain/bin/gcc" |
275 export CXX="$gcc_toolchain/bin/g++" | 940 export CXX="$gcc_toolchain/bin/g++" |
276 fi | 941 fi |
277 | 942 |
278 export CFLAGS="" | 943 export CFLAGS="" |
279 export CXXFLAGS="" | 944 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 |
280 | 952 |
281 # Build bootstrap clang if requested. | 953 # Build bootstrap clang if requested. |
282 if [[ -n "${bootstrap}" ]]; then | 954 if [[ -n "${bootstrap}" ]]; then |
| 955 ABS_INSTALL_DIR="${PWD}/${LLVM_BOOTSTRAP_INSTALL_DIR}" |
283 echo "Building bootstrap compiler" | 956 echo "Building bootstrap compiler" |
284 mkdir -p "${LLVM_BOOTSTRAP_DIR}" | 957 mkdir -p "${LLVM_BOOTSTRAP_DIR}" |
285 cd "${LLVM_BOOTSTRAP_DIR}" | 958 cd "${LLVM_BOOTSTRAP_DIR}" |
286 if [[ ! -f ./config.status ]]; then | 959 if [[ ! -f ./config.status ]]; then |
287 # The bootstrap compiler only needs to be able to build the real compiler, | 960 # 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 | 961 # 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 | 962 # compiler should be as similar to the final compiler as possible, so do |
290 # keep --disable-threads & co. | 963 # keep --disable-threads & co. |
291 ../llvm/configure \ | 964 ../llvm/configure \ |
292 --enable-optimized \ | 965 --enable-optimized \ |
293 --enable-targets=host-only \ | 966 --enable-targets=host-only \ |
294 --disable-threads \ | 967 --disable-threads \ |
295 --disable-pthreads \ | 968 --disable-pthreads \ |
296 --without-llvmgcc \ | 969 --without-llvmgcc \ |
297 --without-llvmgxx | 970 --without-llvmgxx \ |
| 971 --prefix="${ABS_INSTALL_DIR}" |
298 fi | 972 fi |
299 | 973 |
| 974 MACOSX_DEPLOYMENT_TARGET=10.7 ${MAKE} -j"${NUM_JOBS}" |
| 975 if [[ -n "${run_tests}" ]]; then |
| 976 ${MAKE} check-all |
| 977 fi |
| 978 |
| 979 MACOSX_DEPLOYMENT_TARGET=10.7 ${MAKE} install |
300 if [[ -n "${gcc_toolchain}" ]]; then | 980 if [[ -n "${gcc_toolchain}" ]]; then |
301 # Copy that gcc's stdlibc++.so.6 to the build dir, so the bootstrap | 981 # Copy that gcc's stdlibc++.so.6 to the build dir, so the bootstrap |
302 # compiler can start. | 982 # compiler can start. |
303 mkdir -p Release+Asserts/lib | |
304 cp -v "$(${CXX} -print-file-name=libstdc++.so.6)" \ | 983 cp -v "$(${CXX} -print-file-name=libstdc++.so.6)" \ |
305 "Release+Asserts/lib/" | 984 "${ABS_INSTALL_DIR}/lib/" |
306 fi | 985 fi |
307 | 986 |
308 | |
309 MACOSX_DEPLOYMENT_TARGET=10.5 ${MAKE} -j"${NUM_JOBS}" | |
310 if [[ -n "${run_tests}" ]]; then | |
311 ${MAKE} check-all | |
312 fi | |
313 cd - | 987 cd - |
314 export CC="${PWD}/${LLVM_BOOTSTRAP_DIR}/Release+Asserts/bin/clang" | 988 export CC="${ABS_INSTALL_DIR}/bin/clang" |
315 export CXX="${PWD}/${LLVM_BOOTSTRAP_DIR}/Release+Asserts/bin/clang++" | 989 export CXX="${ABS_INSTALL_DIR}/bin/clang++" |
316 | 990 |
317 if [[ -n "${gcc_toolchain}" ]]; then | 991 if [[ -n "${gcc_toolchain}" ]]; then |
318 # Tell the bootstrap compiler to use a specific gcc prefix to search | 992 # Tell the bootstrap compiler to use a specific gcc prefix to search |
319 # for standard library headers and shared object file. | 993 # for standard library headers and shared object file. |
320 export CFLAGS="--gcc-toolchain=${gcc_toolchain}" | 994 export CFLAGS="--gcc-toolchain=${gcc_toolchain}" |
321 export CXXFLAGS="--gcc-toolchain=${gcc_toolchain}" | 995 export CXXFLAGS="--gcc-toolchain=${gcc_toolchain}" |
322 fi | 996 fi |
323 | 997 |
324 echo "Building final compiler" | 998 echo "Building final compiler" |
325 fi | 999 fi |
(...skipping 11 matching lines...) Expand all Loading... |
337 --without-llvmgcc \ | 1011 --without-llvmgcc \ |
338 --without-llvmgxx | 1012 --without-llvmgxx |
339 fi | 1013 fi |
340 | 1014 |
341 if [[ -n "${gcc_toolchain}" ]]; then | 1015 if [[ -n "${gcc_toolchain}" ]]; then |
342 # Copy in the right stdlibc++.so.6 so clang can start. | 1016 # Copy in the right stdlibc++.so.6 so clang can start. |
343 mkdir -p Release+Asserts/lib | 1017 mkdir -p Release+Asserts/lib |
344 cp -v "$(${CXX} ${CXXFLAGS} -print-file-name=libstdc++.so.6)" \ | 1018 cp -v "$(${CXX} ${CXXFLAGS} -print-file-name=libstdc++.so.6)" \ |
345 Release+Asserts/lib/ | 1019 Release+Asserts/lib/ |
346 fi | 1020 fi |
347 MACOSX_DEPLOYMENT_TARGET=10.5 ${MAKE} -j"${NUM_JOBS}" | 1021 MACOSX_DEPLOYMENT_TARGET=10.7 ${MAKE} -j"${NUM_JOBS}" |
348 STRIP_FLAGS= | 1022 STRIP_FLAGS= |
349 if [ "${OS}" = "Darwin" ]; then | 1023 if [ "${OS}" = "Darwin" ]; then |
350 # See http://crbug.com/256342 | 1024 # See http://crbug.com/256342 |
351 STRIP_FLAGS=-x | 1025 STRIP_FLAGS=-x |
352 fi | 1026 fi |
353 strip ${STRIP_FLAGS} Release+Asserts/bin/clang | 1027 strip ${STRIP_FLAGS} Release+Asserts/bin/clang |
354 cd - | 1028 cd - |
355 | 1029 |
356 if [[ -n "${with_android}" ]]; then | 1030 if [[ -n "${with_android}" ]]; then |
357 # Make a standalone Android toolchain. | 1031 # Make a standalone Android toolchain. |
(...skipping 18 matching lines...) Expand all Loading... |
376 # system to compile it. | 1050 # system to compile it. |
377 for CHROME_TOOL_DIR in ${chrome_tools}; do | 1051 for CHROME_TOOL_DIR in ${chrome_tools}; do |
378 TOOL_SRC_DIR="${THIS_DIR}/../${CHROME_TOOL_DIR}" | 1052 TOOL_SRC_DIR="${THIS_DIR}/../${CHROME_TOOL_DIR}" |
379 TOOL_DST_DIR="${LLVM_DIR}/tools/clang/tools/chrome-${CHROME_TOOL_DIR}" | 1053 TOOL_DST_DIR="${LLVM_DIR}/tools/clang/tools/chrome-${CHROME_TOOL_DIR}" |
380 TOOL_BUILD_DIR="${LLVM_BUILD_DIR}/tools/clang/tools/chrome-${CHROME_TOOL_DIR}" | 1054 TOOL_BUILD_DIR="${LLVM_BUILD_DIR}/tools/clang/tools/chrome-${CHROME_TOOL_DIR}" |
381 rm -rf "${TOOL_DST_DIR}" | 1055 rm -rf "${TOOL_DST_DIR}" |
382 cp -R "${TOOL_SRC_DIR}" "${TOOL_DST_DIR}" | 1056 cp -R "${TOOL_SRC_DIR}" "${TOOL_DST_DIR}" |
383 rm -rf "${TOOL_BUILD_DIR}" | 1057 rm -rf "${TOOL_BUILD_DIR}" |
384 mkdir -p "${TOOL_BUILD_DIR}" | 1058 mkdir -p "${TOOL_BUILD_DIR}" |
385 cp "${TOOL_SRC_DIR}/Makefile" "${TOOL_BUILD_DIR}" | 1059 cp "${TOOL_SRC_DIR}/Makefile" "${TOOL_BUILD_DIR}" |
386 MACOSX_DEPLOYMENT_TARGET=10.5 ${MAKE} -j"${NUM_JOBS}" -C "${TOOL_BUILD_DIR}" | 1060 MACOSX_DEPLOYMENT_TARGET=10.7 ${MAKE} -j"${NUM_JOBS}" -C "${TOOL_BUILD_DIR}" |
387 done | 1061 done |
388 | 1062 |
389 if [[ -n "$run_tests" ]]; then | 1063 if [[ -n "$run_tests" ]]; then |
390 # Run a few tests. | 1064 # Run a few tests. |
391 for CHROME_TOOL_DIR in ${chrome_tools}; do | 1065 for CHROME_TOOL_DIR in ${chrome_tools}; do |
392 TOOL_SRC_DIR="${THIS_DIR}/../${CHROME_TOOL_DIR}" | 1066 TOOL_SRC_DIR="${THIS_DIR}/../${CHROME_TOOL_DIR}" |
393 if [[ -f "${TOOL_SRC_DIR}/tests/test.sh" ]]; then | 1067 if [[ -f "${TOOL_SRC_DIR}/tests/test.sh" ]]; then |
394 "${TOOL_SRC_DIR}/tests/test.sh" "${LLVM_BUILD_DIR}/Release+Asserts" | 1068 "${TOOL_SRC_DIR}/tests/test.sh" "${LLVM_BUILD_DIR}/Release+Asserts" |
395 fi | 1069 fi |
396 done | 1070 done |
397 cd "${LLVM_BUILD_DIR}" | 1071 cd "${LLVM_BUILD_DIR}" |
398 ${MAKE} check-all | 1072 ${MAKE} check-all |
399 cd - | 1073 cd - |
400 fi | 1074 fi |
401 | 1075 |
402 # After everything is done, log success for this revision. | 1076 # After everything is done, log success for this revision. |
403 echo "${CLANG_AND_PLUGINS_REVISION}" > "${STAMP_FILE}" | 1077 echo "${CLANG_AND_PLUGINS_REVISION}" > "${STAMP_FILE}" |
OLD | NEW |