Re-enable ARM/Thumb disassembler and add a workaround for a memcpy() call in

ARMDecoderEmitter.cpp, with FIXME comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100690 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Johnny Chen
2010-04-07 20:53:12 +00:00
parent b39b7e5ebf
commit 3c500e6947
3 changed files with 25 additions and 4 deletions

View File

@@ -596,7 +596,11 @@ void Filter::recurse() {
bit_value_t BitValueArray[BIT_WIDTH];
// Starts by inheriting our parent filter chooser's filter bit values.
memcpy(BitValueArray, Owner->FilterBitValues, sizeof(BitValueArray));
bit_value_t *BitVals = Owner->FilterBitValues;
for (unsigned i = 0; i < BIT_WIDTH; ++i)
BitValueArray[i] = BitVals[i];
// FIXME: memcpy() is optmized out with self-hosting llvm-gcc (-O1 and -O2).
//memcpy(BitValueArray, Owner->FilterBitValues, sizeof(BitValueArray));
unsigned bitIndex;
@@ -623,7 +627,7 @@ void Filter::recurse() {
assert(FilterChooserMap.size() == 1);
return;
}
// Otherwise, create sub choosers.
for (mapIterator = FilteredInstructions.begin();
mapIterator != FilteredInstructions.end();