Benjamin Kramer
a1e84a1998
Turn the DenseSet in MCRegisterClass into a tblgenerated bit field. This should be faster and smaller.
...
Goodbye static ctors and dtors!
llvm-svn: 135836
2011-07-23 00:47:49 +00:00
Benjamin Kramer
0fc2a68e8f
Give TargetRegisterClass a pointer to the MCRegisterClass and use it to access its data.
...
This makes TargetRegisterClass slightly slower. Next step will be making contains faster.
Eventually TargetRegisterClass will be killed entirely.
llvm-svn: 135835
2011-07-23 00:47:46 +00:00
Evan Cheng
13d54fc7c9
Move TargetAsmParser.h TargetAsmBackend.h and TargetAsmLexer.h to MC where they belong.
...
llvm-svn: 135833
2011-07-23 00:45:41 +00:00
NAKAMURA Takumi
0912faa08f
CMake: Fix LLVM_NATIVE_TARGETMC in config.h.cmake.
...
llvm-svn: 135832
2011-07-23 00:45:23 +00:00
NAKAMURA Takumi
e8c8f7fe0e
config.h.cmake: Reorder along config.h.in.
...
llvm-svn: 135831
2011-07-23 00:45:16 +00:00
Andrew Trick
53ed0491c0
Move trip count discovery outside of the generic LoopUnroll helper. This
...
removes its dependence on canonical induction variables.
llvm-svn: 135829
2011-07-23 00:33:05 +00:00
Andrew Trick
6dc31a31ed
whitespace
...
llvm-svn: 135828
2011-07-23 00:29:16 +00:00
Evan Cheng
f2dd840123
createXXXMCCodeGenInfo should be static.
...
llvm-svn: 135826
2011-07-23 00:01:04 +00:00
Evan Cheng
41aa34c417
Sink ARM mc routines into MCTargetDesc.
...
llvm-svn: 135825
2011-07-23 00:00:19 +00:00
Jim Grosbach
dd6b9fa0da
ARM SSAT instruction 5-bit immediate handling.
...
The immediate is in the range 1-32, but is encoded as 0-31 in a 5-bit bitfield.
Update the representation such that we store the operand as 0-31, allowing us
to remove the encoder method and the special case handling in the disassembler.
Update the assembly parser and the instruction printer accordingly.
llvm-svn: 135823
2011-07-22 23:16:18 +00:00
Dan Gohman
1c4dff0ab3
Move the last uses of RetainFunc etc. over to using getRetainCallee() etc.
...
so that a declaration for objc_retain is created when needed if it doesn't
already exist. rdar://9825114.
llvm-svn: 135821
2011-07-22 22:29:21 +00:00
Oscar Fuentes
260c1b0c41
Teach cmake configured headers about LLVM_NATIVE_TARGETMC
...
llvm-svn: 135820
2011-07-22 22:21:47 +00:00
Jim Grosbach
0bfa6a6db7
Add FIXME
...
llvm-svn: 135819
2011-07-22 22:15:38 +00:00
Jim Grosbach
daf04c88c2
ARM encoding and assembly parsing tests for SMULWB, SMULWT, SMUSD and SMUSDX.
...
llvm-svn: 135818
2011-07-22 22:13:00 +00:00
Jim Grosbach
a7a6658647
ARM assembly parsing and encoding updates.
...
Tests for SMULBB, SMLALBT, SMLALTB, SMLALTT, and SMULL. Fix parsing of SMULLS.
llvm-svn: 135817
2011-07-22 22:06:05 +00:00
Benjamin Kramer
482060e67b
Use the enum value for RegClassIDs.
...
llvm-svn: 135816
2011-07-22 22:01:58 +00:00
Evan Cheng
7b4cb12a95
Combine all MC initialization routines into one. e.g. InitializeX86MCAsmInfo,
...
InitializeX86MCInstrInfo, etc. are combined into InitializeX86TargetMC.
llvm-svn: 135812
2011-07-22 21:58:54 +00:00
Chris Lattner
410e97a81b
add section to ToC
...
llvm-svn: 135811
2011-07-22 21:36:29 +00:00
Jim Grosbach
1e724e3217
ARM assembly parsing and encoding tests.
...
Add tests for SMLSD, SMLSDX, SMLSLD, SMLSLDX, SMMLA, SMMLAR, SMMLS, SMMLSR,
SMMUL, SMMULR, SMUAD and SMUADX.
llvm-svn: 135810
2011-07-22 21:34:56 +00:00
Chris Lattner
b687e3c0e6
write the long-overdue strings section of the data structure guide.
...
llvm-svn: 135809
2011-07-22 21:34:12 +00:00
Bill Wendling
d319d42aea
Emit the __compact_unwind section first. If there are any frames which weren't
...
emitted, emit them next as CIE/FDEs.
llvm-svn: 135807
2011-07-22 21:18:59 +00:00
Bill Wendling
a289f709aa
Add a method to set the compact unwind info.
...
llvm-svn: 135806
2011-07-22 21:17:05 +00:00
Bill Wendling
2eea7949c2
Add a method to get the list of FrameInfos.
...
llvm-svn: 135805
2011-07-22 21:16:32 +00:00
Bruno Cardoso Lopes
7347599e42
Fix test check!
...
llvm-svn: 135802
2011-07-22 20:55:28 +00:00
Bruno Cardoso Lopes
50a38b479a
Fix PR10422 by adding the necessary AVX UCOMISD memory versions to
...
load folding logic
llvm-svn: 135801
2011-07-22 20:53:20 +00:00
Jim Grosbach
f7780d14ce
ARM assembly parsing and encoding tests for SMLAWB/SMLAWT.
...
llvm-svn: 135800
2011-07-22 20:51:24 +00:00
Chris Lattner
2e2fa87d6b
move the section for string-like containers to follow the section for sequential containers.
...
llvm-svn: 135799
2011-07-22 20:46:49 +00:00
Jim Grosbach
7ee1e3dc6c
ARM assembly parsing and encoding tests.
...
Tests for SMLAL, SMLALBB, SMLALBT, SMLALTB, SMLALTT, SMLALD, and SMLALDX
instructions.
llvm-svn: 135798
2011-07-22 20:30:40 +00:00
Jim Grosbach
9ffa43becc
ARM assembly parsing and encoding of SMLAL instruction.
...
Fix parsing of carry-setting variant SMLALS and add tests.
llvm-svn: 135797
2011-07-22 20:18:21 +00:00
Jim Grosbach
4f1031662f
ARM encoding and assembly parsing of SMLAD{X} instructions.
...
Fix encoding of destination register. Add tests.
llvm-svn: 135796
2011-07-22 20:11:20 +00:00
Jim Grosbach
5b69318e51
ARM testcases for assembly parsing and encoding SMLA* instructions.
...
llvm-svn: 135795
2011-07-22 20:01:34 +00:00
Bruno Cardoso Lopes
5382a1e65e
Add v8f32->v8i32 bitcast. Fixes PR10440
...
llvm-svn: 135794
2011-07-22 19:51:02 +00:00
Rafael Espindola
0c8190c4a3
Turn shuffles into unpacks for VT == MVT::v2i64 and MVT::v2f64
...
too. Patch by Jeff Muizelaar.
llvm-svn: 135789
2011-07-22 18:56:05 +00:00
Dan Gohman
734f165c30
Fix x86's XALUO lowering to return its replacement values instead
...
of doing the RAUW calls for the overflow value itself. This makes
it more consistent with how the rest of LegalizeDAG works.
llvm-svn: 135788
2011-07-22 18:45:15 +00:00
Benjamin Kramer
7ca016ba15
llvm-objdump: Don't ignore errors from raw_fd_ostream.
...
llvm-svn: 135787
2011-07-22 18:35:11 +00:00
Benjamin Kramer
3a31700631
llvm-objdump: Skip branches that leave the current function.
...
In "normal" code these only happen when disassembling data, so we
won't lose anything if we just drop them.
llvm-svn: 135786
2011-07-22 18:35:09 +00:00
Owen Anderson
42c1cb92e5
Fix test failures caused by my so_reg refactoring.
...
llvm-svn: 135785
2011-07-22 18:30:30 +00:00
Jim Grosbach
ebd66f344c
ARM assembly parsing and encoding for SMC instruction.
...
llvm-svn: 135782
2011-07-22 18:13:31 +00:00
Jim Grosbach
c80a7c4e75
Clean up a few more comments.
...
These instruction definitions are for the assembler, too, not just the
disassembler.
llvm-svn: 135781
2011-07-22 18:06:01 +00:00
Jim Grosbach
c3612faf56
ARM encoding and assembly parsing tests.
...
Add tests for SHADD8, SHADD16, SHASX, SHSUB8, and SHSUB16.
llvm-svn: 135780
2011-07-22 18:04:48 +00:00
Jim Grosbach
8168e689c0
Tidy up.
...
llvm-svn: 135779
2011-07-22 18:04:10 +00:00
Jim Grosbach
bab60c95e1
Thumb assembly support for SETEND instruction.
...
llvm-svn: 135778
2011-07-22 17:52:23 +00:00
Jim Grosbach
98e7733a08
Tidy up.
...
llvm-svn: 135777
2011-07-22 17:46:13 +00:00
Jim Grosbach
0fe45ec0ed
ARM assembly parsing and encoding for SETEND instruction.
...
Add parsing and diagnostics for malformed inputs. Tests for diagnostics and
for correct encodings.
llvm-svn: 135776
2011-07-22 17:44:50 +00:00
Jim Grosbach
2bb9f8ae56
ARM assembly parsing and encoding tests for SEL instruction.
...
llvm-svn: 135772
2011-07-22 16:59:33 +00:00
Jim Grosbach
97f089a499
Tidy up.
...
llvm-svn: 135771
2011-07-22 16:59:04 +00:00
Benjamin Kramer
b4a1e2fe07
Remove unused variables.
...
llvm-svn: 135768
2011-07-22 16:06:09 +00:00
Jay Foad
5ceaa632f9
Fix more MSVC warnings caused by a cases I missed when converting
...
ConstantExpr::getGetElementPtr to use ArrayRef.
llvm-svn: 135762
2011-07-22 08:52:50 +00:00
Jay Foad
42463ed852
Convert IRBuilder::CreateGEP and IRBuilder::CreateInBoundsGEP to use
...
ArrayRef.
llvm-svn: 135761
2011-07-22 08:16:57 +00:00
Chandler Carruth
ace8fa5233
Move TargetRegistry.cpp from lib/Support to lib/Target where it belongs.
...
The header file was already properly located. The previous need for it
in Support had to do with the version string printing which was fixed in
r135757.
Also update build dependencies where libraries that needed the
functionality of the Target library (in the form of the TargetRegistry)
were picking it up via Support. This is pretty pervasive, essentially
every TargetInfo library (ARMInfo, etc) uses TargetRegistry, making it
depend on Target. All of these were previously just sneaking by.
llvm-svn: 135760
2011-07-22 08:16:53 +00:00