Eric Christopher
422e463be7
This code should never fire on non-darwin subtargets.
...
llvm-svn: 114811
2010-09-27 06:01:51 +00:00
Chris Lattner
4f59cbfb66
implement support for 'clr' alias. This is part of rdar://8416805,
...
but balrog was wanting it on irc.
llvm-svn: 114809
2010-09-27 04:23:03 +00:00
Lang Hames
c8a4973389
Fixed some tests to avoid LiveIntervals::getInstructionFromIndex(..) overhead where possible. Thanks to Jakob for the suggestions.
...
llvm-svn: 114798
2010-09-26 03:37:09 +00:00
Oscar Fuentes
bf03084532
New cmake options LLVM_INCLUDE_X (X = {TOOLS, EXAMPLES, TESTS}) for
...
not generating build targets for those parts of the build.
llvm-svn: 114797
2010-09-25 20:43:06 +00:00
Oscar Fuentes
0c7eca334a
Avoid warnings about implicit conversions to `bool' in MSVC. This time
...
for real.
Patch by Nathan Jeffords!
llvm-svn: 114796
2010-09-25 20:27:36 +00:00
Oscar Fuentes
46d8a93005
Reverting "CMake: Don't include tools, unittets, or examples as
...
available targets unless LLVM_INCLUDE_X is ON. LLVM_BUILD_X implies
LLVM_INCLUDE_X"
It breaks the configuration phase when cmake is invoked without
parameters, it is too complex for the purpose and introduces an
incovenience for the user (as both LLVM_BUILD_X and LLVM_INCLUDE_X
must set to OFF for not including X on the build)
llvm-svn: 114795
2010-09-25 20:25:25 +00:00
Jakob Stoklund Olesen
10117c762a
Avoid using VNInfo::getCopy as much as possible. I want to get rid of it.
...
llvm-svn: 114794
2010-09-25 18:10:38 +00:00
Chris Lattner
aa2ad5730c
temporarily revert developer policy change as a courtesy to vikram.
...
llvm-svn: 114792
2010-09-25 15:53:35 +00:00
Lang Hames
564956867e
Removed VNInfo::isDefAccurate(). Def "accuracy" can be checked by testing whether LiveIntervals::getInstructionFromIndex(def) returns NULL.
...
llvm-svn: 114791
2010-09-25 12:04:16 +00:00
Che-Liang Chiou
d6142976de
Add test case for PTX ret instruction
...
llvm-svn: 114789
2010-09-25 07:49:54 +00:00
Che-Liang Chiou
299479020a
Add ret instruction to PTX backend
...
llvm-svn: 114788
2010-09-25 07:46:17 +00:00
Che-Liang Chiou
b38a05572a
Remove trailing spaces of CallingConv.h
...
llvm-svn: 114787
2010-09-25 07:02:30 +00:00
Rafael Espindola
75d65b9a03
Move ELF to HasReliableSymbolDifference=true. Also take the opportunity to put
...
symbols defined in merge sections in independent atoms.
llvm-svn: 114786
2010-09-25 05:42:19 +00:00
Owen Anderson
b590a927cd
LoadPRE was not properly checking that the load it was PRE'ing post-dominated the block it was being hoisted to.
...
Splitting critical edges at the merge point only addressed part of the issue; it is also possible for non-post-domination
to occur when the path from the load to the merge has branches in it. Unfortunately, full anticipation analysis is
time-consuming, so for now approximate it. This is strictly more conservative than real anticipation, so we will miss
some cases that real PRE would allow, but we also no longer insert loads into paths where they didn't exist before. :-)
This is a very slight net positive on SPEC for me (0.5% on average). Most of the benchmarks are largely unaffected, but
when it pays off it pays off decently: 181.mcf improves by 4.5% on my machine.
llvm-svn: 114785
2010-09-25 05:26:18 +00:00
Evan Cheng
48cc21620f
Fix IIC_iEXTAr itinerary class of Cortex-A9.
...
llvm-svn: 114784
2010-09-25 01:09:28 +00:00
Evan Cheng
8f9a2244fc
Remove a unused instruction itinerary class.
...
llvm-svn: 114782
2010-09-25 01:06:02 +00:00
Eric Christopher
ebacd2b023
If we're changing the source of a memcpy we need to use the alignment
...
of the source, not the original alignment since it may no longer
be valid.
Fixes rdar://8400094
llvm-svn: 114781
2010-09-25 00:57:26 +00:00
Evan Cheng
62d626ce86
Fix zero and sign extension instructions scheduling itineraries.
...
llvm-svn: 114780
2010-09-25 00:49:35 +00:00
Jakob Stoklund Olesen
bc71af341e
Remove SlotIndex::PHI_BIT. It is no longer used by anything.
...
llvm-svn: 114779
2010-09-25 00:45:18 +00:00
Jakob Stoklund Olesen
250fed25fd
Remove the only use of SlotIndex::isPHI. This bit is not being set consistently
...
and it will be removed shortly.
llvm-svn: 114778
2010-09-25 00:45:15 +00:00
Jakob Stoklund Olesen
335b9a8ea9
Terminator gaps were unused. Might as well delete them.
...
llvm-svn: 114776
2010-09-24 23:58:56 +00:00
Evan Cheng
e37da03e60
More pseudo instruction scheduling itinerary fixes.
...
llvm-svn: 114768
2010-09-24 22:41:41 +00:00
John Thompson
8118ef8d3d
Fix for test/CodeGen/PowerPC/2008-10-17-AsmMatchingOperands.ll crash.
...
llvm-svn: 114767
2010-09-24 22:24:05 +00:00
Evan Cheng
1d35ad62cc
Fix scheduling itinerary for pseudo mov immediate instructions which expand into two real instructions.
...
llvm-svn: 114766
2010-09-24 22:03:46 +00:00
Rafael Espindola
cf1f985838
Reapply 114678 and 114667. Reverting them did not fix the bot:
...
http://google1.osuosl.org:8011/builders/llvm-gcc-i386-linux-selfhost/builds/69
llvm-svn: 114761
2010-09-24 21:19:03 +00:00
Jim Grosbach
4a6ab13fb9
Add ARM explicit MCInst lowering for the Thumb eh.sjlj.setjmp sequence.
...
llvm-svn: 114758
2010-09-24 20:47:58 +00:00
Jakob Stoklund Olesen
9d06adcf88
Be more precise when trying to XFAIL this tester: http://google1.osuosl.org:8011/builders/llvm-arm-linux
...
llvm-svn: 114755
2010-09-24 20:34:49 +00:00
Michael J. Spencer
ded5f66813
Get rid of pop_macro warnings on MSVC.
...
llvm-svn: 114750
2010-09-24 19:48:47 +00:00
Michael J. Spencer
e35a611aa5
CMake: Don't include tools, unittets, or examples as available targets
...
unless LLVM_INCLUDE_X is ON. LLVM_BUILD_X implies LLVM_INCLUDE_X
llvm-svn: 114747
2010-09-24 19:10:51 +00:00
Evan Cheng
dbcc4b4d4d
Enable code placement optimization pass for ARM.
...
llvm-svn: 114746
2010-09-24 19:07:23 +00:00
Dale Johannesen
6a4cd59b08
We can't return SSE/MMX vectors if SSE is disabled.
...
llvm-svn: 114745
2010-09-24 19:05:48 +00:00
Rafael Espindola
3843bb9d2c
Revert 114678 and 114667 to see if
...
http://google1.osuosl.org:8011/builders/llvm-gcc-i386-linux-selfhost
gets happy.
llvm-svn: 114742
2010-09-24 18:48:08 +00:00
Nicolas Geoffray
cbb421887d
Attach a DebugLoc to a GC point in order to get precise information in the JIT of a GC point.
...
llvm-svn: 114736
2010-09-24 17:27:50 +00:00
Daniel Dunbar
ce17f72c38
MC/AsmParser: Handle a missed case of floating literals in the lexer.
...
llvm-svn: 114733
2010-09-24 17:10:26 +00:00
Michael J. Spencer
55581b3336
Fix line endings from my last commit.
...
llvm-svn: 114728
2010-09-24 09:10:21 +00:00
Michael J. Spencer
d8010d6456
unittests: Support Windows.
...
llvm-svn: 114727
2010-09-24 09:01:34 +00:00
Michael J. Spencer
5d28c8428f
Test unittests built with CMake.
...
llvm-svn: 114726
2010-09-24 09:01:22 +00:00
Michael J. Spencer
10d274d874
CMake: Build unittests.
...
llvm-svn: 114725
2010-09-24 09:01:13 +00:00
Michael J. Spencer
1444f47deb
Fix whitespace.
...
llvm-svn: 114724
2010-09-24 09:00:56 +00:00
Evan Cheng
40a4222996
Fix a potential null dereference bug.
...
llvm-svn: 114723
2010-09-24 05:18:35 +00:00
Daniel Dunbar
2af1653032
MC/AsmParser: Support .single and .double for embedding floating point literals.
...
- I believe more modern 'gas' supports a more enhanced set of arithmetic on
them, but for now the only thing we can do is emit them as data.
llvm-svn: 114719
2010-09-24 01:59:56 +00:00
Daniel Dunbar
3068a93dc1
MC/Lexer: Add 'Real' token type for floating point literals.
...
llvm-svn: 114718
2010-09-24 01:59:31 +00:00
Daniel Dunbar
74c1f1192c
MC: Add missing ')' in diagnostic.
...
llvm-svn: 114717
2010-09-24 01:58:56 +00:00
Owen Anderson
2c5df619c4
Revert r114703 and r114702, removing the isConditionalMove flag from instructions. After further
...
reflection, this isn't going to achieve the purpose I intended it for. Back to the drawing board!
llvm-svn: 114710
2010-09-23 23:45:25 +00:00
Bob Wilson
7fbbe9a43a
Set alignment operand for NEON VST instructions.
...
llvm-svn: 114709
2010-09-23 23:42:37 +00:00
Jim Grosbach
c0aed7179a
ARM-mode eh.sjlj.setjmp pseudo MC-inst lowering expansion
...
llvm-svn: 114707
2010-09-23 23:33:56 +00:00
Jim Grosbach
2f3728f576
#+4 --> #4 for consistency with other asm output
...
llvm-svn: 114706
2010-09-23 23:32:38 +00:00
Jim Grosbach
07f07290d8
Fix formatting of output .s code
...
llvm-svn: 114705
2010-09-23 23:03:26 +00:00
Owen Anderson
bd57e0ce3d
Add isConditionalMove bits to X86 and ARM instructions.
...
llvm-svn: 114703
2010-09-23 22:57:01 +00:00
Owen Anderson
6e0e8d7d64
Add an TargetInstrDesc bit to indicate that a given instruction is a conditional move.
...
Not intended functionality change, as nothing uses this yet.
llvm-svn: 114702
2010-09-23 22:44:10 +00:00
Chris Lattner
16e264c546
remove an obsolete section
...
llvm-svn: 114701
2010-09-23 22:34:49 +00:00
Bob Wilson
9eeb890172
Set alignment operand for NEON VLD instructions.
...
llvm-svn: 114696
2010-09-23 21:43:54 +00:00
Andrew Trick
68aa18e4be
Fix Getting Started docs.
...
configure expects LLVM Test Suite to be in projects/test-suite.
Made the "getting started" and "testing infrastructure" docs internally consistent.
Avoid confusion between llvm-test and llvm/test.
llvm-svn: 114691
2010-09-23 20:26:44 +00:00
Rafael Espindola
f458f04eb1
Correctly handle weak undefined symbols. Before we would get a invalid binding
...
(2 == STB_WEAK | STB_GLOBAL).
llvm-svn: 114690
2010-09-23 19:55:14 +00:00
Jim Grosbach
7d34837676
never mind. I can't read, apparently
...
llvm-svn: 114689
2010-09-23 19:42:17 +00:00
Evan Cheng
1596f7f6f3
Fix r114632. Return if the only terminator is an unconditional branch after the redundant ones are deleted.
...
llvm-svn: 114688
2010-09-23 19:42:03 +00:00
Jim Grosbach
836341a17a
Fix opcode value for the 'trap' instruction, keeping the type suffix on the
...
constant. Hopefully the non-Darwin bots will like it...
llvm-svn: 114687
2010-09-23 19:32:40 +00:00
Jim Grosbach
3d50a3e237
explicit 'unsigned long' on constant value. Hopefully make bots happier.
...
llvm-svn: 114686
2010-09-23 19:08:04 +00:00
Benjamin Kramer
e38495dbc0
Unbreak build. Jim, please review.
...
llvm-svn: 114684
2010-09-23 18:57:26 +00:00
Evan Cheng
6b8b2b7312
Revert 114634 for now since buildbot claim it broke Clang self-hosting. I doubt it but it's possible it's exposing another bug somewhere.
...
llvm-svn: 114681
2010-09-23 18:32:19 +00:00
Jim Grosbach
9876dd3040
trailing whitespace
...
llvm-svn: 114680
2010-09-23 18:07:04 +00:00
Jim Grosbach
8503054410
Clean up the 'trap' instruction printing a bit. Non-Darwin assemblers don't
...
(yet) recognize the 'trap' mnemonic, so we use .short/.long to emit the
opcode directly. On Darwin, however, we do want the mnemonic for more
readable assembly code and better disassembly.
Adjust the .td file to use the 'trap' mnemonic and handle using the binutils
workaround in the assembly printer. Also tweak the formatting of the opcode
values to make them consistent between the MC printer and the old printer.
llvm-svn: 114679
2010-09-23 18:05:37 +00:00
Rafael Espindola
6366d1b858
Correctly compute the offset of the symbol. Forgot these bits from the
...
last commit.
llvm-svn: 114678
2010-09-23 18:01:31 +00:00
Jim Grosbach
ea20e257b2
nuke unused var
...
llvm-svn: 114676
2010-09-23 17:58:00 +00:00
Chris Lattner
a45bbb9628
rewrite the copyright section to match reality: llvm does't have a
...
copyright assignment process.
llvm-svn: 114673
2010-09-23 17:37:11 +00:00
Chris Lattner
81b59834c2
add lldb and libc++ code owners.
...
llvm-svn: 114669
2010-09-23 17:27:54 +00:00
Rafael Espindola
48e108753b
Represent relocations against local symbols as relocations against the section
...
they are in. Both ways should be equivalent, but gas produces relocations
against the section.
Roman wrote the patch, I added the test.
llvm-svn: 114667
2010-09-23 17:25:18 +00:00
Bob Wilson
3aecb15f0a
Fix llvm-extract so that it changes the linkage of all GlobalValues to
...
"external" even when doing lazy bitcode loading. This was broken because
a function that is not materialized fails the !isDeclaration() test.
llvm-svn: 114666
2010-09-23 17:25:06 +00:00
Oscar Fuentes
d5f4130ffb
Avoid warnings about conversions to `bool' in MS compilers.
...
Patch by Nathan Jeffords!
llvm-svn: 114662
2010-09-23 16:59:44 +00:00
Oscar Fuentes
57214f533a
Fix VS 2010 build.
...
Patch by Nathan Jeffords!
llvm-svn: 114661
2010-09-23 16:59:36 +00:00
Nate Begeman
b4e0cc0212
Revert r114596, it's breaking a few tests.
...
llvm-svn: 114659
2010-09-23 16:49:17 +00:00
Douglas Gregor
381f98e499
Bump LLVM in CMake makefiles to 2.9
...
llvm-svn: 114640
2010-09-23 14:19:21 +00:00
Rafael Espindola
2816588eb9
Fix the FIXME.
...
llvm-svn: 114639
2010-09-23 14:14:56 +00:00
Evan Cheng
b6d175a39d
Follow up to r114630. Do not optimize away unconditional branch following a conditional one.
...
llvm-svn: 114634
2010-09-23 07:18:35 +00:00
Evan Cheng
794aaa79e2
Disable codegen prepare critical edge splitting. Machine instruction passes now
...
break critical edges on demand.
llvm-svn: 114633
2010-09-23 06:55:34 +00:00
Evan Cheng
66c8cd2b32
If there are multiple unconditional branches terminating a block, eliminate all
...
but the first one. Those will never be executed. There was logic to do this
but it was faulty.
llvm-svn: 114632
2010-09-23 06:54:40 +00:00
Evan Cheng
d4b31a7630
Don't sink insert_subreg, subreg_to_reg, reg_sequence. They are meant to be
...
close to their sources to facilitate coalescing.
llvm-svn: 114631
2010-09-23 06:53:00 +00:00
Evan Cheng
79687dda9a
SDISel should not optimize a unconditional branch following a conditional branch
...
when the unconditional branch destination is the fallthrough block. The
canonicalization makes it easier to allow optimizations on DAGs to invert
conditional branches. The branch folding pass (and AnalyzeBranch) will clean up
the unnecessary unconditional branches later.
This is one of the patches leading up to disabling codegen prepare critical edge
splitting.
llvm-svn: 114630
2010-09-23 06:51:55 +00:00
Lang Hames
fd1bc42230
Moved the PBQP allocator class out of the header and back in to the cpp file to hide the gory details.
...
Allocator instances can now be created by calling createPBQPRegisterAllocator.
Tidied up use of CoalescerPair as per Jakob's suggestions.
Made the new PBQPBuilder based construction process the default. The internal construction process
remains in-place and available via -pbqp-builder=false for now. It will be removed shortly if the new
process doesn't cause any regressions.
llvm-svn: 114626
2010-09-23 04:28:54 +00:00
Sean Callanan
002ad003a3
Fixed a crash in the enhanced disassembler where
...
because of the lack of a newline, AsmToken::Eof
was being found instead of AsmToken::EndOfStatement.
llvm-svn: 114621
2010-09-23 02:14:12 +00:00
Dan Gohman
0d2c07cf58
Fix llvm-extract -delete's lazy loading to materialize the functions that
...
will not be deleted, rather than the ones that will.
llvm-svn: 114614
2010-09-23 00:33:13 +00:00
Jim Grosbach
85dcd3d0f4
Add support for ELF PLT references for ARM MC asm printing. Adding a
...
new VariantKind to the MCSymbolExpr seems like overkill, but I'm not sure
there's a more straightforward way to get the printing difference captured.
(i.e., x86 uses @PLT, ARM uses (PLT)).
llvm-svn: 114613
2010-09-22 23:27:36 +00:00
Dan Gohman
98d500b024
Make SetVector's remove indicate whether it actually removed something.
...
llvm-svn: 114612
2010-09-22 23:20:04 +00:00
Jim Grosbach
a9424d4f2f
Enable a few additional asserts in MC instruction lowering.
...
llvm-svn: 114601
2010-09-22 23:01:28 +00:00
Owen Anderson
3231d13ddd
A select between a constant and zero, when fed by a bit test, can be efficiently
...
lowered using a series of shifts.
Fixes <rdar://problem/8285015>.
llvm-svn: 114599
2010-09-22 22:58:22 +00:00
Cameron Esfahani
bbb9287080
Fix PR8201: Update the code to call via X86::CALL64pcrel32 in the 64-bit case.
...
llvm-svn: 114597
2010-09-22 22:35:21 +00:00
Nate Begeman
e9e9c08ce2
<rdar://problem/8228022> Wvector-conversions warnings in arm_neon.h
...
Explicitly cast arguments to the type the builtin expects, which is <vN x i8>
llvm-svn: 114596
2010-09-22 22:28:42 +00:00
Bob Wilson
463a05342a
Change VDUPLANE DAG combiner to just return the result instead of calling
...
CombineTo to avoid putting the result on the worklist. I don't think it makes
much difference for now, but it might help someday as we add more DAG
combine optimizations.
llvm-svn: 114595
2010-09-22 22:27:30 +00:00
Rafael Espindola
dee12d8110
Avoid some Mach-O specific alignment being done on ELF.
...
llvm-svn: 114594
2010-09-22 22:27:05 +00:00
Chris Lattner
7bce0596a7
allow target-specific label suffixes, patch by Yuri Gribov!
...
llvm-svn: 114592
2010-09-22 22:19:53 +00:00
Dan Gohman
71954b8d54
Fix uninitialized TBAAFlag field values.
...
llvm-svn: 114591
2010-09-22 22:18:07 +00:00
Bob Wilson
2280674fa9
Combine both VMOVDRR(VMOVRRD) and VMOVRRD(VMOVDRR), instead of just doing one
...
of those. Refactor to share code for handling BUILD_VECTOR(VMOVRRD).
I don't have a testcase that exercises this, but it seems like an obvious
good thing to do.
llvm-svn: 114589
2010-09-22 22:09:21 +00:00
Dan Gohman
2348393cf5
Teach memdep about TBAA tags.
...
llvm-svn: 114588
2010-09-22 21:41:02 +00:00
Devang Patel
804fcd4794
Use DW_OP_fbreg when offset is based on frame register.
...
llvm-svn: 114585
2010-09-22 21:10:38 +00:00
Jim Grosbach
1f57cc4a59
add FIXME
...
llvm-svn: 114578
2010-09-22 20:55:15 +00:00
Eric Christopher
c1b3e072f4
Temporarily work around new address lowering while I figure out what
...
needs to happen for darwin.
llvm-svn: 114577
2010-09-22 20:42:08 +00:00
Jim Grosbach
003fd5b65e
Remove a few commented out bits
...
llvm-svn: 114576
2010-09-22 20:32:34 +00:00
Dan Gohman
ba28207dcd
Constify.
...
llvm-svn: 114574
2010-09-22 20:11:43 +00:00
Rafael Espindola
0e527b7ed5
Fix typo and add a FIXME.
...
llvm-svn: 114570
2010-09-22 19:04:41 +00:00
Bob Wilson
b6832a4372
When moving zext/sext to be folded with a load, ignore the issue of whether
...
truncates are free only in the case where the extended type is legal but the
load type is not. If both types are illegal, such as when they are too big,
the load may not be legalized into an extended load.
llvm-svn: 114568
2010-09-22 18:44:56 +00:00