Daniel Dunbar
3a96439b36
Revert r1296656, "Fix rdar://9289512 - not folding load into compare at -O0...",
...
which broke a couple GCC test suite tests at -O0.
llvm-svn: 129914
2011-04-21 16:14:46 +00:00
Justin Holewinski
9a7361254a
PTX: Expand useable register space
...
llvm-svn: 129913
2011-04-21 16:08:02 +00:00
Che-Liang Chiou
b1b2ee909c
ptx: fix parameter ordering
...
This patch depends on the prior fix r129908 that changes to use std::find,
rather than std::binary_search, on unordered array.
Patch by Dan Bailey
llvm-svn: 129909
2011-04-21 10:56:58 +00:00
Che-Liang Chiou
1288d5425e
ptx: PTXMachineFunctionInfo no longer sort registers and so should not use std::binary_search
...
llvm-svn: 129908
2011-04-21 10:16:20 +00:00
Jakob Stoklund Olesen
5168088bcf
Don't allow per-register spill size and alignment.
...
These values were not used for anything. Spill size and alignment is a property
of the register class, not the register.
llvm-svn: 129906
2011-04-21 03:43:21 +00:00
Nick Lewycky
ea02a6edaa
In gcov profiling, give all functions an extra unified return block. This is
...
necessary since gcov counts transitions between blocks. It can't see if you've
run every line in a straight-line function, so we add an edge for it to notice.
llvm-svn: 129905
2011-04-21 03:18:00 +00:00
Nick Lewycky
edc88a6441
Fix think-o: emit all 8 bytes of the EOF marker. Also reflow a line in a
...
comment for 80 columns.
llvm-svn: 129904
2011-04-21 02:48:39 +00:00
Nick Lewycky
ffdfe9ff1b
Add independent controls for whether GCOV profiling should emit .gcno files or
...
instrument the program to emit .gcda.
TODO: we should emit slightly different .gcda files when .gcno emission is off.
llvm-svn: 129903
2011-04-21 01:56:25 +00:00
Nick Lewycky
08fa5e5ed3
Fix typo in comment.
...
llvm-svn: 129902
2011-04-21 01:54:08 +00:00
NAKAMURA Takumi
e5837f1317
docs/llvm.css: Introduce cascading style <div> and <p> continued on <h[2-5]>. For now, it is applied in AliasAnalysis.html and ReleaseNotes.html.
...
<h2>Section Example</h2>
<div> <!-- h2+div is applied -->
<p>Section preamble.</p>
<h3>Subsection Example</h3>
<p> <!-- h3+p is applied -->
Subsection body
</p>
<!-- End of section body -->
</div>
llvm-svn: 129901
2011-04-21 01:52:00 +00:00
NAKAMURA Takumi
b4d0713c60
docs/Passes.html: Fix a garbage.
...
llvm-svn: 129900
2011-04-21 01:32:19 +00:00
Nick Lewycky
d4b44b93cf
Structs have elements not parameters. I'm surprised this ever compiled...
...
llvm-svn: 129888
2011-04-20 22:52:37 +00:00
Evan Cheng
28877b11a2
Remove -use-divmod-libcall. Let targets opt in when they are available.
...
llvm-svn: 129884
2011-04-20 22:20:12 +00:00
Jakob Stoklund Olesen
22089a66fb
Add debug output for rematerializable instructions.
...
llvm-svn: 129883
2011-04-20 22:14:20 +00:00
Jakob Stoklund Olesen
266de7e1e1
Permit remat when a virtual register has multiple defs.
...
TII::isTriviallyReMaterializable() shouldn't depend on any properties of the
register being defined by the instruction. Rematerialization is going to create
a new virtual register anyway.
llvm-svn: 129882
2011-04-20 22:14:17 +00:00
Cameron Zwarich
fee060175e
Fix another case of <rdar://problem/9184212> that only occurs with code
...
generated by llvm-gcc, since llvm-gcc uses 2 i64s for passing a 4 x float
vector on ARM rather than an i64 array like Clang.
llvm-svn: 129878
2011-04-20 21:48:38 +00:00
Cameron Zwarich
139f811a9b
The bitcast case here is actually handled uniformly earlier in the function, so
...
delete it.
llvm-svn: 129877
2011-04-20 21:48:34 +00:00
Cameron Zwarich
13cd49fd54
Cleanup some code to better use an early return style in preparation for adding
...
more cases.
llvm-svn: 129876
2011-04-20 21:48:16 +00:00
Stuart Hastings
e9430126f1
Un-XFAIL this test for ARM. <rdar://problem/7662569>
...
llvm-svn: 129875
2011-04-20 21:47:45 +00:00
Eli Friedman
e515691c63
Revert r129846; it's breaking a buildbot. See
...
http://google1.osuosl.org:8011/builders/llvm-x86_64-linux-checks/builds/825/steps/test.llvm.stage2/logs/st.ll
llvm-svn: 129869
2011-04-20 19:00:08 +00:00
Jakob Stoklund Olesen
6501ea2557
Prefer cheap registers for busy live ranges.
...
On the x86-64 and thumb2 targets, some registers are more expensive to encode
than others in the same register class.
Add a CostPerUse field to the TableGen register description, and make it
available from TRI->getCostPerUse. This represents the cost of a REX prefix or a
32-bit instruction encoding required by choosing a high register.
Teach the greedy register allocator to prefer cheap registers for busy live
ranges (as indicated by spill weight).
llvm-svn: 129864
2011-04-20 18:19:48 +00:00
Stuart Hastings
1905cf10e3
Excise unintended hunk in 129858. <rdar://problem/7662569>
...
llvm-svn: 129862
2011-04-20 18:09:26 +00:00
Stuart Hastings
a552942e02
ARM byval support. Will be enabled by another patch to the FE. <rdar://problem/7662569>
...
llvm-svn: 129858
2011-04-20 16:47:52 +00:00
Daniel Dunbar
d1ebdf5c43
sys/Host: Change getHostTriple() to return the full Darwin version on OS X.
...
llvm-svn: 129852
2011-04-20 15:44:33 +00:00
Justin Holewinski
dc1965a16c
PTX: Add intrinsics to list of built-in intrinsics, which allows them to be
...
used by Clang. To help Clang integration, the PTX target has been split
into two targets: ptx32 and ptx64, depending on the desired pointer size.
- Add GCCBuiltin class to all intrinsics
- Split PTX target into ptx32 and ptx64
llvm-svn: 129851
2011-04-20 15:37:17 +00:00
Rafael Espindola
032ab8c114
Behave like gnu as when a relocation crosses sections.
...
llvm-svn: 129850
2011-04-20 14:01:45 +00:00
Che-Liang Chiou
a1aa7de4a9
ptx: add integer div and rem instruction
...
Patched by Dan Bailey
llvm-svn: 129848
2011-04-20 09:28:55 +00:00
Che-Liang Chiou
1792164516
ptx: add floating-point comparison to setp
...
Patched by Dan Bailey
llvm-svn: 129847
2011-04-20 09:28:20 +00:00
Che-Liang Chiou
25911afe57
ptx: fix parameter ordering
...
Patched by Dan Bailey
llvm-svn: 129846
2011-04-20 09:27:19 +00:00
Nick Lewycky
8304ea55f2
This should always be signed chars, so use int8_t. This fixes a miscompile when
...
llvm is built with unsigned chars where an immediate such as 0xff would be zero
extended to 64-bits, turning "cmp $0xff,%eax" into
"cmp $0xffffffffffffffff,%eax".
llvm-svn: 129845
2011-04-20 03:19:42 +00:00
Rafael Espindola
09e9797728
Remove unused arguments.
...
llvm-svn: 129844
2011-04-20 03:08:09 +00:00
Eric Christopher
4c3c7c8211
Rewrite the expander for umulo/smulo to remember to sign extend the input
...
manually and pass all (now) 4 arguments to the mul libcall. Add a new
ExpandLibCall for just this (copied gratuitously from type legalization).
Fixes rdar://9292577
llvm-svn: 129842
2011-04-20 01:19:45 +00:00
Daniel Dunbar
187b2237d2
llc: Fix a refacto, .loc support didn't work before 10.6.
...
llvm-svn: 129841
2011-04-20 00:47:19 +00:00
Sean Callanan
c550ce0d48
Made the MC disassembler check before accessing
...
MCInst operands for ARM. This allows it to be
more tolerant of malformed MCInsts or incorrect
instruction metadata.
llvm-svn: 129840
2011-04-20 00:43:34 +00:00
Daniel Dunbar
82a4062a4e
ADT/Triple: Renambe isOSX... methods to isMacOSX for consistency with the OS
...
triple component.
llvm-svn: 129838
2011-04-20 00:14:25 +00:00
Johnny Chen
7ceb5e40b6
Fix typo in the comment.
...
llvm-svn: 129837
2011-04-19 23:58:52 +00:00
Daniel Dunbar
3f19424547
ADT/Triple: Drop support for -osx style triples, we are going with -macosx
...
instead.
llvm-svn: 129836
2011-04-19 23:55:20 +00:00
Daniel Dunbar
6af8a09825
ADT/Triple: Add support for Triple::MacOSX per feedback from Chris, will remove
...
Triple::OSX once Clang has moved.
llvm-svn: 129833
2011-04-19 23:34:12 +00:00
Daniel Dunbar
1c0a0fde5c
ADT/Triple: Move a variety of clients to using isOSDarwin() and isOSWindows()
...
predicates.
llvm-svn: 129816
2011-04-19 21:14:45 +00:00
Daniel Dunbar
9934e8436d
ADT/Triple: Add isOSDarwin() and isOSWindows() helper functions.
...
llvm-svn: 129815
2011-04-19 21:12:05 +00:00
Daniel Dunbar
0fa8b6f591
ADT/Triple: Fix Triple::getArchNameForAssembler to support OSX and iOS
...
enumeration values.
llvm-svn: 129814
2011-04-19 21:07:03 +00:00
Daniel Dunbar
a90cba45c7
Target/X86: Eliminate uses of getDarwinVers().
...
llvm-svn: 129813
2011-04-19 21:04:12 +00:00
Daniel Dunbar
deb1713b7f
Target/X86: Add getTargetTriple() accessor.
...
llvm-svn: 129812
2011-04-19 21:01:47 +00:00
Daniel Dunbar
c325e8720a
Target/PPC: Kill off DarwinVers, which is now dead.
...
llvm-svn: 129811
2011-04-19 20:59:24 +00:00
Daniel Dunbar
685eb363c9
Target/PPC: Eliminate a use of getDarwinVers().
...
llvm-svn: 129810
2011-04-19 20:57:03 +00:00
Daniel Dunbar
df2c6f8ce7
Target/PPC: Add a TargetTriple field.
...
llvm-svn: 129809
2011-04-19 20:54:28 +00:00
Chris Lattner
649aa9aa1e
add a helper method.
...
llvm-svn: 129806
2011-04-19 20:47:57 +00:00
Daniel Dunbar
d11dec1469
llc: Eliminate a use of getDarwinMajorNumber().
...
- As before, there is a minor semantic change here (evidenced by the test
change) for Darwin triples that have no version component. I debated changing
the default behavior of isOSVersionLT, but decided it made more sense for
triples to be explicit.
llvm-svn: 129805
2011-04-19 20:46:13 +00:00
Daniel Dunbar
6a52508cb9
Target: Eliminate a use of getDarwinMajorNumber().
...
llvm-svn: 129803
2011-04-19 20:44:08 +00:00
Daniel Dunbar
140e365c49
CodeGen: Eliminate a use of getDarwinMajorNumber().
...
- There is a minor semantic change here (evidenced by the test change) for
Darwin triples that have no version component. I debated changing the default
behavior of isOSVersionLT, but decided it made more sense for triples to be
explicit.
llvm-svn: 129802
2011-04-19 20:32:39 +00:00