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