summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/locations.cc
diff options
context:
space:
mode:
authorAndreas Gampe <agampe@google.com>2014-12-29 17:43:08 -0800
committerAndreas Gampe <agampe@google.com>2015-01-15 10:21:11 -0800
commit71fb52fee246b7d511f520febbd73dc7a9bbca79 (patch)
tree444d91e910433aaf887bbdada28dfaa3160bebc2 /compiler/optimizing/locations.cc
parent420457e6040184a6e1639a4c84fcc8e237bd8a3d (diff)
downloadart-71fb52fee246b7d511f520febbd73dc7a9bbca79.tar.gz
art-71fb52fee246b7d511f520febbd73dc7a9bbca79.tar.bz2
art-71fb52fee246b7d511f520febbd73dc7a9bbca79.zip
ART: Optimizing compiler intrinsics
Add intrinsics infrastructure to the optimizing compiler. Add almost all intrinsics supported by Quick to the x86-64 backend. Further intrinsics require more assembler support. Change-Id: I48de9b44c82886bb298d16e74e12a9506b8e8807
Diffstat (limited to 'compiler/optimizing/locations.cc')
-rw-r--r--compiler/optimizing/locations.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/compiler/optimizing/locations.cc b/compiler/optimizing/locations.cc
index ed5e260a5b..9f2f9ece85 100644
--- a/compiler/optimizing/locations.cc
+++ b/compiler/optimizing/locations.cc
@@ -20,7 +20,9 @@
namespace art {
-LocationSummary::LocationSummary(HInstruction* instruction, CallKind call_kind)
+LocationSummary::LocationSummary(HInstruction* instruction,
+ CallKind call_kind,
+ bool intrinsified)
: inputs_(instruction->GetBlock()->GetGraph()->GetArena(), instruction->InputCount()),
temps_(instruction->GetBlock()->GetGraph()->GetArena(), 0),
environment_(instruction->GetBlock()->GetGraph()->GetArena(),
@@ -29,7 +31,8 @@ LocationSummary::LocationSummary(HInstruction* instruction, CallKind call_kind)
call_kind_(call_kind),
stack_mask_(nullptr),
register_mask_(0),
- live_registers_() {
+ live_registers_(),
+ intrinsified_(intrinsified) {
inputs_.SetSize(instruction->InputCount());
for (size_t i = 0; i < instruction->InputCount(); ++i) {
inputs_.Put(i, Location());