[llvm-commits] [llvm] r100690 - in /llvm/trunk: lib/Target/ARM/Disassembler/Makefile lib/Target/ARM/Makefile utils/TableGen/ARMDecoderEmitter.cpp
Johnny Chen
johnny.chen at apple.com
Wed Apr 7 13:53:13 PDT 2010
Author: johnny
Date: Wed Apr 7 15:53:12 2010
New Revision: 100690
URL: http://llvm.org/viewvc/llvm-project?rev=100690&view=rev
Log:
Re-enable ARM/Thumb disassembler and add a workaround for a memcpy() call in
ARMDecoderEmitter.cpp, with FIXME comment.
Added:
llvm/trunk/lib/Target/ARM/Disassembler/Makefile
Modified:
llvm/trunk/lib/Target/ARM/Makefile
llvm/trunk/utils/TableGen/ARMDecoderEmitter.cpp
Added: llvm/trunk/lib/Target/ARM/Disassembler/Makefile
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/Disassembler/Makefile?rev=100690&view=auto
==============================================================================
--- llvm/trunk/lib/Target/ARM/Disassembler/Makefile (added)
+++ llvm/trunk/lib/Target/ARM/Disassembler/Makefile Wed Apr 7 15:53:12 2010
@@ -0,0 +1,16 @@
+##===- lib/Target/ARM/Disassembler/Makefile ----------------*- Makefile -*-===##
+#
+# The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+#
+##===----------------------------------------------------------------------===##
+
+LEVEL = ../../../..
+LIBRARYNAME = LLVMARMDisassembler
+
+# Hack: we need to include 'main' arm target directory to grab private headers
+CPPFLAGS = -I$(PROJ_OBJ_DIR)/.. -I$(PROJ_SRC_DIR)/..
+
+include $(LEVEL)/Makefile.common
Modified: llvm/trunk/lib/Target/ARM/Makefile
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/Makefile?rev=100690&r1=100689&r2=100690&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/Makefile (original)
+++ llvm/trunk/lib/Target/ARM/Makefile Wed Apr 7 15:53:12 2010
@@ -16,8 +16,9 @@
ARMGenRegisterInfo.inc ARMGenInstrNames.inc \
ARMGenInstrInfo.inc ARMGenAsmWriter.inc \
ARMGenDAGISel.inc ARMGenSubtarget.inc \
- ARMGenCodeEmitter.inc ARMGenCallingConv.inc
+ ARMGenCodeEmitter.inc ARMGenCallingConv.inc \
+ ARMGenDecoderTables.inc
-DIRS = AsmPrinter AsmParser TargetInfo
+DIRS = AsmPrinter AsmParser Disassembler TargetInfo
include $(LEVEL)/Makefile.common
Modified: llvm/trunk/utils/TableGen/ARMDecoderEmitter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/ARMDecoderEmitter.cpp?rev=100690&r1=100689&r2=100690&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/ARMDecoderEmitter.cpp (original)
+++ llvm/trunk/utils/TableGen/ARMDecoderEmitter.cpp Wed Apr 7 15:53:12 2010
@@ -596,7 +596,11 @@
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 @@
assert(FilterChooserMap.size() == 1);
return;
}
-
+
// Otherwise, create sub choosers.
for (mapIterator = FilteredInstructions.begin();
mapIterator != FilteredInstructions.end();
More information about the llvm-commits
mailing list