OSDN Git Service
Alex Light [Mon, 23 Nov 2015 18:34:49 +0000 (18:34 +0000)]
Merge "Make target-sync work with verity." am:
db001ab8d8
am:
9db399ea9a
* commit '
9db399ea9acc757164192c82c57c01c9e74356f6':
Make target-sync work with verity.
Alex Light [Mon, 23 Nov 2015 18:30:47 +0000 (18:30 +0000)]
Merge "Make target-sync work with verity."
am:
db001ab8d8
* commit '
db001ab8d8a03084079631485bc5e007b86d1dee':
Make target-sync work with verity.
Alex Light [Mon, 23 Nov 2015 18:25:02 +0000 (18:25 +0000)]
Merge "Make target-sync work with verity."
Vladimir Marko [Mon, 23 Nov 2015 17:45:40 +0000 (17:45 +0000)]
Merge "ARM64: Add support for multiply-accumulate." am:
67e0ad6df9
am:
f6dc22c5d7
* commit '
f6dc22c5d7c23774fa77f41fbce49bf3d80c5cc4':
ARM64: Add support for multiply-accumulate.
Vladimir Marko [Mon, 23 Nov 2015 17:41:26 +0000 (17:41 +0000)]
Merge "ARM64: Add support for multiply-accumulate."
am:
67e0ad6df9
* commit '
67e0ad6df9db9193fb1fb7115c249a39b1be6033':
ARM64: Add support for multiply-accumulate.
Vladimir Marko [Mon, 23 Nov 2015 17:35:55 +0000 (17:35 +0000)]
Merge "ARM64: Add support for multiply-accumulate."
David Brazdil [Mon, 23 Nov 2015 14:23:24 +0000 (14:23 +0000)]
Merge "ART: Fix wide stores in Optimizing" am:
349106d96c
am:
fb601d2eeb
* commit '
fb601d2eeba807d24296c3ff47305b83bc1ff64a':
ART: Fix wide stores in Optimizing
David Brazdil [Mon, 23 Nov 2015 14:19:45 +0000 (14:19 +0000)]
Merge "ART: Fix wide stores in Optimizing"
am:
349106d96c
* commit '
349106d96cc56399ab594aaee0beed223ee0b8f8':
ART: Fix wide stores in Optimizing
David Brazdil [Mon, 23 Nov 2015 14:17:53 +0000 (14:17 +0000)]
Merge "ART: Fix wide stores in Optimizing"
Vladimir Marko [Mon, 23 Nov 2015 14:15:22 +0000 (14:15 +0000)]
Merge "Optimizing: Avoid a PrettyMethod() call per compiled method." am:
eb4955b5aa
am:
a5c0a6c6de
* commit '
a5c0a6c6dec08f122d675e3767f6583d56851474':
Optimizing: Avoid a PrettyMethod() call per compiled method.
Vladimir Marko [Mon, 23 Nov 2015 14:13:07 +0000 (14:13 +0000)]
Merge "Optimizing: Avoid a PrettyMethod() call per compiled method."
am:
eb4955b5aa
* commit '
eb4955b5aaa82639802147a861cf230ca5294d46':
Optimizing: Avoid a PrettyMethod() call per compiled method.
Vladimir Marko [Mon, 23 Nov 2015 14:10:50 +0000 (14:10 +0000)]
Merge "Optimizing: Avoid a PrettyMethod() call per compiled method."
Vladimir Marko [Fri, 20 Nov 2015 13:02:22 +0000 (13:02 +0000)]
Optimizing: Avoid a PrettyMethod() call per compiled method.
PrettyMethod() is expensive so avoid it unless it's actually
needed.
Change-Id: I06ab29cc18e426b7dfb8c53b163757c88b53c27f
David Brazdil [Thu, 19 Nov 2015 10:29:39 +0000 (10:29 +0000)]
ART: Fix wide stores in Optimizing
SsaBuilder::VisitStoreLocal did not take into account the following:
(a) when storing a wide value, the high vreg must be invalidated,
(b) when storing into the high vreg of a wide value, the low vreg
must be invalidated.
Both situations cause overestimation of liveness but only (b) has
implications on correctness. CodeGenerator::EmitEnvironment will skip
the high vreg, causing deoptimizing and try/catch to load a wrong
value for that vreg.
In order to fix this bug, several changes had to be made to the
SsaBuilder:
(1) phis need to be initialized with a type which matches its
inputs' size,
(2) eagerly created loop header phis may end up being undefined
because of their corresponding vregs being invalidated inside
the loop; these are marked dead during input setting,
(3) the entire SSA-building algorithm should never revive an
undefined loop header phi.
Bug:
25677992
Bug: https://code.google.com/p/android/issues/detail?id=194022
Change-Id: Id8a852e38c3f5ff1c2e608b1aafd6d5ac8311e32
Nicolas Geoffray [Mon, 23 Nov 2015 12:17:52 +0000 (12:17 +0000)]
Merge "Do not change to the access check entrypoint when inlined." am:
6d92d59fb0
am:
c61ac2785c
* commit '
c61ac2785c236a556fc4d70eca7b7e0fd83060f5':
Do not change to the access check entrypoint when inlined.
Nicolas Geoffray [Mon, 23 Nov 2015 12:14:45 +0000 (12:14 +0000)]
Merge "Do not change to the access check entrypoint when inlined."
am:
6d92d59fb0
* commit '
6d92d59fb0acc1f9fde1d736f80e6cb1a8541da9':
Do not change to the access check entrypoint when inlined.
Nicolas Geoffray [Mon, 23 Nov 2015 12:11:46 +0000 (12:11 +0000)]
Merge "Do not change to the access check entrypoint when inlined."
Nicolas Geoffray [Mon, 23 Nov 2015 12:04:37 +0000 (12:04 +0000)]
Do not change to the access check entrypoint when inlined.
The allocation entrypoint that deals with access checks does
not work with inlined methods.
Fixes 542-unresolved-access-check in jit mode.
Change-Id: I02290a8b2089fcf06e2216dabf8089920b529765
Vladimir Marko [Mon, 23 Nov 2015 11:26:03 +0000 (11:26 +0000)]
Merge "Optimizing/ARM: Improve long shifts by 1." am:
f180af0fc0
am:
f2550c7330
* commit '
f2550c7330c5bc012a6aafdcc0188472ed332dc1':
Optimizing/ARM: Improve long shifts by 1.
Vladimir Marko [Mon, 23 Nov 2015 11:23:03 +0000 (11:23 +0000)]
Merge "Optimizing/ARM: Improve long shifts by 1."
am:
f180af0fc0
* commit '
f180af0fc0d0bd981dd6356848df2ba237e1a227':
Optimizing/ARM: Improve long shifts by 1.
Vladimir Marko [Mon, 23 Nov 2015 11:20:35 +0000 (11:20 +0000)]
Merge "Optimizing/ARM: Improve long shifts by 1."
Vladimir Marko [Mon, 23 Nov 2015 10:21:27 +0000 (10:21 +0000)]
Merge "Optimizing/Thumb2: Improve load/store for large offsets." am:
97cd5bb34c
am:
7d1e7e8dc4
* commit '
7d1e7e8dc4a829bef7786540cbc7aa09706bc90c':
Optimizing/Thumb2: Improve load/store for large offsets.
Vladimir Marko [Mon, 23 Nov 2015 10:18:23 +0000 (10:18 +0000)]
Merge "Optimizing/Thumb2: Improve load/store for large offsets."
am:
97cd5bb34c
* commit '
97cd5bb34ca97e7e87a030b2e1acec004fd26275':
Optimizing/Thumb2: Improve load/store for large offsets.
Vladimir Marko [Mon, 23 Nov 2015 10:15:01 +0000 (10:15 +0000)]
Merge "Optimizing/Thumb2: Improve load/store for large offsets."
Nicolas Geoffray [Mon, 23 Nov 2015 09:57:02 +0000 (09:57 +0000)]
Merge "Fix lint error." am:
dde8b86949
am:
b67e19ca71
* commit '
b67e19ca717b94d032fefd1e391c5f8f6384b6f8':
Fix lint error.
David Brazdil [Mon, 23 Nov 2015 09:56:53 +0000 (09:56 +0000)]
Merge "ART: Fix uninitialized variable" am:
911542ed69
am:
f01e70d214
* commit '
f01e70d21414a14ff0d85565560289f207744e01':
ART: Fix uninitialized variable
Nicolas Geoffray [Mon, 23 Nov 2015 09:53:30 +0000 (09:53 +0000)]
Merge "Fix lint error."
am:
dde8b86949
* commit '
dde8b8694954c0268eb12a7ccbddf07d9de262fd':
Fix lint error.
David Brazdil [Mon, 23 Nov 2015 09:53:22 +0000 (09:53 +0000)]
Merge "ART: Fix uninitialized variable"
am:
911542ed69
* commit '
911542ed69dbb8bc2fc1132c71261cc741b7afb3':
ART: Fix uninitialized variable
Nicolas Geoffray [Mon, 23 Nov 2015 09:51:01 +0000 (09:51 +0000)]
Merge "Fix lint error."
David Brazdil [Mon, 23 Nov 2015 09:50:29 +0000 (09:50 +0000)]
Merge "ART: Fix uninitialized variable"
Nicolas Geoffray [Mon, 23 Nov 2015 09:50:18 +0000 (09:50 +0000)]
Fix lint error.
Change-Id: I29632dc7e49f7ec63040455fa40fcf87e9282e5e
David Brazdil [Mon, 23 Nov 2015 09:44:52 +0000 (09:44 +0000)]
ART: Fix uninitialized variable
Change-Id: I906de334b3c3cb1e36eff4944457f4598b7c174f
David Brazdil [Mon, 23 Nov 2015 09:22:57 +0000 (09:22 +0000)]
Merge "Simplify boolean condition compared to 0" am:
2171e2ab84
am:
0af5e3b30f
* commit '
0af5e3b30f2a118530c750943dd4de9b0a383aea':
Simplify boolean condition compared to 0
David Brazdil [Mon, 23 Nov 2015 09:19:25 +0000 (09:19 +0000)]
Merge "Simplify boolean condition compared to 0"
am:
2171e2ab84
* commit '
2171e2ab84baa41770489d01df9197a3ce871262':
Simplify boolean condition compared to 0
David Brazdil [Mon, 23 Nov 2015 09:16:02 +0000 (09:16 +0000)]
Merge "Simplify boolean condition compared to 0"
Nicolas Geoffray [Mon, 23 Nov 2015 09:05:26 +0000 (09:05 +0000)]
Merge "Revert "Add stats support for existing optimizations"" am:
5d78a0f808
am:
05718eb6a9
* commit '
05718eb6a93a7525705ca5e823bdd8bea672582d':
Revert "Add stats support for existing optimizations"
Nicolas Geoffray [Mon, 23 Nov 2015 09:02:09 +0000 (09:02 +0000)]
Merge "Revert "Add stats support for existing optimizations""
am:
5d78a0f808
* commit '
5d78a0f808b4bf65e7f42880b39f2d0f3942cee6':
Revert "Add stats support for existing optimizations"
Nicolas Geoffray [Mon, 23 Nov 2015 08:59:29 +0000 (08:59 +0000)]
Merge "Revert "Add stats support for existing optimizations""
Nicolas Geoffray [Mon, 23 Nov 2015 08:59:07 +0000 (08:59 +0000)]
Revert "Add stats support for existing optimizations"
Breaks the build. Please ensure your changes build.
This reverts commit
06241b1b07fb031b7d2cf55f4b78d3444d07cc2d.
Change-Id: I68b18f99a9882719bf6654d3313531a7965b8483
Nicolas Geoffray [Mon, 23 Nov 2015 08:59:00 +0000 (08:59 +0000)]
Merge "Explicitly add HLoadClass/HClinitCheck for HNewInstance." am:
01b88a2c89
am:
43392ff9c6
* commit '
43392ff9c62fd106d087d28183b5be42ab1e2778':
Explicitly add HLoadClass/HClinitCheck for HNewInstance.
Nicolas Geoffray [Mon, 23 Nov 2015 08:58:50 +0000 (08:58 +0000)]
Merge "Add stats support for existing optimizations" am:
be0c2d9102
am:
aeb99f91a1
* commit '
aeb99f91a1690d80df50d81b1a1548cc5d10a4fa':
Add stats support for existing optimizations
Nicolas Geoffray [Mon, 23 Nov 2015 08:55:36 +0000 (08:55 +0000)]
Merge "Explicitly add HLoadClass/HClinitCheck for HNewInstance."
am:
01b88a2c89
* commit '
01b88a2c8903954ca72067bab93471b2c6aca135':
Explicitly add HLoadClass/HClinitCheck for HNewInstance.
Nicolas Geoffray [Mon, 23 Nov 2015 08:55:27 +0000 (08:55 +0000)]
Merge "Add stats support for existing optimizations"
am:
be0c2d9102
* commit '
be0c2d91027929682fa754ae21943f52b4e111b7':
Add stats support for existing optimizations
Nicolas Geoffray [Mon, 23 Nov 2015 08:51:44 +0000 (08:51 +0000)]
Merge "Explicitly add HLoadClass/HClinitCheck for HNewInstance."
Nicolas Geoffray [Mon, 23 Nov 2015 08:51:21 +0000 (08:51 +0000)]
Merge "Add stats support for existing optimizations"
Jean-Philippe Halimi [Thu, 3 Sep 2015 15:28:38 +0000 (17:28 +0200)]
Add stats support for existing optimizations
This patch adds support for the --dump-stats facility with existing
optimizations.
Change-Id: I68751b119a030952a11057cb651a3c63e87e73ea
Signed-off-by: Jean-Philippe Halimi <jean-philippe.halimi@intel.com>
Aart Bik [Sat, 21 Nov 2015 05:48:15 +0000 (05:48 +0000)]
Merge "Revert "Dynamic BCE (based on induction range analysis)"" am:
d83b9042d6
am:
08a96a5a4f
* commit '
08a96a5a4f6c78c9639af884228d28c7fb0c30fc':
Revert "Dynamic BCE (based on induction range analysis)"
Aart Bik [Sat, 21 Nov 2015 05:45:10 +0000 (05:45 +0000)]
Merge "Revert "Dynamic BCE (based on induction range analysis)""
am:
d83b9042d6
* commit '
d83b9042d67f2a7d5ca5a1f63819c97940033336':
Revert "Dynamic BCE (based on induction range analysis)"
Aart Bik [Sat, 21 Nov 2015 05:40:12 +0000 (05:40 +0000)]
Merge "Revert "Dynamic BCE (based on induction range analysis)""
Aart Bik [Sat, 21 Nov 2015 05:21:52 +0000 (05:21 +0000)]
Revert "Dynamic BCE (based on induction range analysis)"
This reverts commit
0b5849be045c5683d4a6b6b6c306abadba5f0fcc.
Change-Id: Id33f5da42bbdfb1aff7e2281417c8a7aa492df05
Rationale: so close :-( but bullhead-userdebug (linux) build in git_mnc-dr-dev-plus-aosp reported a breakage with a type inconsistency (long vs int in probably the codegen of dynamic bce); no time to investigate and fix this fully before my trip, so rolling back for now
Aart Bik [Sat, 21 Nov 2015 01:15:42 +0000 (01:15 +0000)]
Merge "Dynamic BCE (based on induction range analysis)" am:
4b0d02ccde
am:
ce8f06b043
* commit '
ce8f06b043691f9a710eb402bf80b6fbfd4a9581':
Dynamic BCE (based on induction range analysis)
Aart Bik [Sat, 21 Nov 2015 01:12:29 +0000 (01:12 +0000)]
Merge "Dynamic BCE (based on induction range analysis)"
am:
4b0d02ccde
* commit '
4b0d02ccdecad8cb138f8b272889bcbd66c0e755':
Dynamic BCE (based on induction range analysis)
Aart Bik [Sat, 21 Nov 2015 01:03:49 +0000 (01:03 +0000)]
Merge "Dynamic BCE (based on induction range analysis)"
Igor Murashkin [Sat, 21 Nov 2015 01:01:51 +0000 (01:01 +0000)]
Merge "lambda: Add support for invoke-interface for boxed innate lambdas" am:
b48cb936e6
am:
e340e9c23f
* commit '
e340e9c23f68663cbe0c4d4f961f8b56a1ea80e9':
lambda: Add support for invoke-interface for boxed innate lambdas
Alex Light [Fri, 20 Nov 2015 23:35:48 +0000 (15:35 -0800)]
Make target-sync work with verity.
It will disable verity and restart and try again if the adb remount
does not actually work.
Change-Id: Icf3589c40682e09e1c4e099f173a2e51fe8a20f9
Aart Bik [Mon, 19 Oct 2015 21:59:26 +0000 (14:59 -0700)]
Dynamic BCE (based on induction range analysis)
Rationale: A rewritten dynamic BCE that uses induction variable analysis
to generate the run-time tests before a loop in order to
eliminate bounds-checks from its body. This CL removes now
obsoleted induction related code inside the BCE module.
Also, the dynamic test generation is placed more strategically,
since we missed a few cases where static analysis does better.
Most significant performance improvements (after filtering noise) is about:
Linpack +20%
LU > +10%
Change-Id: I4e7b8bab0288beff6f98a14856e3536103d32742
Igor Murashkin [Sat, 21 Nov 2015 00:58:38 +0000 (00:58 +0000)]
Merge "lambda: Add support for invoke-interface for boxed innate lambdas"
am:
b48cb936e6
* commit '
b48cb936e6fa52d0ded29bac4f1f654cdf112ac6':
lambda: Add support for invoke-interface for boxed innate lambdas
Igor Murashkin [Sat, 21 Nov 2015 00:55:35 +0000 (00:55 +0000)]
Merge "lambda: Add support for invoke-interface for boxed innate lambdas"
Igor Murashkin [Fri, 23 Oct 2015 00:37:50 +0000 (17:37 -0700)]
lambda: Add support for invoke-interface for boxed innate lambdas
Lambda closures created with the 'create-lambda' instruction
(termed "innate lambdas") can be turned into an object with 'box-lambda'.
This CL enables support for those kinds of lambdas to work with
'invoke-interface' by generating a proxy class for the lambda.
Note: MIPS32/64 support not included.
Bug:
24618608
Bug:
25107649
Change-Id: Ic8f1bb66ebeaed4097e758a50becf1cff6ccaefb
Jeff Hao [Fri, 20 Nov 2015 23:15:05 +0000 (23:15 +0000)]
Merge "Fix null pointer in processing of enum annotations." am:
3944f7175d
am:
f8a2a7ef22
* commit '
f8a2a7ef227da65a0dc8e832697e445340a3a155':
Fix null pointer in processing of enum annotations.
Jeff Hao [Fri, 20 Nov 2015 23:11:27 +0000 (23:11 +0000)]
Merge "Fix null pointer in processing of enum annotations."
am:
3944f7175d
* commit '
3944f7175dcf60316ba58a42698ccf23c65ac57c':
Fix null pointer in processing of enum annotations.
Jeff Hao [Fri, 20 Nov 2015 23:07:59 +0000 (23:07 +0000)]
Merge "Fix null pointer in processing of enum annotations."
Jeff Hao [Fri, 20 Nov 2015 22:56:09 +0000 (14:56 -0800)]
Fix null pointer in processing of enum annotations.
Bug:
25802263
Change-Id: Ib20b7049fd3824a5eb3e396d34ef32574771d074
Nicolas Geoffray [Thu, 19 Nov 2015 13:29:02 +0000 (13:29 +0000)]
Explicitly add HLoadClass/HClinitCheck for HNewInstance.
bug:
25735083
bug:
25173758
Change-Id: Ie81cfa4fa9c47cc025edb291cdedd7af209a03db
Mathieu Chartier [Fri, 20 Nov 2015 21:59:33 +0000 (21:59 +0000)]
Merge "Pass DexPathList.Element array to openDexFileNative" am:
9ee6ec52a2
am:
1a764fb007
* commit '
1a764fb007b6144d0126ef859689bc0dcfcaa11e':
Pass DexPathList.Element array to openDexFileNative
Andreas Gampe [Fri, 20 Nov 2015 21:59:24 +0000 (21:59 +0000)]
Merge "MIPS32: Miscellaneous bit manipulations routines:" am:
e3dbda2d7c
am:
07271bcd7e
* commit '
07271bcd7eddd755c23f1371351a5870e84b0612':
MIPS32: Miscellaneous bit manipulations routines:
Mathieu Chartier [Fri, 20 Nov 2015 21:55:49 +0000 (21:55 +0000)]
Merge "Pass DexPathList.Element array to openDexFileNative"
am:
9ee6ec52a2
* commit '
9ee6ec52a2b53fc2f4e7f87296d454b3940c60c3':
Pass DexPathList.Element array to openDexFileNative
Mathieu Chartier [Fri, 20 Nov 2015 21:52:05 +0000 (21:52 +0000)]
Merge "Pass DexPathList.Element array to openDexFileNative"
Andreas Gampe [Fri, 20 Nov 2015 21:31:23 +0000 (21:31 +0000)]
Merge "MIPS32: Miscellaneous bit manipulations routines:"
am:
e3dbda2d7c
* commit '
e3dbda2d7c6a9bb0ca9a38f049457382247ed639':
MIPS32: Miscellaneous bit manipulations routines:
Andreas Gampe [Fri, 20 Nov 2015 21:27:59 +0000 (21:27 +0000)]
Merge "MIPS32: Miscellaneous bit manipulations routines:"
Hiroshi Yamauchi [Fri, 20 Nov 2015 19:07:07 +0000 (19:07 +0000)]
Merge "Kill stale dalvikvm processes at the end of the jdwp test." am:
bfc9d5103b
am:
899a9b016e
* commit '
899a9b016e30e3111c9b455d05e83aeaf3f2c8fd':
Kill stale dalvikvm processes at the end of the jdwp test.
Alex Light [Fri, 20 Nov 2015 19:07:00 +0000 (19:07 +0000)]
Merge "Fix --jvm on run-tests 960 and 961" am:
aac223f83b
am:
5fba52d09a
* commit '
5fba52d09afca426be0e275cd34f1e68bc0f1fa1':
Fix --jvm on run-tests 960 and 961
Hiroshi Yamauchi [Fri, 20 Nov 2015 19:02:59 +0000 (19:02 +0000)]
Merge "Kill stale dalvikvm processes at the end of the jdwp test."
am:
bfc9d5103b
* commit '
bfc9d5103b7764a6863d5bd944afeb6a7e520468':
Kill stale dalvikvm processes at the end of the jdwp test.
Alex Light [Fri, 20 Nov 2015 19:02:51 +0000 (19:02 +0000)]
Merge "Fix --jvm on run-tests 960 and 961"
am:
aac223f83b
* commit '
aac223f83b50140823268db33e6e7e1bd17c1bed':
Fix --jvm on run-tests 960 and 961
Hiroshi Yamauchi [Fri, 20 Nov 2015 18:55:24 +0000 (18:55 +0000)]
Merge "Kill stale dalvikvm processes at the end of the jdwp test."
Alex Light [Fri, 20 Nov 2015 18:51:59 +0000 (18:51 +0000)]
Merge "Fix --jvm on run-tests 960 and 961"
Hiroshi Yamauchi [Fri, 20 Nov 2015 00:24:31 +0000 (16:24 -0800)]
Kill stale dalvikvm processes at the end of the jdwp test.
Bug:
25800335
Change-Id: I938437d6e1ecd362b30a1dfc4db7a25538cf3211
Alex Light [Fri, 20 Nov 2015 18:37:46 +0000 (10:37 -0800)]
Fix --jvm on run-tests 960 and 961
Change-Id: I2c20e96a27c92b15a201abeca6bc3461a0912703
Mathieu Chartier [Fri, 20 Nov 2015 18:29:42 +0000 (10:29 -0800)]
Pass DexPathList.Element array to openDexFileNative
App images will use this to check for conflicts. It is required to
pass down since the class loader won't have the element array until
after all of the elements in the dex path list are loaded.
Bug:
22858531
Change-Id: I4f3d85b5e0ad542298fc8458bafe6504c263dc41
Alex Light [Fri, 20 Nov 2015 17:58:28 +0000 (17:58 +0000)]
Merge "Use arc4random when available to select delta for image relocation." am:
039404cb8d
am:
3a08475e53
* commit '
3a08475e539828287d382cc4e95ccaf2f221a0e5':
Use arc4random when available to select delta for image relocation.
Alex Light [Fri, 20 Nov 2015 17:53:10 +0000 (17:53 +0000)]
Merge "Use arc4random when available to select delta for image relocation."
am:
039404cb8d
* commit '
039404cb8d6b994e6fc247d287a0efa45c7362d4':
Use arc4random when available to select delta for image relocation.
Alex Light [Fri, 20 Nov 2015 17:48:47 +0000 (17:48 +0000)]
Merge "Use arc4random when available to select delta for image relocation."
David Srbecky [Fri, 20 Nov 2015 17:45:11 +0000 (17:45 +0000)]
Merge "Encode function signatures properly in DWARF." am:
b9ededb3b5
am:
8b16222448
* commit '
8b16222448eae403d7056384885a1839e0775480':
Encode function signatures properly in DWARF.
David Srbecky [Fri, 20 Nov 2015 17:41:22 +0000 (17:41 +0000)]
Merge "Encode function signatures properly in DWARF."
am:
b9ededb3b5
* commit '
b9ededb3b5c5422a925bb0e3b4b54ae95bf371fd':
Encode function signatures properly in DWARF.
David Srbecky [Fri, 20 Nov 2015 17:37:16 +0000 (17:37 +0000)]
Merge "Encode function signatures properly in DWARF."
Mark Mendell [Tue, 17 Nov 2015 16:16:56 +0000 (11:16 -0500)]
Simplify boolean condition compared to 0
CaffeineMarkRR Logic has some boolean flipping which can be helped by
some simplification.
Simplify non-FP (A COND_OP B) != 0 to A OPPOSITE_COND_OP B.
This is better than the original code, which would use a HBooleanNot
after the condition.
Also simplify non-FP (A COND_OP B) == 1 to A OPPOSITE_COND_OP B.
Move GetOppositeCondition to nodes.h/nodes.cc to share with Boolean
Simplification, renaming it to InsertOppositeCondition, as it inserts
the new HInstruction (unless it is a constant).
Change-Id: I34ded7758836e375de0d6fdba9239d2d451928d0
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
David Srbecky [Mon, 9 Nov 2015 18:05:48 +0000 (18:05 +0000)]
Encode function signatures properly in DWARF.
The signatures were previously stored as plain string.
The proper way in DWARF is to store them as structured tree of tags.
(for example, DW_TAG_subprogram containing DW_TAG_formal_parameter)
Note that this makes the debug sections smaller since DWARF
signatures are actually more efficient than just plain strings.
Change-Id: I6afbce28340570666d8674d07c0e324aad561dd5
Vladimir Marko [Fri, 20 Nov 2015 15:08:11 +0000 (15:08 +0000)]
Optimizing/ARM: Improve long shifts by 1.
Implement long
Shl(x,1) as LSLS+ADC,
Shr(x,1) as ASR+RRX and
UShr(x,1) as LSR+RRX.
Remove the simplification substituting Shl(x,1) with
ADD(x,x) as it interferes with some other optimizations
instead of helping them. And since it didn't help 64-bit
architectures anyway, codegen is the correct place for it.
This is now implemented for ARM and x86, so only mips32 can
be improved.
Change-Id: Idd14f23292198b2260189e1497ca5411b21743b3
Alexandre Rames [Fri, 20 Nov 2015 15:55:47 +0000 (15:55 +0000)]
ARM64: Add support for multiply-accumulate.
Change-Id: I88dc313df520480f3fd16bbabda27f9435d25368
David Brazdil [Fri, 20 Nov 2015 15:48:04 +0000 (15:48 +0000)]
Merge "Opt compiler: More strength reduction for multiplications." am:
60c4c6ad2b
am:
d8841c279f
* commit '
d8841c279fc350f1ae85887e2190b508956896a0':
Opt compiler: More strength reduction for multiplications.
David Brazdil [Fri, 20 Nov 2015 15:45:47 +0000 (15:45 +0000)]
Merge "Opt compiler: More strength reduction for multiplications."
am:
60c4c6ad2b
* commit '
60c4c6ad2b892bb00a6016a147b1cc089ba6bcb5':
Opt compiler: More strength reduction for multiplications.
David Brazdil [Fri, 20 Nov 2015 15:43:58 +0000 (15:43 +0000)]
Merge "Opt compiler: More strength reduction for multiplications."
Alexandre Rames [Fri, 20 Nov 2015 15:02:45 +0000 (15:02 +0000)]
Opt compiler: More strength reduction for multiplications.
We transform code looking like
MUL dst, src, (2^n + 1)
into
SHL tmp, src, n
ADD dst, src, tmp
and code looking like
MUL dst, src, (2^n - 1)
into
SHL tmp, src, n
SUB dst, tmp, src
Change-Id: Ia620ab68758caa70a01530b88cd65dd0444376d7
Vladimir Marko [Thu, 19 Nov 2015 21:13:52 +0000 (21:13 +0000)]
Optimizing/Thumb2: Improve load/store for large offsets.
This reduces the boot.oat size on Nexus 5 by 568KiB (0.8%).
Also change 32-bit ADD/SUB immediate to use the recommended
encoding T3 when both T3 and T4 are available.
Change-Id: I174382bda2b22da70560b947f5536acf8c1814a9
Vladimir Marko [Fri, 20 Nov 2015 10:58:20 +0000 (10:58 +0000)]
Merge "Clean up the special input in HInvokeStaticOrDirect." am:
53ced034cd
am:
6221a7024f
* commit '
6221a7024f97f0e91904b58280278883f4aae98b':
Clean up the special input in HInvokeStaticOrDirect.
Vladimir Marko [Fri, 20 Nov 2015 10:56:01 +0000 (10:56 +0000)]
Merge "Clean up the special input in HInvokeStaticOrDirect."
am:
53ced034cd
* commit '
53ced034cd81f35ea9b37ca977cf6634ddaa7cf9':
Clean up the special input in HInvokeStaticOrDirect.
Vladimir Marko [Fri, 20 Nov 2015 10:53:56 +0000 (10:53 +0000)]
Merge "Clean up the special input in HInvokeStaticOrDirect."
Alex Light [Thu, 19 Nov 2015 19:03:10 +0000 (11:03 -0800)]
Use arc4random when available to select delta for image relocation.
Bug:
25776162
Change-Id: I5a5ca5d55c231508b61d4960049ab42e19c017e2
Alex Light [Fri, 20 Nov 2015 01:35:03 +0000 (01:35 +0000)]
Merge "Revert "Use arc4random when available to select delta for image relocation."" am:
beb709a260
am:
6212c0f0a5
* commit '
6212c0f0a59bbfe8c84b5906166ec6052db6b5fa':
Revert "Use arc4random when available to select delta for image relocation."
Alex Light [Fri, 20 Nov 2015 01:30:01 +0000 (01:30 +0000)]
Merge "Revert "Use arc4random when available to select delta for image relocation.""
am:
beb709a260
* commit '
beb709a2607a00b5df33f0235f22ccdd876cee22':
Revert "Use arc4random when available to select delta for image relocation."