- Feb 23, 2014
-
-
Saleem Abdulrasool authored
llvm-svn: 201989
-
Saleem Abdulrasool authored
.align is handled specially on certain targets. .align without any parameters on ARM indicates a default alignment (4). Handle the special case in the target parser, but fall back to the generic parser for the normal version. llvm-svn: 201988
-
Elena Demikhovsky authored
llvm-svn: 201980
-
Saleem Abdulrasool authored
This adds support for the .short and its alias .hword for adding literal values into the object file. This is similar to the .word directive, however, rather than inserting a value of 4 bytes, adds a 2-byte value. llvm-svn: 201968
-
- Feb 22, 2014
-
-
Logan Chien authored
This commit moves getSLEB128Size() and getULEB128Size() from MCAsmInfo to LEB128.h and removes some copy-and-paste code. Besides, this commit also adds some unit tests for the LEB128 functions. llvm-svn: 201937
-
Juergen Ributzka authored
[Stackmaps] Move the target-independent frame index elimination for stackmaps and patchpoints into target-specific code. The lowering of the frame index for stackmaps and patchpoints requires some target-specific magic and should therefore be handled in the target-specific eliminateFrameIndex method. This is related to <rdar://problem/16106219> llvm-svn: 201904
-
- Feb 21, 2014
-
-
Kevin Qin authored
llvm-svn: 201841
-
Rafael Espindola authored
llvm-svn: 201833
-
- Feb 20, 2014
-
-
Benjamin Kramer authored
llvm-svn: 201798
-
Oliver Stannard authored
The va_start macro for AArch64 must set va_list.__stack to the address following the last named argument on the stack, rounded up to an alignment of 8 bytes. llvm-svn: 201797
-
Chad Rosier authored
llvm-svn: 201793
-
Daniel Sanders authored
Summary: This removes the need to coerce UnknownABI to the default ABI (O32 for MIPS32, N64 for MIPS64 [*]) in both MipsSubtarget and MipsAsmParser. Clang has been updated to disable both possible default ABI's before enabling the ABI it intends to use. [*] N64 being the default for MIPS64 is not actually correct. However N32 is not fully implemented/tested yet. Depends on: D2830 Reviewers: jacksprat, matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D2832 Differential Revision: http://llvm-reviews.chandlerc.com/D2846 llvm-svn: 201792
-
NAKAMURA Takumi authored
add_public_tablegen_target is used somewhere. llvm-svn: 201787
-
Daniel Sanders authored
Summary: This is consistent with the integrated assembler. All mips64 codegen tests previously passed -mcpu. Removed -mcpu from blez_bgez.ll and const-mult.ll to cover the default case. Ideally, the two implementations of selectMipsCPU() will be merged but it's proven difficult to find a home for the function that doesn't cause link errors. For now, we'll hoist the common functionality into a function and mark it with FIXME's. Reviewers: jacksprat, matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D2830 llvm-svn: 201782
-
Craig Topper authored
[x86] Switch PAUSE instruction to use XS prefix instead of HasREPPrefix. Remove HasREPPrefix support from disassembler table generator since its now only used by CodeGenOnly instructions. llvm-svn: 201767
-
Elena Demikhovsky authored
llvm-svn: 201761
-
Elena Demikhovsky authored
AVX-512: Assembly parsing of broadcast semantic in AVX-512; imlemented by Nis Zinovy (zinovy.y.nis@intel.com) Fixed truncate i32 to i1; a test will be provided in the next commit. llvm-svn: 201757
-
- Feb 19, 2014
-
-
Reed Kotler authored
review of the previous patch that introduced this week. llvm-svn: 201723
-
Roman Divacky authored
llvm-svn: 201718
-
Rafael Espindola authored
TargetLoweringBase is implemented in CodeGen, so before this patch we had a dependency fom Target to CodeGen. This would show up as a link failure of llvm-stress when building with -DBUILD_SHARED_LIBS=ON. This fixes pr18900. llvm-svn: 201711
-
Rafael Espindola authored
r201608 made llvm corretly handle private globals with MachO. r201622 fixed a bug in it and r201624 and r201625 were changes for using private linkage, assuming that llvm would do the right thing. They all got reverted because r201608 introduced a crash in LTO. This patch includes a fix for that. The issue was that TargetLoweringObjectFile now has to be initialized before we can mangle names of private globals. This is trivially true during the normal codegen pipeline (the asm printer does it), but LTO has to do it manually. llvm-svn: 201700
-
Christian Pirker authored
llvm-svn: 201698
-
Daniel Sanders authored
This is consistent with the way CodeGen acheives this. However, CodeGen always selects mips32 (even when the architecture is mips64). llvm-svn: 201694
-
Christian Pirker authored
llvm-svn: 201692
-
Daniel Sanders authored
No functional change. llvm-svn: 201689
-
Daniel Sanders authored
llvm-svn: 201682
-
Cameron McInally authored
llvm-svn: 201681
-
Daniel Jasper authored
This causes the LLVMgold plugin to segfault. More information on the replies to r201608. llvm-svn: 201669
-
Tim Northover authored
On x86, shifting a vector by a scalar is significantly cheaper than shifting a vector by another fully general vector. Unfortunately, because SelectionDAG operates on just one basic block at a time, the shufflevector instruction that reveals whether the right-hand side of a shift *is* really a scalar is often not visible to CodeGen when it's needed. This adds another handler to CodeGenPrepare, to sink any useful shufflevector instructions down to the basic block where they're used, predicated on a target hook (since on other architectures, doing so will often just introduce extra real work). rdar://problem/16063505 llvm-svn: 201655
-
Craig Topper authored
Remove special FP opcode maps and instead add enough MRM_XX formats to handle all the FP operations. This increases format by 1 bit, but decreases opcode map by 1 bit so the TSFlags size doesn't change. llvm-svn: 201649
-
Craig Topper authored
llvm-svn: 201646
-
Craig Topper authored
llvm-svn: 201645
-
Craig Topper authored
Remove A6/A7 opcode maps. They can all be handled with a TB map, opcode of 0xa6/0xa7, and adding MRM_C0/MRM_E0 forms. Removes 376K from the disassembler tables. llvm-svn: 201641
-
- Feb 18, 2014
-
-
Rafael Espindola authored
The IR @foo = private constant i32 42 is valid, but before this patch we would produce an invalid MachO from it. It was invalid because it would use an L label in a section where the liker needs the labels in order to atomize it. One way of fixing it would be to just reject this IR in the backend, but that would not be very front end friendly. What this patch does is use an 'l' prefix in sections that we know the linker requires symbols for atomizing them. This allows frontends to just use private and not worry about which sections they go to or how the linker handles them. One small issue with this strategy is that now a symbol name depends on the section, which is not available before codegen. This is not a problem in practice. The reason is that it only happens with private linkage, which will be ignored by the non codegen users (llvm-nm and llvm-ar). llvm-svn: 201608
-
Rafael Espindola authored
This is quiet a bit less confusing now that TargetData was renamed DataLayout. llvm-svn: 201606
-
Ana Pazos authored
llvm-svn: 201601
-
Robert Lytton authored
llvm-svn: 201563
-
Robert Lytton authored
BuildMI instructions were not including MachineMemOperand information. This was discovered by 'SingleSource/Benchmarks/Stanford/Oscar' failing due to a FrameIndex load incorrectly being hoisted by postra-machine-licm. No other tests have been found to fail. llvm-svn: 201562
-
Robert Lytton authored
llvm-svn: 201561
-
Tim Northover authored
It's rather odd to have the flag enabling and disabling this pass only affect a single target. llvm-svn: 201559
-