Colin LeMahieu
384b462d47
[Hexagon] Adding A2_xor instruction with IR selection pattern and test.
...
llvm-svn: 222399
2014-11-19 23:22:23 +00:00
Colin LeMahieu
35e8a8aa73
[Hexagon] Adding A2_or instruction with IR selection pattern and test.
...
llvm-svn: 222396
2014-11-19 22:58:04 +00:00
Colin LeMahieu
f815ca1b0b
[Hexagon] Adding A2_and instruction.
...
llvm-svn: 222274
2014-11-18 22:45:47 +00:00
Colin LeMahieu
1d74e8f01b
[Hexagon] Adding A2_sub instruction
...
Renaming test files.
llvm-svn: 222263
2014-11-18 21:51:51 +00:00
Colin LeMahieu
f7ca7f6c70
[Hexagon] Converting from ADD_rr to A2_add which has encoding bits.
...
Adding test to show correct instruction selection and encoding.
llvm-svn: 222249
2014-11-18 20:28:11 +00:00
Aditya Nandakumar
4d9c1ff994
We can get the TLOF from the TargetMachine - so constructor no longer requires TargetLoweringObjectFile to be passed.
...
llvm-svn: 221926
2014-11-13 21:29:21 +00:00
Colin LeMahieu
00e705c691
[Hexagon]
...
NFC Renaming reserved identifier.
llvm-svn: 221898
2014-11-13 16:36:30 +00:00
Aditya Nandakumar
b93fb292df
This patch changes the ownership of TLOF from TargetLoweringBase to TargetMachine so that different subtargets could share the TLOF effectively
...
llvm-svn: 221878
2014-11-13 09:26:31 +00:00
Rafael Espindola
10f65de3be
Pass an ArrayRef to MCDisassembler::getInstruction.
...
With this patch MCDisassembler::getInstruction takes an ArrayRef<uint8_t>
instead of a MemoryObject.
Even on X86 there is a maximum size an instruction can have. Given
that, it seems way simpler and more efficient to just pass an ArrayRef
to the disassembler instead of a MemoryObject and have it do a virtual
call every time it wants some extra bytes.
llvm-svn: 221751
2014-11-12 02:04:27 +00:00
Rafael Espindola
8cb53479d4
Misc style fixes. NFC.
...
This fixes a few cases of:
* Wrong variable name style.
* Lines longer than 80 columns.
* Repeated names in comments.
* clang-format of the above.
This make the next patch a lot easier to read.
llvm-svn: 221615
2014-11-10 18:11:10 +00:00
Colin LeMahieu
02f427b6fb
[Hexagon] Adding basic Hexagon ELF object emitter.
...
llvm-svn: 221465
2014-11-06 17:05:51 +00:00
Colin LeMahieu
f858df62bd
[Hexagon] [NFC] Alphabetizing cmake files.
...
llvm-svn: 221370
2014-11-05 17:38:48 +00:00
Colin LeMahieu
f34b00f529
[Hexagon] Reverting 220584 to address ASAN errors.
...
llvm-svn: 221210
2014-11-04 00:14:36 +00:00
Sid Manning
f60eba6543
Handle ctor/init_array initialization.
...
Hexagon was not calling InitializeELF and could not select between
ctors and init_array.
Phabricator revision: http://reviews.llvm.org/D6061
llvm-svn: 221156
2014-11-03 14:56:05 +00:00
NAKAMURA Takumi
a1ef3346aa
Prune CRLF.
...
llvm-svn: 220678
2014-10-27 12:37:26 +00:00
Colin LeMahieu
a5b4b06680
[Hexagon] Resubmission of 220427
...
Modified library structure to deal with circular dependency between HexagonInstPrinter and HexagonMCInst.
Adding encoding bits for add opcode.
Adding llvm-mc tests.
Removing unit tests.
http://reviews.llvm.org/D5624
llvm-svn: 220584
2014-10-24 19:00:32 +00:00
NAKAMURA Takumi
b1cc8f92d6
Hexagon/Disassembler/LLVMBuild.txt: Update libdeps.
...
llvm-svn: 220482
2014-10-23 11:32:16 +00:00
NAKAMURA Takumi
985e79f39f
Hexagon/LLVMBuild.txt: Prune CRLF.
...
llvm-svn: 220481
2014-10-23 11:32:03 +00:00
NAKAMURA Takumi
0cdee77f2d
[CMake] Prune CRLF in CMakeLists.txt(s).
...
llvm-svn: 220480
2014-10-23 11:31:50 +00:00
NAKAMURA Takumi
d8b493b106
Revert r220427, "[Hexagon] Adding encoding bits for add opcode."
...
It brought cyclic dependecy between HexagonAsmPrinter and HexagonDesc.
llvm-svn: 220478
2014-10-23 11:31:22 +00:00
Colin LeMahieu
88461f5b7a
[Hexagon] Adding encoding bits for add opcode.
...
Adding llvm-mc tests.
Removing unit tests.
http://reviews.llvm.org/D5624
llvm-svn: 220427
2014-10-22 20:58:35 +00:00
Hans Wennborg
dbfab2bba5
Fix VS2012 build; C++11 type aliases are not supported.
...
llvm-svn: 220399
2014-10-22 17:47:49 +00:00
Colin LeMahieu
f359444940
Ammending 220393 - Removing unused decoding tables.
...
llvm-svn: 220397
2014-10-22 17:23:01 +00:00
Colin LeMahieu
05568816b4
Ammending 220393 - Removing unused functions.
...
llvm-svn: 220396
2014-10-22 17:03:19 +00:00
Colin LeMahieu
f6f8bdf091
[Hexagon] Adding basic disassembler.
...
Marking all instructions as CodeGenOnly since encoding bits are not set yet.
http://reviews.llvm.org/D5829?vs=on&id=15023&whitespace=ignore-all#toc
llvm-svn: 220393
2014-10-22 16:49:14 +00:00
Colin LeMahieu
0a3ea08c1c
Test commit
...
Fixing brief comment.
llvm-svn: 220299
2014-10-21 16:03:10 +00:00
Sid Manning
66f7ab4998
Remove unnecessary else.
...
llvm-svn: 220200
2014-10-20 13:08:19 +00:00
Sid Manning
527b1df834
Wrong attribute. LLVM_ATTRIBUTE_UNUSED not LLVM_ATTRIBUTE_USED
...
This original fix for the build break was correct. LLVM_ATTRIBUTE_USED
removes the warning message because it keeps the function in the object
file. LLVM_ATTRIBUTE_UNUSED indicates that it may or may not be used
depending on build settings.
llvm-svn: 219846
2014-10-15 20:41:17 +00:00
Sid Manning
31df72e266
Wrong attribute. LLVM_ATTRIBUTE_USED not LLVM_ATTRIBUTE_UNUSED
...
llvm-svn: 219837
2014-10-15 19:32:52 +00:00
Sid Manning
1dc01a7664
Add LLVM_ATTRIBUTE_UNUSED to function currently just used in an assert
...
Fixes break when -Wunused-function is used.
llvm-svn: 219833
2014-10-15 19:24:14 +00:00
Sid Manning
477d8386ee
Enable the instruction printer in HexagonMCTargetDesc
...
This adds the MCInstPrinter to the LLVMHexagonDesc library and removes
the dependency LLVMHexagonAsmPrinter had on LLVMHexagonDesc. This is
a prerequisite needed by the disassembler.
Phabricator Revision: http://reviews.llvm.org/D5734
llvm-svn: 219826
2014-10-15 18:27:40 +00:00
Eric Christopher
15c10d51e5
Remove the TargetMachine from DFAPacketizer since it was only
...
being used to grab subtarget specific things that we can grab
from the MachineFunction anyhow.
llvm-svn: 219650
2014-10-14 01:03:16 +00:00
Eric Christopher
f9e1101078
Remove unused argument to CreateTargetScheduleState and change
...
the TargetMachine to a TargetSubtargetInfo since everything
we wanted is off of that.
llvm-svn: 219382
2014-10-09 01:59:35 +00:00
NAKAMURA Takumi
242f8cc95b
HexagonMCCodeEmitter.cpp: Prune 2nd redundant \brief. [-Wdocumentation]
...
llvm-svn: 219073
2014-10-05 04:54:54 +00:00
NAKAMURA Takumi
ad3b39eff9
HexagonDesc: Update LLVMBuild.txt.
...
llvm-svn: 219071
2014-10-05 04:54:29 +00:00
Benjamin Kramer
7db3ef45b9
Remove unnecessary copying or replace it with moves in a bunch of places.
...
NFC.
llvm-svn: 219061
2014-10-04 16:55:56 +00:00
Hans Wennborg
52ee146fd6
HexagonMCCodeEmitter.h: deleted member functions are not supported in VS2012
...
llvm-svn: 218990
2014-10-03 17:02:28 +00:00
Sid Manning
d00c41c965
Fix build break on Hexagon
...
Differential Revision: http://reviews.llvm.org/D5600
llvm-svn: 218987
2014-10-03 13:59:01 +00:00
Sid Manning
4435e352ae
Adding skeleton for unit testing Hexagon Code Emission
...
Adding and modifying CMakeLists.txt files to run unit tests under
unittests/Target/* if the directory exists. Adding basic unit test to check
that code emitter object can be retrieved.
Differential Revision: http://reviews.llvm.org/D5523
Change by: Colin LeMahieu
llvm-svn: 218986
2014-10-03 13:18:11 +00:00
Sid Manning
f1133d5d3f
Add missing attributes !cmp.[eq,gt,gtu] instructions.
...
These instructions do not indicate they are extendable or the
number of bits in the extendable operand. Rename to match
architected names. Add a testcase for the intrinsics.
llvm-svn: 218453
2014-09-25 13:09:54 +00:00
Sid Manning
f50e99f69a
Loop instead of individual def's for each GPR.
...
Differential Revision: http://reviews.llvm.org/D5450
llvm-svn: 218305
2014-09-23 13:55:50 +00:00
Aaron Ballman
c9d2119dc2
Reverting NFC changes from r218050. Instead, the warning was disabled for GCC in r218059, so these changes are no longer required.
...
llvm-svn: 218062
2014-09-18 17:34:23 +00:00
Aaron Ballman
2e4b3f3dca
Fixing a bunch of -Woverloaded-virtual warnings due to hiding getSubtargetImpl from the base class. NFC.
...
llvm-svn: 218050
2014-09-18 13:27:14 +00:00
Sid Manning
5bfddd3329
Add missing HWEncoding to base register class.
...
This change gives tblgen the information needed to fill in the
HexagonRegEncodingTable.
llvm-svn: 217500
2014-09-10 13:09:25 +00:00
Sid Manning
da49f703af
Spelling correction
...
Another trivial spelling change.
llvm-svn: 217364
2014-09-08 13:05:23 +00:00
Benjamin Kramer
e991977346
Add override to overriden virtual methods, remove virtual keywords.
...
No functionality change. Changes made by clang-tidy + some manual cleanup.
llvm-svn: 217028
2014-09-03 11:41:21 +00:00
Craig Topper
57c93cf3ef
Remove 'virtual' keyword from methods markedwith 'override' keyword.
...
llvm-svn: 216823
2014-08-30 16:48:34 +00:00
Sid Manning
7727ac64db
Minor spelling correction.
...
Reviewers: adasgupt, jverma, sidneym
Differential Revision: http://reviews.llvm.org/D5025
llvm-svn: 216667
2014-08-28 14:16:32 +00:00
Alexey Samsonov
439f7833fd
Fix undefined behavior (left shift of negative value) in Hexagon backend.
...
This bug is reported by UBSan.
llvm-svn: 216125
2014-08-20 21:22:03 +00:00
Alexey Samsonov
08af4466dd
Cleanup: Delete seemingly unused reference to MachineDominatorTree from ScheduleDAGInstrs.
...
llvm-svn: 216124
2014-08-20 20:57:26 +00:00