Richard Osborne
bbb772ace9
Add extra SEXT pattern.
...
llvm-svn: 77920
2009-08-02 22:45:24 +00:00
Bill Wendling
d35fbe4595
The x86 jit doesn't generate a def_cfa_offset unwind instruction after the
...
pushes in the function prolog if the function doesn't have any stack space,
i.e. for a prolog like:
0x40011870: push %r15
0x40011872: push %r14
0x40011874: push %rbx
Patch by Zoltan!
llvm-svn: 77919
2009-08-02 22:25:37 +00:00
Daniel Dunbar
31b44e8f6c
Normalize Subtarget constructors to take a target triple string instead of
...
Module*.
Also, dropped uses of TargetMachine where unnecessary. The only target which
still takes a TargetMachine& is Mips, I would appreciate it if someone would
normalize this to match other targets.
llvm-svn: 77918
2009-08-02 22:11:08 +00:00
Jakob Stoklund Olesen
7dc3b72685
Remove unneeded intrinsics from Blackfin backend.
...
__builtin_bfin_ones does the same as ctpop, so it can be implemented in the front-end.
__builtin_bfin_loadbytes loads from an unaligned pointer with the disalignexcpt instruction. It does the same as loading from a pointer with the low bits masked. It is better if the front-end creates a masked load. We can always instruction select the masked to disalignexcpt+load.
We keep csync/ssync/idle. These intrinsics represent instructions that need workarounds for some silicon revisions. We may even want to convert inline assembler to intrinsics to enable the workarounds.
llvm-svn: 77917
2009-08-02 21:49:05 +00:00
Nick Lewycky
133d9105d3
Fix the build for people with oprofile installed.
...
llvm-svn: 77914
2009-08-02 20:51:44 +00:00
Daniel Dunbar
381b89d3f1
Empty arguments need to be quoted on Win32.
...
llvm-svn: 77913
2009-08-02 20:41:09 +00:00
Jakob Stoklund Olesen
185eb035e9
Fix issue in regscavenger when scavenging a callee-saved register that has not been spilled.
...
llvm-svn: 77912
2009-08-02 20:29:41 +00:00
Edward O'Callaghan
4bf58b8add
One two many newlines at end of file LLVMContextImpl.cpp
...
llvm-svn: 77911
2009-08-02 20:06:26 +00:00
Edward O'Callaghan
2dd529c9ef
Fix no newline at end of LLVMContextImpl.cpp
...
llvm-svn: 77907
2009-08-02 19:38:12 +00:00
Jakob Stoklund Olesen
c59cd9bcd0
Never add a kill flag to a constrained physical register in a two-addr instruction.
...
llvm-svn: 77906
2009-08-02 19:13:03 +00:00
Jakob Stoklund Olesen
5d52bfbbc9
Scavenger asserts.
...
Allow imp-def and imp-use of anything in the scavenger asserts, just like the machine code verifier.
Allow redefinition of a sub-register of a live register.
llvm-svn: 77904
2009-08-02 18:28:41 +00:00
Jakob Stoklund Olesen
2a21149b20
Add some basic blackfin intrinsics.
...
llvm-svn: 77903
2009-08-02 18:28:11 +00:00
Jakob Stoklund Olesen
ddddf2d549
Add support for CPU features (i.e., bugs) and workarounds.
...
This is just the framework to identify the needed workarounds. They are not actually implemented.
llvm-svn: 77902
2009-08-02 18:27:36 +00:00
Jakob Stoklund Olesen
b052972a58
Inline assembly support for Blackfin.
...
We use the same constraints as GCC, including those that are slightly insane for inline assembler.
llvm-svn: 77899
2009-08-02 17:39:17 +00:00
Jakob Stoklund Olesen
552d8d6618
Analog Devices Blackfin back-end.
...
Generate code for the Blackfin family of DSPs from Analog Devices:
http://www.analog.com/en/embedded-processing-dsp/blackfin/processors/index.html
We aim to be compatible with the exsisting GNU toolchain found at:
http://blackfin.uclinux.org/gf/project/toolchain
The back-end is experimental.
llvm-svn: 77897
2009-08-02 17:32:10 +00:00
Dan Gohman
3f323847bc
Avoid forming a SELECT_CC in a type that the target doesn't
...
support. This isn't immediately interesting, because Legalize
ends up lowering SELECT_CC if the target doesn't support it,
but this simplifies the process.
Also, if the SELECT_CC would be expanded in Legalize, it
can potentially end up with two copies of the condition
expression. By leaving it as SELECT+SETCC, the SELECT can be
expanded into two SELECTs that use a single SETCC.
The two comparisons are usually CSE'd, but depending on
when various expressions get legalized, the comparison
expression could involve calls to library functions, such
that the comparison expression may not be able to be CSE'd.
This will be needed by a future patch.
llvm-svn: 77896
2009-08-02 16:19:38 +00:00
Dan Gohman
757eee8a27
Fix indentation.
...
llvm-svn: 77895
2009-08-02 16:10:52 +00:00
Dan Gohman
73efcaf6e1
Add a comment.
...
llvm-svn: 77894
2009-08-02 16:10:01 +00:00
Dan Gohman
1ccfa8bdc1
Resync lea32addr and lea64addr.
...
llvm-svn: 77893
2009-08-02 16:09:17 +00:00
Benjamin Kramer
666cf9d2f2
Remove duplicated colons and spaces.
...
llvm-svn: 77892
2009-08-02 12:13:02 +00:00
Jakob Stoklund Olesen
f70d50419e
Handle <undef> flag in machine code verifier.
...
Use of an <undef> register is treated like an <imp-use>. It is not an error to use a dead <undef> register.
llvm-svn: 77890
2009-08-02 07:38:21 +00:00
Chris Lattner
1472cf5b3f
move dwarf debug info section selection stuff from TAI to
...
TLOF, unifying all the dwarf targets at the same time.
llvm-svn: 77889
2009-08-02 07:24:22 +00:00
Chris Lattner
c784feba8e
convert EHFrameSection to be managed by TLOF instead of TAI.
...
llvm-svn: 77888
2009-08-02 06:52:36 +00:00
Chris Lattner
bdde99bd42
I need Triple information, 10.6 shouldn't set this, it bloats
...
object files.
llvm-svn: 77887
2009-08-02 06:51:58 +00:00
Chris Lattner
8a0db7516e
ARM TAI no longer needs a TM, but createTargetAsmInfo() still does.
...
llvm-svn: 77878
2009-08-02 05:23:52 +00:00
Chris Lattner
e98a3c3ca3
Move the getInlineAsmLength virtual method from TAI to TII, where
...
the only real caller (GetFunctionSizeInBytes) uses it.
The custom ARM implementation of this is basically reimplementing
an assembler poorly for negligible gain. It should be removed
IMNSHO, but I'll leave that to ARMish folks to decide.
llvm-svn: 77877
2009-08-02 05:20:37 +00:00
Chris Lattner
0161419259
move a virtual method body to its .cpp file to avoid a #include
...
in a header.
llvm-svn: 77874
2009-08-02 04:58:19 +00:00
Chris Lattner
1fe76c385b
turn some templated inline functions into static functions.
...
llvm-svn: 77873
2009-08-02 04:52:00 +00:00
Chris Lattner
df672c2bb2
alpha TAI doesn't need TM.
...
llvm-svn: 77872
2009-08-02 04:46:05 +00:00
Chris Lattner
d4c8fd44ee
MSP430 TAI doesn't need TM.
...
llvm-svn: 77871
2009-08-02 04:45:22 +00:00
Chris Lattner
d45a7860ec
simplify SPULinuxTargetAsmInfo, remove use of TM.
...
llvm-svn: 77869
2009-08-02 04:44:33 +00:00
Chris Lattner
2be66ce420
xcore TAI doesn't need TM.
...
llvm-svn: 77868
2009-08-02 04:42:09 +00:00
Chris Lattner
3ea23cff65
PIC16 TAI doesn't need TM
...
llvm-svn: 77867
2009-08-02 04:41:14 +00:00
Chris Lattner
fb53861ee0
remove the dead ELFTargetAsmInfo.h/cpp file. TargetAsmInfo
...
defaults to being ELF.
llvm-svn: 77866
2009-08-02 04:33:09 +00:00
Chris Lattner
7ee0246f51
eliminate the TM argument to the TAI class, remove comment about supporting
...
solaris :)
llvm-svn: 77865
2009-08-02 04:32:07 +00:00
Chris Lattner
d39874e6ec
eliminate TargetMAchine argument to sparc TAI
...
llvm-svn: 77864
2009-08-02 04:30:59 +00:00
Chris Lattner
b25afe081c
remove TargetAsmInfo::TM, which is now dead. The basic TAI class now
...
no longer depends on TM!
llvm-svn: 77863
2009-08-02 04:27:24 +00:00
Chris Lattner
cecdb9e772
remove the x86/ppc impls of getEHGlobalPrefix, which is already dead.
...
llvm-svn: 77861
2009-08-02 04:13:22 +00:00
Daniel Dunbar
2eaf396c41
Add missing flush().
...
llvm-svn: 77859
2009-08-02 04:12:28 +00:00
Chris Lattner
f526fb7e9a
clean up #includes of TargetAsmInfo.cpp
...
llvm-svn: 77858
2009-08-02 04:09:22 +00:00
Chris Lattner
29c6c43cd0
remove the dead PreferredEHDataFormat TAI hook: its now dead
...
even considering #if 0 code.
llvm-svn: 77856
2009-08-02 04:02:52 +00:00
Chris Lattner
7005cd3fa0
Fix some fixme's in #if 0'd code by making it dependent on the structural
...
behavior of the LSDA section instead of on some random target hook that
needs to be kept in synch with other points of truth.
llvm-svn: 77855
2009-08-02 03:59:56 +00:00
Chris Lattner
c16c75ea9b
move getDwarfExceptionSection from TAI to TLOF and rename it to
...
getLSDASection() to be more specific. This makes it pretty obvious
that the ELF LSDA section is being specified wrong in PIC mode. We're
probably getting a lot of startup-time relocations to a readonly page,
which is expensive and bad.
Someone who cares about ELF C++ should investigate this.
llvm-svn: 77847
2009-08-02 01:34:32 +00:00
Daniel Dunbar
cc5e54e986
Fix a possible crash on delete of an uninitialized variable.
...
llvm-svn: 77846
2009-08-02 01:25:15 +00:00
Dan Gohman
321dc97adf
Don't call SectionForGlobal for hasAvailableExternallyLinkage()
...
variables either.
llvm-svn: 77844
2009-08-02 01:18:44 +00:00
Chris Lattner
a17d2e5c21
don't call SectionForGlobal on declarations, you can't tell the section a
...
declaration will end up in.
llvm-svn: 77843
2009-08-02 01:02:43 +00:00
Chris Lattner
4e7dfafc03
convert ctors/dtors section to be in TLOF instead of
...
TAI.
llvm-svn: 77842
2009-08-02 00:34:36 +00:00
Chris Lattner
9836976567
don't override the default of this, the only difference is \t instead of ' '.
...
llvm-svn: 77838
2009-08-02 00:12:20 +00:00
Daniel Dunbar
b2aebed2dc
Change MCOperand to use Create style instead of Make style for constructing
...
operands.
llvm-svn: 77837
2009-08-02 00:09:22 +00:00
Chris Lattner
73d577c933
Make SectionKind::get() private.
...
llvm-svn: 77835
2009-08-02 00:02:44 +00:00
Chris Lattner
f8d9710b6f
(re)introduce new simpler apis for creation sectionkinds.
...
llvm-svn: 77834
2009-08-01 23:57:16 +00:00
Chris Lattner
0c40266b5a
Remove "JumpTableDataSection" from TAI, instead, have AsmPrinter
...
compute it based on what it knows. As part of this, rename getSectionForMergeableConstant
to getSectionForConstant because it works for non-mergable constants also.
The only functionality change from this is that Xcore will start dropping
its jump tables into readonly section instead of data section in -static mode.
This should be fine as the linker resolves the relocations. If this is a
problem, let me know and we'll come up with another solution.
llvm-svn: 77833
2009-08-01 23:46:12 +00:00
Chris Lattner
cc71620c86
give alpha its readonly section. This optimizes alpha, and prevents a
...
testsuite regression with a coming patch.
llvm-svn: 77832
2009-08-01 23:44:04 +00:00
Chris Lattner
84b453aca4
.rdata == .rodata on mips.
...
llvm-svn: 77827
2009-08-01 23:07:29 +00:00
Chris Lattner
b1a3309a18
no need to override the default with the default.
...
llvm-svn: 77826
2009-08-01 23:05:25 +00:00
Chris Lattner
37d60ffce0
eXtensible Systems doesn't exist any more and Reid donated this to the
...
project under the normal license, yay. :)
llvm-svn: 77823
2009-08-01 22:54:17 +00:00
Chris Lattner
61990958d8
loweringinfo is always non-null.
...
llvm-svn: 77821
2009-08-01 22:48:40 +00:00
Chris Lattner
b2bbb61f33
REmove dead fields of TAI.
...
llvm-svn: 77820
2009-08-01 22:40:22 +00:00
Chris Lattner
b4b1012d29
fix a problem Eli noticed where we would compile the attached ptrtoint
...
to:
.quad X
even on a 32-bit system, where X is not 64-bits. There isn't much that
we can do here, so we just print:
.quad ((X) & 4294967295)
instead.
llvm-svn: 77818
2009-08-01 22:25:12 +00:00
Chris Lattner
5aa4952625
update for rename
...
llvm-svn: 77817
2009-08-01 22:06:53 +00:00
Chris Lattner
d5c01136ef
fix a fixme by sinking various target-specific directives down into
...
the appropriate subclasses.
llvm-svn: 77815
2009-08-01 21:56:13 +00:00
Chris Lattner
286326ed24
coff also doesn't have a ReadOnlySection yet, (!)
...
llvm-svn: 77814
2009-08-01 21:49:24 +00:00
Chris Lattner
bc3d5f5db0
coff doesn't set a .bss seciton, so this is dead.
...
llvm-svn: 77813
2009-08-01 21:48:25 +00:00
Chris Lattner
26fb277f92
it turns out that isWeak() was basically dead anyway. Kill off SectionInfo :-/
...
llvm-svn: 77812
2009-08-01 21:46:23 +00:00
Chris Lattner
72c3e7746f
don't use isWeak anymore.
...
llvm-svn: 77810
2009-08-01 21:42:58 +00:00
Dan Gohman
9139b02cda
Fix typos in comments.
...
llvm-svn: 77806
2009-08-01 21:25:00 +00:00
Chris Lattner
c9c277ba0f
Change SectionKind to be a property that is true of a *section*, it
...
should have no state that is specific to particular globals in the
section. In this case, it means the removal of the "isWeak" and
"ExplicitSection" bits. MCSection uses the new form of SectionKind.
To handle isWeak, I introduced a new SectionInfo class, which is
SectionKind + isWeak, and it is used by the part of the code generator
that does classification of a specific global.
The ExplicitSection disappears. It is moved onto MCSection as a new
"IsDirective" bit. Since the Name of a section is either a section
or directive, it makes sense to keep this bit in MCSection. Ultimately
the creator of MCSection should canonicalize (e.g.) .text to whatever
the actual section is.
llvm-svn: 77803
2009-08-01 21:11:14 +00:00
Dan Gohman
c278621694
Minor code cleanups.
...
llvm-svn: 77795
2009-08-01 19:14:37 +00:00
Dan Gohman
3a9b9a59ea
Print the target flags as an int instead of a char, as they aren't
...
actually characters.
llvm-svn: 77794
2009-08-01 19:13:38 +00:00
Nick Lewycky
04e3a30a21
Add newline at end of file to remove gcc warning.
...
llvm-svn: 77791
2009-08-01 19:09:44 +00:00
Chris Lattner
95bad379a9
All MCSections are now required to have a SectionKind.
...
llvm-svn: 77787
2009-08-01 18:25:49 +00:00
Evan Cheng
e64f48ba8b
Workaround a couple of Darwin assembler bugs.
...
llvm-svn: 77781
2009-08-01 06:13:52 +00:00
Dan Gohman
c120612daa
Give MachineFunctionAnalysis a destructor so it can verify that
...
that it released its allocated memory.
llvm-svn: 77775
2009-08-01 04:19:43 +00:00
Dan Gohman
859103d8e7
Delete a redundant variable.
...
llvm-svn: 77774
2009-08-01 04:18:29 +00:00
Dan Gohman
7153692bdf
Minor code simplifications.
...
llvm-svn: 77769
2009-08-01 03:51:09 +00:00
Dan Gohman
edfad17d9b
Minor code simplifications.
...
llvm-svn: 77768
2009-08-01 03:42:59 +00:00
Evan Cheng
e6e8289d72
Split t2MOVCCs since some assemblers do not recognize mov shifted register alias with predicate.
...
llvm-svn: 77764
2009-08-01 01:43:45 +00:00
Dan Gohman
1987bf4561
SelectionDAGISel no longer needs to check hasAvailableExternallyLinkage,
...
as it is now a MachineFunctionPass, and MachineFunctionPass now handles
this.
llvm-svn: 77760
2009-08-01 00:42:23 +00:00
Dan Gohman
ac31be1e06
Make UnreachableMachineBlockElim preserve MachineDominatorTree and
...
MachineLoopInfo.
llc now runs MachineLoopInfo and MachineDominatorTree only twice, instead
of three times.
llvm-svn: 77759
2009-08-01 00:34:30 +00:00
Dan Gohman
d0984565de
The X86 maximal stack alignment calculator preserves the CFG. Also,
...
be more careful about the return value of runOnMachineFunction.
llvm-svn: 77758
2009-08-01 00:31:02 +00:00
Dan Gohman
6735e10fb0
X86 floating-point passes don't modify the CFG.
...
llvm-svn: 77757
2009-08-01 00:26:16 +00:00
Evan Cheng
6ab54fdb0a
Fix Thumb2 function call isel. Thumb1 and Thumb2 should share the same
...
instructions for calls since BL and BLX are always 32-bit long and BX is always
16-bit long.
Also, we should be using BLX to call external function stubs.
llvm-svn: 77756
2009-08-01 00:16:10 +00:00
Dan Gohman
82e72324dd
Use setPreservesAll in X86CodeEmitter.
...
llvm-svn: 77755
2009-07-31 23:44:16 +00:00
Dan Gohman
0402315d41
Use setPreservesAll and setPreservesCFG in CodeGen passes.
...
llvm-svn: 77754
2009-07-31 23:37:33 +00:00
Dan Gohman
10b8898ac0
SelectionDAGISel does not "preserve all", since it makes lots of changes
...
to the MachineFunction.
llvm-svn: 77753
2009-07-31 23:36:22 +00:00
Dan Gohman
dd3da92b4a
Use a range insert instead of an explicit loop.
...
llvm-svn: 77752
2009-07-31 23:36:06 +00:00
Daniel Dunbar
e0cbd9b986
llvm-mc: Fix .s output to quote section & symbol names when necessary.
...
llvm-svn: 77749
2009-07-31 23:04:32 +00:00
Owen Anderson
c8c302644c
Privatize all but one of the remaining constant tables.
...
llvm-svn: 77748
2009-07-31 22:45:43 +00:00
Bob Wilson
84aa855ead
Allow target intrinsics that return multiple values, i.e., struct types,
...
in SelectionDAGLowering::visitTargetIntrinsic.
This removes a bit of special-case code for vector types. After staring
at it for a while, I managed to convince myself that it is not necessary.
The only case where TLI.getValueType() differs from MVT::getMVT is for iPTR,
so this code could potentially make a difference for a vector of pointers.
But, it looks like that is not supported. Calling TLI.getValueType() on
a vector of pointers leads to the following sequence of calls:
TargetLowering::getValueType
MVT::getMVT
MVT::getVectorVT(iPTR, num elements)
MVT::getExtendedVectorVT
MVT::getTypeForMVT for iPTR
assertion fails "Type is not extended!"
So, unless I'm really missing something, this bit of code is irrelevant to
the current version of LLVM, which is consistent with the fact that I don't
see this code in other similar places.
llvm-svn: 77747
2009-07-31 22:41:21 +00:00
Daniel Dunbar
a4fc8d94ce
llvm-mc: A few more parsing / match tweaks.
...
- Operands which are just a label should be parsed as immediates, not memory
operands (from the assembler perspective).
- Match a few more flavors of immediates.
- Distinguish match functions for memory operands which don't take a segment
register.
- We match the .s for "hello world" now!
llvm-svn: 77745
2009-07-31 22:22:54 +00:00
Evan Cheng
95d6325859
t2BR_JT is mov pc, it's 2 byte long, not 4.
...
llvm-svn: 77744
2009-07-31 22:22:22 +00:00
Evan Cheng
9eb3f88048
Thumb2 movcc need .w suffix.
...
llvm-svn: 77743
2009-07-31 22:21:55 +00:00
Chris Lattner
f4b92a8a00
add some comments on how this is *supposed* to work. We don't
...
need the PreferredEHDataFormat hook, but I have yet-more refactoring to
do before I can zap it.
llvm-svn: 77742
2009-07-31 22:18:14 +00:00
Chris Lattner
47fc2351c0
rearrange a conditional. Even if this weren't #if 0'd out, this would
...
have no functionality change.
llvm-svn: 77741
2009-07-31 22:03:47 +00:00
David Greene
81bcae5fda
Simplify operand padding by keying off tabs in the asm stream. If
...
padding is disabled, tabs get replaced by spaces except in the case of
the first operand, where the tab is output to line up the operands after
the mnemonics.
Add some better comments and eliminate redundant code.
Fix some testcases to not assume tabs.
llvm-svn: 77740
2009-07-31 21:57:10 +00:00
Chris Lattner
63779b8d57
PreferredEHDataFormat is always call with data and global, but this whole
...
thing is #if0'd out anyway. Just simplify the code by reducing the interface.
Not deleting this is essential for Bill's continuing happiness.
llvm-svn: 77736
2009-07-31 21:39:55 +00:00
Owen Anderson
0087fe6e5c
Move the metadata constructors back to 2.5 syntax.
...
llvm-svn: 77733
2009-07-31 21:35:40 +00:00
Dan Gohman
e8c035df6f
LibCallAliasAnalysis doesn't use TargetData.
...
llvm-svn: 77729
2009-07-31 20:56:29 +00:00
Daniel Dunbar
3ebf848b47
llvm-mc/X86: Sketch match functions for immediates and memory operands.
...
Also, change scale value to always be 1 when unspecified to machine MachineInst
encoding.
llvm-svn: 77728
2009-07-31 20:53:16 +00:00
Dan Gohman
1ee6057b21
Make TargetData optional in MemoryDependenceAnalysis.
...
llvm-svn: 77727
2009-07-31 20:53:12 +00:00
Chris Lattner
d25701c114
move emitUsedDirectiveFor to TargetLoweringObjectFile and rename it to
...
indicate that it is a predicate, not an emitter. This eliminates TAI
dependencies on Mangler and GlobalValue.
llvm-svn: 77726
2009-07-31 20:52:39 +00:00
Dan Gohman
f3ee7eaac3
Remove an unnecessary header.
...
llvm-svn: 77725
2009-07-31 20:47:45 +00:00
Chris Lattner
740749b470
remove the PPCLinuxTargetAsmInfo implementation of PreferredEHDataFormat,
...
because it just calls the default impl.
Remove the PPCDarwinTargetAsmInfo version of PreferredEHDataFormat because
it just returns DW_EH_PE_absptr unless on 10.6. However, 10.6 doesn't support
PPC, so the default impl is just fine.
llvm-svn: 77724
2009-07-31 20:43:26 +00:00
Chris Lattner
5ebf64e075
remove a pointless override.
...
llvm-svn: 77723
2009-07-31 20:36:15 +00:00
Owen Anderson
5a1acd9912
Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are
...
metadata related, which I'm waiting on to avoid conflicting with Devang.
llvm-svn: 77721
2009-07-31 20:28:14 +00:00
Dan Gohman
ef3ef7f645
Fix GVN's debug output, now that operator<< on Value* doesn't print
...
a trailing newline.
llvm-svn: 77719
2009-07-31 20:24:18 +00:00
Eric Christopher
45d7185117
Whitespace and 80-col cleanup.
...
llvm-svn: 77718
2009-07-31 20:07:27 +00:00
Bill Wendling
2602bb4cdc
- Convert the rest of the DOUTs to DEBUG+errs().
...
- One formatting change.
No intended functionality change.
llvm-svn: 77717
2009-07-31 19:52:24 +00:00
Eli Friedman
ca9a4f1045
PR4662: Fix a crash introduced by the recent LLVMContext changes.
...
llvm-svn: 77716
2009-07-31 19:36:47 +00:00
Ted Kremenek
defdbdc5ca
Update CMake files.
...
llvm-svn: 77709
2009-07-31 18:50:22 +00:00
Chris Lattner
4d2c0f9008
switch off of 'Section' onto MCSection. We're not properly using
...
MCSection subclasses yet, but this is a step in the right direction.
llvm-svn: 77708
2009-07-31 18:48:30 +00:00
Dan Gohman
060ca138e2
Remove Annotation.h, which is no longer used in the LLVM tree.
...
llvm-svn: 77706
2009-07-31 18:36:25 +00:00
Evan Cheng
be8422e8e0
Until we have a "ALIGN" pseudo instruction, have asm printer emitted a .align
...
to ensure the instruction that follows a TBB (when the number of table entries
is odd) is 2-byte aligned.
Patch by Sandeep Patel.
llvm-svn: 77705
2009-07-31 18:35:56 +00:00
Dan Gohman
7baae4b355
MachineFunction no longer needs Annotation.
...
llvm-svn: 77704
2009-07-31 18:35:51 +00:00
Evan Cheng
f6d0fa3d33
- Teach TBB / TBH offset limits are 510 and 131070 respectively since the offset
...
is scaled by two.
- Teach GetInstSizeInBytes about TBB and TBH.
llvm-svn: 77701
2009-07-31 18:28:05 +00:00
Dan Gohman
b53e26c7eb
Fix printing of Alloca instructions with null operands.
...
llvm-svn: 77697
2009-07-31 18:23:24 +00:00
Dan Gohman
dc2b1b0a1c
Fix some problems with ASTCallbackVH in its use as a DenseMap key.
...
llvm-svn: 77696
2009-07-31 18:21:48 +00:00
Devang Patel
9d7de2a155
Process DbgDeclareInst.
...
llvm-svn: 77694
2009-07-31 18:18:52 +00:00
Daniel Dunbar
ca8135379e
Normalize target registration code.
...
llvm-svn: 77692
2009-07-31 18:16:53 +00:00
Dan Gohman
5ea74d55ce
Reapply r77654 with a fix: MachineFunctionPass's getAnalysisUsage
...
shouldn't do AU.setPreservesCFG(), because even though CodeGen passes
don't modify the LLVM IR CFG, they may modify the MachineFunction CFG,
and passes like MachineLoop are registered with isCFGOnly set to true.
llvm-svn: 77691
2009-07-31 18:16:33 +00:00
Chris Lattner
51d5b43cda
refactor section construction in TLOF to be through an explicit
...
initialize method, which can be called when an MCContext is available.
llvm-svn: 77687
2009-07-31 17:42:42 +00:00
Owen Anderson
23a204d91b
Move getTrue() and getFalse() to 2.5-like APIs.
...
llvm-svn: 77685
2009-07-31 17:39:07 +00:00
Chris Lattner
c10132aa79
split MCSection stuff out to its own .cpp file, add a new
...
MCSectionWithKind subclass of MCSection.
llvm-svn: 77684
2009-07-31 17:02:00 +00:00
Chris Lattner
b37f29b6f3
create sections with MCSection::Create instead of Context->getOrCreateSection.
...
This is needed to allow polymorphic sections.
llvm-svn: 77680
2009-07-31 16:43:49 +00:00
Chris Lattner
fc0264a38e
fix PR4650: we only track sizes for certain objects, so only put something
...
into the mergable section if it is one of our special cases. This could
obviously be improved, but this is the minimal fix and restores us to the
previous behavior.
llvm-svn: 77679
2009-07-31 16:17:13 +00:00
Benjamin Kramer
7e7617edf8
Work around a dangling pointer dereference when enumerating NamedMDNodes.
...
llvm-svn: 77675
2009-07-31 14:22:13 +00:00
Benjamin Kramer
b60210ebab
Fix a struct/class mismatch, to silence a MSVC warning.
...
llvm-svn: 77673
2009-07-31 11:35:26 +00:00
Sanjiv Gupta
7de154708a
define target names for std libcalls.
...
llvm-svn: 77667
2009-07-31 07:35:57 +00:00
Daniel Dunbar
5434756585
Revert r77654, it appears to be causing llvm-gcc bootstrap failures, and many
...
failures when building assorted projects with clang.
--- Reverse-merging r77654 into '.':
U include/llvm/CodeGen/Passes.h
U include/llvm/CodeGen/MachineFunctionPass.h
U include/llvm/CodeGen/MachineFunction.h
U include/llvm/CodeGen/LazyLiveness.h
U include/llvm/CodeGen/SelectionDAGISel.h
D include/llvm/CodeGen/MachineFunctionAnalysis.h
U include/llvm/Function.h
U lib/Target/CellSPU/SPUISelDAGToDAG.cpp
U lib/Target/PowerPC/PPCISelDAGToDAG.cpp
U lib/CodeGen/LLVMTargetMachine.cpp
U lib/CodeGen/MachineVerifier.cpp
U lib/CodeGen/MachineFunction.cpp
U lib/CodeGen/PrologEpilogInserter.cpp
U lib/CodeGen/MachineLoopInfo.cpp
U lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
D lib/CodeGen/MachineFunctionAnalysis.cpp
D lib/CodeGen/MachineFunctionPass.cpp
U lib/CodeGen/LiveVariables.cpp
llvm-svn: 77661
2009-07-31 03:02:41 +00:00
Daniel Dunbar
b6d6aa2d22
llvm-mc: Match a few X86 instructions.
...
- This is "experimental" code, I am feeling my way around and working out the
best way to do things (and learning tblgen in the process). Comments welcome,
but keep in mind this stuff will change radically.
- This is enough to match "subb" and friends, but not much else. The next step is to
automatically generate the matchers for individual operands.
llvm-svn: 77657
2009-07-31 02:32:59 +00:00
Dan Gohman
bcb44baa57
Manage MachineFunctions with an analysis Pass instead of the Annotable
...
mechanism. To support this, make MachineFunctionPass a little more
complete.
llvm-svn: 77654
2009-07-31 01:52:50 +00:00
Benjamin Kramer
218388fb8d
Fix cmake build.
...
llvm-svn: 77649
2009-07-31 00:35:23 +00:00
Devang Patel
98250795e8
Add getOrInsertNamedMetadata().
...
llvm-svn: 77646
2009-07-30 23:59:04 +00:00
Evan Cheng
5811ab5cf3
When fp is not eliminated, instructions with T2_i12 modes will be changed to T2_i8 ones. Take that into consideration when determining stack size limit for reserving register scavenging slot.
...
llvm-svn: 77642
2009-07-30 23:29:25 +00:00
Lang Hames
16f58557d2
Removed the BigBlock register allocator.
...
llvm-svn: 77640
2009-07-30 23:18:43 +00:00
Devang Patel
16e5124a82
Do not use abbrev while writing NamedMDNode name.
...
llvm-svn: 77637
2009-07-30 23:06:35 +00:00
Devang Patel
d14bacfb7a
Enumerate NamedMDNode elements first.
...
llvm-svn: 77636
2009-07-30 23:03:43 +00:00
Owen Anderson
b292b8ce70
Move more code back to 2.5 APIs.
...
llvm-svn: 77635
2009-07-30 23:03:37 +00:00
David Goodwin
5aae45fb6f
Remove redundant match for frame index from imm8 addrmode, it is handled by the imm12 addrmode.
...
llvm-svn: 77632
2009-07-30 22:45:52 +00:00
David Goodwin
0bfc8312c2
Darwin assembler now recognizes "orn", so remove workaround.
...
llvm-svn: 77627
2009-07-30 21:51:41 +00:00
David Goodwin
ce774e2383
Darwin assembler now supports "rrx", so remove workaround.
...
llvm-svn: 77625
2009-07-30 21:38:40 +00:00
Daniel Dunbar
a91dd9bf5f
Twine: Directly support int, long, and long long types.
...
- This should resolve Cygwin gcc ambiguities.
llvm-svn: 77624
2009-07-30 21:15:14 +00:00
Dan Gohman
f4362da1b7
Use CallbackVH in AliasSetTracker to avoid getting stuck with
...
dangling Value*s.
llvm-svn: 77623
2009-07-30 20:21:41 +00:00
David Goodwin
79c079b478
Cleanup and include code selection for some frame index cases.
...
llvm-svn: 77622
2009-07-30 18:56:48 +00:00
Devang Patel
6352444635
Start using DebugInfoFinder.
...
llvm-svn: 77621
2009-07-30 18:56:46 +00:00
Devang Patel
3f4ab29f45
Do not use getNamedValue() to lookup NamedMDNode. NamedMDNode is not a GlobalValue.
...
Thanks Benjamin Kramer!
llvm-svn: 77619
2009-07-30 18:46:29 +00:00
Daniel Dunbar
bd8556e0fb
Twine: Use raw_ostream::write_hex, remove unused itohexstr method.
...
llvm-svn: 77617
2009-07-30 18:30:19 +00:00
Devang Patel
3b4e827f2b
s/DebugInfoEnumerator/DebugInfoFinder/g
...
llvm-svn: 77615
2009-07-30 18:25:15 +00:00
Daniel Dunbar
6c9629b92a
Add raw_ostream::write_hex
...
llvm-svn: 77614
2009-07-30 18:21:23 +00:00
David Goodwin
cab137d294
Add missing D* register clobbers for Thumb-2 call.
...
llvm-svn: 77611
2009-07-30 18:01:09 +00:00
Daniel Dunbar
132f78395a
Twines: Don't allow implicit conversion from integers, this is too tricky.
...
llvm-svn: 77605
2009-07-30 17:37:43 +00:00
Devang Patel
5262314b8d
walk DbgRegionStartInst and DbgRegionEndInst
...
llvm-svn: 77604
2009-07-30 17:30:23 +00:00
Dan Gohman
703edcc553
Minor whitespace tidiness.
...
llvm-svn: 77602
2009-07-30 17:04:07 +00:00
Dan Gohman
013f007762
Rename GRAD to GR32_AD, to follow the naming convention of other
...
classes. And define its SubRegClassList.
llvm-svn: 77601
2009-07-30 17:02:08 +00:00
Chris Lattner
c667b60b93
add a random codegen deficiency.
...
llvm-svn: 77598
2009-07-30 16:08:58 +00:00
Benjamin Kramer
5656e4fcd3
fix a unitialized pointer in NamedMDNode (and reenable unittest)
...
llvm-svn: 77597
2009-07-30 15:35:55 +00:00
Sanjiv Gupta
a53e686d96
Allow targets to define libcall names for mem(cpy,set,move) intrinsics, rather than hardcoding them in DAG lowering.
...
llvm-svn: 77586
2009-07-30 09:12:56 +00:00
Evan Cheng
92df9c3323
Add a note.
...
llvm-svn: 77584
2009-07-30 08:56:19 +00:00
Evan Cheng
e62288fdd4
Optimize some common usage patterns of atomic built-ins __sync_add_and_fetch() and __sync_sub_and_fetch.
...
When the return value is not used (i.e. only care about the value in the memory), x86 does not have to use add to implement these. Instead, it can use add, sub, inc, dec instructions with the "lock" prefix.
This is currently implemented using a bit of instruction selection trick. The issue is the target independent pattern produces one output and a chain and we want to map it into one that just output a chain. The current trick is to select it into a merge_values with the first definition being an implicit_def. The proper solution is to add new ISD opcodes for the no-output variant. DAG combiner can then transform the node before it gets to target node selection.
Problem #2 is we are adding a whole bunch of x86 atomic instructions when in fact these instructions are identical to the non-lock versions. We need a way to add target specific information to target nodes and have this information carried over to machine instructions. Asm printer (or JIT) can use this information to add the "lock" prefix.
llvm-svn: 77582
2009-07-30 08:33:02 +00:00
Daniel Dunbar
6afdc5e694
Switch obvious clients to Twine instead of utostr (when they were already using
...
a Twine, e.g., for names).
- I am a little ambivalent about this; we don't want the string conversion of
utostr, but using overload '+' mixed with string and integer arguments is
sketchy. On the other hand, this particular usage is something of an idiom.
llvm-svn: 77579
2009-07-30 04:20:37 +00:00
Sanjiv Gupta
8787861004
Keep track of references to mem(cpy,move,set) and then print only one extern
...
declaration for them.
llvm-svn: 77578
2009-07-30 04:15:15 +00:00
Daniel Dunbar
e8b3236284
Twine: Provide [u]int{32,64} conversions via implicit constructors instead of
...
explicitly.
llvm-svn: 77576
2009-07-30 03:47:15 +00:00
Andreas Bolka
31d9fa2ad1
Equal SCEVs of a subscript give rise to dependence.
...
llvm-svn: 77570
2009-07-30 02:26:01 +00:00
Nate Begeman
50b69eaa36
Typo
...
llvm-svn: 77568
2009-07-30 02:00:06 +00:00
Dan Gohman
49a6f16b7c
Add a new register class to describe operands that can't be SP,
...
due to x86 encoding restrictions. This is currently off by default
because it may cause code quality regressions. This is for PR4572.
llvm-svn: 77565
2009-07-30 01:56:29 +00:00
Devang Patel
847fcacd48
Check null NameMDNode elements.
...
llvm-svn: 77559
2009-07-30 01:02:04 +00:00
Dan Gohman
652529ec9c
Eliminate a bunch of redundant tables.
...
llvm-svn: 77558
2009-07-30 00:40:42 +00:00
Bob Wilson
0dbdec8042
Lower a 128-bit BUILD_VECTOR with 2 elements to a pair of INSERT_VECTOR_ELTs.
...
llvm-svn: 77557
2009-07-30 00:31:25 +00:00
Dan Gohman
da9ba9ec2c
Use array_endof instead of doing it manually.
...
llvm-svn: 77553
2009-07-30 00:10:18 +00:00
Devang Patel
b4a4e774db
print single NamedMDNode.
...
llvm-svn: 77549
2009-07-30 00:02:57 +00:00
Evan Cheng
e3493a91cc
tbb / tbh instructions only branch forward, not backwards.
...
llvm-svn: 77522
2009-07-29 23:20:20 +00:00
Evan Cheng
1f58eed638
Add VFP3 D registers to the DPR register class.
...
llvm-svn: 77521
2009-07-29 23:03:41 +00:00
Nicolas Geoffray
956a86445c
In TrimAllocationToSize, if a block is below the minimum allocation size,
...
there is no new block added to the free list. Therefore on the next
startFunctionBody call, a new slab must be allocated.
llvm-svn: 77520
2009-07-29 22:55:02 +00:00
Douglas Gregor
47d02732e0
Eliminate a few unused-variable warnings
...
llvm-svn: 77519
2009-07-29 22:41:10 +00:00
Devang Patel
27c87fff7f
Read and write NamedMDNode.
...
llvm-svn: 77517
2009-07-29 22:34:41 +00:00
Owen Anderson
4056ca9568
Move types back to the 2.5 API.
...
llvm-svn: 77516
2009-07-29 22:17:13 +00:00
Devang Patel
23e68308b5
Print named metadata.
...
llvm-svn: 77513
2009-07-29 22:04:47 +00:00
Daniel Dunbar
98ddd164d8
Fix PR4645 which was fallout from the fix for PR4641.
...
- Call RAUW to delete all instructions (this is a patch from Nick Lewycky).
llvm-svn: 77512
2009-07-29 22:00:43 +00:00
Devang Patel
4a942d0863
There is no need to keep name ref in NamedMDNode.
...
llvm-svn: 77511
2009-07-29 21:58:56 +00:00
Chris Lattner
7667332899
inline the global 'getInstrOperandRegClass' function into its callers
...
now that TargetOperandInfo does the heavy lifting.
llvm-svn: 77508
2009-07-29 21:36:49 +00:00
Evan Cheng
175bd14967
Make sure Thumb2 uses the right call instructions.
...
llvm-svn: 77507
2009-07-29 21:26:42 +00:00
Bill Wendling
4505734342
Forgot to output the base offset.
...
llvm-svn: 77505
2009-07-29 21:19:44 +00:00
Chris Lattner
f3239532cc
1. Introduce a new TargetOperandInfo::getRegClass() helper method
...
and convert code to using it, instead of having lots of things
poke the isLookupPtrRegClass() method directly.
2. Make PointerLikeRegClass contain a 'kind' int, and store it in
the existing regclass field of TargetOperandInfo when the
isLookupPtrRegClass() predicate is set. Make getRegClass pass
this into TargetRegisterInfo::getPointerRegClass(), allowing
targets to have multiple ptr_rc things.
llvm-svn: 77504
2009-07-29 21:10:12 +00:00
Chris Lattner
ee68a483ec
Give getPointerRegClass() a "kind" value so that targets can
...
support multiple different pointer register classes.
llvm-svn: 77501
2009-07-29 20:31:52 +00:00
Evan Cheng
0d98d8b8b3
- Fix an obvious copy and paste error.
...
- Darwin Thumb2 call clobbers r9.
llvm-svn: 77500
2009-07-29 20:10:36 +00:00
Benjamin Kramer
21d75078b5
Remove now unused Context variables.
...
llvm-svn: 77495
2009-07-29 19:14:17 +00:00
Owen Anderson
487375e9a2
Move ConstantExpr to 2.5 API.
...
llvm-svn: 77494
2009-07-29 18:55:55 +00:00
Devang Patel
727a582c59
Refactor. Fix indentation.
...
llvm-svn: 77482
2009-07-29 18:15:02 +00:00
Eric Christopher
77268a56ff
Add llvm_unreachable for ... unreachable code!
...
llvm-svn: 77480
2009-07-29 18:14:04 +00:00
Daniel Dunbar
59a60c57a6
Perform simplification noticed by Reid.
...
llvm-svn: 77477
2009-07-29 17:29:36 +00:00
Devang Patel
18dfdc99af
Keep track of named mdnodes in a Module using an ilist.
...
llvm-svn: 77476
2009-07-29 17:16:17 +00:00
Bob Wilson
cf19885a32
Change Neon VLDn intrinsics to return multiple values instead of really
...
wide vectors. Likewise, change VSTn intrinsics to take separate arguments
for each vector in a multi-vector struct. Adjust tests accordingly.
llvm-svn: 77468
2009-07-29 16:39:22 +00:00
Bob Wilson
5be9ee399f
Fix an assumption that there is a single return value when verifying
...
overloaded types for intrinsic parameters.
llvm-svn: 77466
2009-07-29 16:25:56 +00:00
David Greene
ea2f1ceb4b
Re-apply previous changes and improve column padding performance some more.
...
llvm-svn: 77461
2009-07-29 16:08:27 +00:00
Dan Gohman
16cbbe43d8
Minor code simplification.
...
llvm-svn: 77459
2009-07-29 15:58:36 +00:00
Daniel Dunbar
b49994ad7e
Twines: Support numeric conversion directly (uitostr, etc).
...
- Provides static constructors for doing number to string conversions without
using temporaries.
- There are several ways to do this, I think given the Twine constraints this
is the simplest one.
- One FIXME for fast number -> hex conversion.
- Added another comment on one last major bit of perf work Twines need, which
is to make raw_svector_ostream more efficient.
llvm-svn: 77445
2009-07-29 07:08:44 +00:00
Daniel Dunbar
a94f58aee5
raw_ostream: Follow the 32-bit path when printing "small" decimal numbers.
...
llvm-svn: 77444
2009-07-29 06:45:14 +00:00
Chris Lattner
4eb9df073d
more syntactic cleanups.
...
llvm-svn: 77442
2009-07-29 06:33:53 +00:00
Chris Lattner
5e6e022770
minor smallvector cleanups
...
llvm-svn: 77441
2009-07-29 06:29:53 +00:00
Chris Lattner
6b6dbb3bd8
whitespace cleanup.
...
llvm-svn: 77438
2009-07-29 05:48:09 +00:00
Andreas Bolka
43797d15fa
Skeleton for pairwise subscript testing.
...
llvm-svn: 77437
2009-07-29 05:35:53 +00:00
Chris Lattner
e033e6da08
mingw uses .data and .text, not _data and _text.
...
llvm-svn: 77435
2009-07-29 05:25:42 +00:00
Chris Lattner
c5397abb52
fix PR4584 with a trivial patch now that the pieces are in place.
...
llvm-svn: 77434
2009-07-29 05:20:33 +00:00
Nick Lewycky
f82326b984
Bulk erasing instructions without RAUWing them is unsafe. Instead, break them
...
into a new BB that has no predecessors.
llvm-svn: 77433
2009-07-29 05:17:50 +00:00
Chris Lattner
5034329f8d
pass the mangler down into the various SectionForGlobal methods.
...
No functionality change.
llvm-svn: 77432
2009-07-29 05:09:30 +00:00
Chris Lattner
8f35574c06
constant prop a utostr.
...
llvm-svn: 77430
2009-07-29 04:55:08 +00:00
Chris Lattner
7610c57d4b
remove some completely wrong code. 1 is never < 16. It turns out that GCC appears to put strings of any length into the ELF cstring equivalent, so just rip out the code.
...
llvm-svn: 77429
2009-07-29 04:54:38 +00:00
Daniel Dunbar
af71a3035b
Revert r77397, it causes significant regressions in llc performance.
...
llvm-svn: 77425
2009-07-29 03:04:22 +00:00
Evan Cheng
c6d70ae063
Optimize Thumb2 jumptable to use tbb / tbh when all the offsets fit in byte / halfword.
...
llvm-svn: 77422
2009-07-29 02:18:14 +00:00
Eric Christopher
99f5534296
Fix comment.
...
llvm-svn: 77415
2009-07-29 01:01:19 +00:00
Bill Wendling
bef0437d61
Change the "PreferredEHDataFormat" from "absptr" if we're on a Darwin system >
...
Leopard.
llvm-svn: 77414
2009-07-29 00:59:34 +00:00
Bill Wendling
2cf001479c
Move comment to above method.
...
llvm-svn: 77412
2009-07-29 00:50:05 +00:00
Devang Patel
be62697e6b
Parse named metadata.
...
llvm-svn: 77410
2009-07-29 00:34:02 +00:00
Devang Patel
05a26fb6dd
Add NamedMDNode.
...
llvm-svn: 77409
2009-07-29 00:33:07 +00:00
Bill Wendling
b67440efb8
- Temporarily unbreak the build by forcing the TType "absptr", which isn't
...
correct. But what are you going to do? I'll fix this in the future.
- Move another large loop into its own method.
llvm-svn: 77408
2009-07-29 00:31:35 +00:00
Eric Christopher
f7802a33ce
Add support for gcc __builtin_ia32_ptest{z,c,nzc} intrinsics. Lower
...
to ptest instruction plus setcc. Revamp ptest instruction. Add test.
llvm-svn: 77407
2009-07-29 00:28:05 +00:00
Dan Gohman
4723c103e3
Remove another F_OK.
...
llvm-svn: 77405
2009-07-29 00:02:58 +00:00
Daniel Dunbar
0033199c50
Match X86 register names to number.
...
llvm-svn: 77404
2009-07-29 00:02:19 +00:00
David Goodwin
0830980141
Thumb-2: fix typo that caused incorrect stack elimination for VFP operations and very large stack frames.
...
llvm-svn: 77401
2009-07-28 23:52:33 +00:00
Bill Wendling
23b177e86e
Cleanup code to use iterators instead of ".size()".
...
Does any one else hate the name "const_reverse_iterator" as much as I do?
llvm-svn: 77399
2009-07-28 23:44:43 +00:00
David Greene
5f6511c3d5
Improve performance of PadToColumn by eliminating flushes.
...
llvm-svn: 77397
2009-07-28 23:26:34 +00:00
Dan Gohman
0c96daabad
On "Unix", if Program::FindProgramByName is given a name containing
...
slashes, just go with it, regardless of whether it looks like it will
be executable. This follows the behavior of sh(1) more closely.
llvm-svn: 77396
2009-07-28 23:25:18 +00:00
Bill Wendling
6c574d883c
Doxygenify comments.
...
llvm-svn: 77394
2009-07-28 23:23:00 +00:00
Bill Wendling
1fddd873b4
Split out large loop into it's very own method. No intended functionality change.
...
llvm-svn: 77393
2009-07-28 23:22:13 +00:00
Dan Gohman
367006523a
It isn't necessary to use F_OK when using R_OK or similar.
...
llvm-svn: 77392
2009-07-28 23:22:01 +00:00
Daniel Dunbar
e1fdb0e8ce
Move X86 instruction parsing into X86/AsmParser.
...
llvm-svn: 77384
2009-07-28 22:40:46 +00:00
Bill Wendling
15349f81fb
Output the EH TType format and base offset only if there are types that we're
...
going to emit.
llvm-svn: 77382
2009-07-28 22:23:45 +00:00
Benjamin Kramer
6adb6e07ce
Fix a fixme; don't take binaries from the working directory.
...
This fixes clang on non-darwin platforms if a file called 'ld' or 'as'
is in the working directory. Based on patch by Pawel Worach!
llvm-svn: 77379
2009-07-28 22:08:15 +00:00
Devang Patel
f869caa03f
Remove unused method.
...
llvm-svn: 77378
2009-07-28 22:04:55 +00:00
Bill Wendling
26cf1e3baf
Output the correct format for Darwin.
...
llvm-svn: 77376
2009-07-28 22:03:50 +00:00
Bill Wendling
5196c9c7c9
Use the preferred EH data format for the preferred EH data format.
...
llvm-svn: 77373
2009-07-28 21:54:03 +00:00
Bill Wendling
403990ad58
Darwin outputs (DW_EH_PE_pcrel | DW_EH_PE_indirect | DW_EH_PE_sdata4) when we're
...
dealing with Data.
llvm-svn: 77372
2009-07-28 21:53:17 +00:00
Devang Patel
a4f43fb5dd
Rename MDNode.h header. It defines MDnode and other metadata classes.
...
New name is Metadata.h.
llvm-svn: 77370
2009-07-28 21:49:47 +00:00
Evan Cheng
4a04041056
Fix a typo.
...
llvm-svn: 77369
2009-07-28 21:49:18 +00:00
Owen Anderson
4aa3295a65
Return ConstantVector to 2.5 API.
...
llvm-svn: 77366
2009-07-28 21:19:26 +00:00
Evan Cheng
c8bed03349
In thumb2 mode, add pc is unpredictable. Use add + mov pc instead (that is until more optimization goes in).
...
llvm-svn: 77364
2009-07-28 20:53:24 +00:00
David Goodwin
68bb69d6e3
Remove support for ORN to workaround <rdar://problem/7096522>.
...
llvm-svn: 77363
2009-07-28 20:51:25 +00:00
Daniel Dunbar
f59ee96a16
Provide generic MCAsmParser when constructing target specific parsers.
...
llvm-svn: 77362
2009-07-28 20:47:52 +00:00
Devang Patel
1da7555a28
Add DebugInfoEnumerator to collect debug info.
...
llvm-svn: 77360
2009-07-28 19:55:13 +00:00
Andreas Bolka
f1bd1edc11
Simplify LDA-internal interface.
...
llvm-svn: 77359
2009-07-28 19:50:13 +00:00
Andreas Bolka
44623bb9b2
Add LDA statistics.
...
llvm-svn: 77358
2009-07-28 19:49:49 +00:00
Andreas Bolka
0e263ce8af
Minor factoring, naming and formatting cleanups.
...
llvm-svn: 77357
2009-07-28 19:49:25 +00:00
Bruno Cardoso Lopes
c6c5dbd5b8
Handle null and file symbol on doInitialization
...
llvm-svn: 77354
2009-07-28 19:25:33 +00:00
Chris Lattner
d6b4b29706
more simplifications and cleanup. :)
...
llvm-svn: 77350
2009-07-28 18:48:43 +00:00
Owen Anderson
c2c7932c64
Change ConstantArray to 2.5 API.
...
llvm-svn: 77347
2009-07-28 18:32:17 +00:00
David Goodwin
865c6298d7
Add workaround for <rdar://problem/7098328>.
...
llvm-svn: 77340
2009-07-28 18:15:38 +00:00
Daniel Dunbar
6d1e79dded
Expose Tokens to target specific assembly parsers.
...
llvm-svn: 77337
2009-07-28 17:58:44 +00:00
Chris Lattner
513a36b63d
Fix PR4639, a ELF-TLS regression from some of my refactoring.
...
llvm-svn: 77336
2009-07-28 17:57:51 +00:00
Chris Lattner
a3242e93b7
the apple "ld_classic" linker doesn't support .literal16 in 32-bit
...
mode, and "ld64" (the default linker) falls back to it in -static
mode.
llvm-svn: 77334
2009-07-28 17:50:28 +00:00
David Goodwin
e82862e24e
Add Thumb-2 patterns for ARMsrl_flag and ARMsra_flag.
...
llvm-svn: 77329
2009-07-28 17:06:49 +00:00