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