Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(157)

Side by Side Diff: tools/clang/scripts/update.sh

Issue 195623002: roll clang 198389:202554 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tools/clang/scripts/plugin_flags.sh ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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}"
OLDNEW
« no previous file with comments | « tools/clang/scripts/plugin_flags.sh ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698