diff options
author | Johnny Chen <johnny.chen@apple.com> | 2010-04-07 20:53:12 +0000 |
---|---|---|
committer | Johnny Chen <johnny.chen@apple.com> | 2010-04-07 20:53:12 +0000 |
commit | 4e2f8722c4a63d5b931c13804fcd01a5b7eb9c90 (patch) | |
tree | e25e4c53861c8642fc477c6ad414903f3b7c2fbb /llvm/utils/TableGen/ARMDecoderEmitter.cpp | |
parent | b35583df52410fa30944becc57be1507c36c5ff2 (diff) | |
download | bcm5719-llvm-4e2f8722c4a63d5b931c13804fcd01a5b7eb9c90.tar.gz bcm5719-llvm-4e2f8722c4a63d5b931c13804fcd01a5b7eb9c90.zip |
Re-enable ARM/Thumb disassembler and add a workaround for a memcpy() call in
ARMDecoderEmitter.cpp, with FIXME comment.
llvm-svn: 100690
Diffstat (limited to 'llvm/utils/TableGen/ARMDecoderEmitter.cpp')
-rw-r--r-- | llvm/utils/TableGen/ARMDecoderEmitter.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/utils/TableGen/ARMDecoderEmitter.cpp b/llvm/utils/TableGen/ARMDecoderEmitter.cpp index 5fb8b6bfb23..230152195ed 100644 --- a/llvm/utils/TableGen/ARMDecoderEmitter.cpp +++ b/llvm/utils/TableGen/ARMDecoderEmitter.cpp @@ -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(); |