| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
EVT and add llvm_unreachable to the switches. Helps it compile to dramatically better code.
llvm-svn: 164919
|
|
|
|
| |
llvm-svn: 163561
|
|
|
|
| |
llvm-svn: 163557
|
|
|
|
| |
llvm-svn: 163556
|
|
|
|
|
|
| |
and update the printOperand() function accordingly.
llvm-svn: 163544
|
|
|
|
|
|
|
|
|
| |
include/llvm/Analysis/DebugInfo.h to include/llvm/DebugInfo.h.
The reasoning is because the DebugInfo module is simply an interface to the
debug info MDNodes and has nothing to do with analysis.
llvm-svn: 159312
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
up to r158925 were handled as processor specific. Making them
generic and putting tests for these modifiers in the CodeGen/Generic
directory caused a number of targets to fail.
This commit addresses that problem by having the targets call
the generic routine for generic modifiers that they don't currently
have explicit code for.
For now only generic print operands 'c' and 'n' are supported.vi
Affected files:
test/CodeGen/Generic/asm-large-immediate.ll
lib/Target/PowerPC/PPCAsmPrinter.cpp
lib/Target/NVPTX/NVPTXAsmPrinter.cpp
lib/Target/ARM/ARMAsmPrinter.cpp
lib/Target/XCore/XCoreAsmPrinter.cpp
lib/Target/X86/X86AsmPrinter.cpp
lib/Target/Hexagon/HexagonAsmPrinter.cpp
lib/Target/CellSPU/SPUAsmPrinter.cpp
lib/Target/Sparc/SparcAsmPrinter.cpp
lib/Target/MBlaze/MBlazeAsmPrinter.cpp
lib/Target/Mips/MipsAsmPrinter.cpp
MSP430 isn't represented because it did not even run with
the long existing 'c' modifier and it was not apparent what
needs to be done to get it inline asm ready.
Contributer: Jack Carter
llvm-svn: 159203
|
|
|
|
|
|
|
|
|
| |
This implements codegen support for accesses to thread-local variables
using the local-dynamic model, and adds a clean-up pass so that the base
address for the TLS block can be re-used between local-dynamic access on
an execution path.
llvm-svn: 157818
|
|
|
|
|
|
|
| |
This fixes a TODO from 2007 :) Previously, LLVM would emit the wrong
code here (see the update to test/CodeGen/X86/tls-pie.ll).
llvm-svn: 156611
|
|
|
|
| |
llvm-svn: 153935
|
|
|
|
|
|
| |
some superfluous forward declarations.
llvm-svn: 152997
|
|
|
|
|
|
| |
Patch by Joe Groff!
llvm-svn: 151183
|
|
|
|
|
|
| |
Patch by Kai Nacke!
llvm-svn: 150307
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> This IR code
> %res = call <8 x float> @llvm.x86.avx.cmp.ps.256(<8 x float> %a0, <8 x float> %a1, i8 14)
> fails with assertion:
>
> llc: X86ATTInstPrinter.cpp:62: void llvm::X86ATTInstPrinter::printSSECC(const llvm::MCInst*, unsigned int, llvm::raw_ostream&): Assertion `0 && "Invalid ssecc argument!"' failed.
> 0 llc 0x0000000001355803
> 1 llc 0x0000000001355dc9
> 2 libpthread.so.0 0x00007f79a30575d0
> 3 libc.so.6 0x00007f79a23a1945 gsignal + 53
> 4 libc.so.6 0x00007f79a23a2f21 abort + 385
> 5 libc.so.6 0x00007f79a239a810 __assert_fail + 240
> 6 llc 0x00000000011858d5 llvm::X86ATTInstPrinter::printSSECC(llvm::MCInst const*, unsigned int, llvm::raw_ostream&) + 119
I added the full testing for all possible pseudo-ops of cmp.
I extended X86AsmPrinter.cpp and X86IntelInstPrinter.cpp.
You'l also see lines alignments (unrelated to this fix) in X86IselLowering.cpp from my previous check-in.
llvm-svn: 150068
|
|
|
|
|
|
|
| |
In the case of EDInstInfo, this would actually cause a bug when -1 became 255
and was then compared >=0 in llvm-mc/Disassembler.cpp.
llvm-svn: 138825
|
|
|
|
|
|
| |
These are strictly utilities for registering targets and components.
llvm-svn: 138450
|
|
|
|
| |
llvm-svn: 135974
|
|
|
|
| |
llvm-svn: 134525
|
|
|
|
|
|
|
|
|
| |
the alias of an InstAlias instead of the thing being aliased. Because we need to
know the features that are valid for an InstAlias.
This is part of a work-in-progress.
llvm-svn: 127986
|
|
|
|
| |
llvm-svn: 124639
|
|
|
|
| |
llvm-svn: 122667
|
|
|
|
|
|
|
| |
since it is trivial and will be shared between ppc and x86.
This substantially simplifies the X86 backend also.
llvm-svn: 119089
|
|
|
|
| |
llvm-svn: 119088
|
|
|
|
| |
llvm-svn: 118896
|
|
|
|
| |
llvm-svn: 117205
|
|
|
|
|
|
|
|
| |
floating point args.
This should be the minimum set of functions that could possibly need it.
llvm-svn: 116978
|
|
|
|
|
|
| |
if any floating point arguments are passed to an external function.
llvm-svn: 116665
|
|
|
|
|
|
|
| |
been MC-ized for assembly printing. MSP430 is mostly so, but still has the
asm printer and lowering code in the printer subdir for the moment.
llvm-svn: 115360
|
|
|
|
| |
llvm-svn: 113915
|
|
|
|
| |
llvm-svn: 110224
|
|
|
|
| |
llvm-svn: 108945
|
|
|
|
|
|
|
|
| |
of AsmPrinter and InstLowering into libx86 and out of the
asmprinter subdirectory. Now X86/AsmPrinter just depends on
MC stuff, not all of codegen and LLVM IR.
llvm-svn: 108782
|
|
|
|
|
|
| |
users not to link it in (use 'x86codegen' llvm-config arg for this)
llvm-svn: 54886
|
|
|
|
| |
llvm-svn: 52860
|
|
|
|
| |
llvm-svn: 52859
|
|
|
|
| |
llvm-svn: 52836
|
|
|
|
|
|
| |
g++.dg/abi/key2.C
llvm-svn: 51458
|
|
|
|
|
|
| |
$non_lazy_ptr's and $lazy_ptr's.
llvm-svn: 51277
|
|
|
|
| |
llvm-svn: 51172
|
|
|
|
|
|
|
|
|
|
| |
are represented as "weak", but there are subtle differences
in some cases on Darwin, so we need both. The intent
is that "common" will behave identically to "weak" unless
somebody changes their target to do something else.
No functional change as yet.
llvm-svn: 51118
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
review feedback.
-enable-eh is still accepted but doesn't do anything.
EH intrinsics use Dwarf EH if the target supports that,
and are handled by LowerInvoke otherwise.
The separation of the EH table and frame move data is,
I think, logically figured out, but either one still
causes full EH info to be generated (not sure how to
split the metadata correctly).
MachineModuleInfo::needsFrameInfo is no longer used and
is removed.
llvm-svn: 49064
|
|
|
|
| |
llvm-svn: 49046
|
|
|
|
|
|
|
|
|
|
|
| |
not marked nounwind, or for all functions when -enable-eh
is set, provided the target supports Dwarf EH.
llvm-gcc generates nounwind in the right places; other FEs
will need to do so also. Given such a FE, -enable-eh should
no longer be needed.
llvm-svn: 49006
|
|
|
|
| |
llvm-svn: 47857
|
|
|
|
|
|
| |
really really really need refactoring :(
llvm-svn: 47171
|
|
|
|
|
|
|
|
|
|
|
| |
the global comment. This prevents printing things like:
... # foo
bar
when the name is "foo\nbar".
llvm-svn: 47170
|
|
|
|
|
|
| |
Spotted by Nick Kledzik.
llvm-svn: 47037
|
|
|
|
| |
llvm-svn: 46267
|
|
|
|
| |
llvm-svn: 46200
|
|
|
|
|
|
|
|
| |
as weak globals rather than commons. While not wrong,
this change tickled a latent bug in Darwin's strip,
so revert it for now as a workaround.
llvm-svn: 46144
|