Eric Christopher
0cd970d60b
Update html tutorial docs to match api changes.
...
llvm-svn: 105933
2010-06-14 06:09:39 +00:00
Eric Christopher
c4d6c0dc24
Make kaleidoscope use fp add/sub/mul.
...
Patch by Patrick Flannery!
llvm-svn: 105932
2010-06-14 06:03:16 +00:00
Nate Begeman
9d86772d50
Add the last of the SemaChecking-gen code.
...
llvm-svn: 105929
2010-06-14 05:17:23 +00:00
Benjamin Kramer
443f74025b
Test case for r105914.
...
llvm-svn: 105915
2010-06-13 16:16:54 +00:00
Benjamin Kramer
109451b5e0
SimplifyCFG: don't turn volatile stores to null/undef into unreachable. Fixes PR7369.
...
llvm-svn: 105914
2010-06-13 14:35:54 +00:00
Benjamin Kramer
5d5812efa8
Let SmallVector take advantage of LiveRange's podness.
...
llvm-svn: 105913
2010-06-13 12:52:38 +00:00
Nate Begeman
955d383e5b
Add a helping of comments
...
Add code for generating bits of semachecking
llvm-svn: 105907
2010-06-13 04:47:03 +00:00
Rafael Espindola
1f31d12e8f
Merge getStoreRegOpcode and getLoadRegOpcode.
...
llvm-svn: 105900
2010-06-12 20:13:29 +00:00
Daniel Dunbar
3d95bf4fc2
tests: Run macho-dump with binary unbuffered streams on Windows, I can't find a Python 2.6 way to change stdin to binary.
...
llvm-svn: 105894
2010-06-12 17:05:28 +00:00
Daniel Dunbar
77025c3891
tests: Make macho-dump.bat actually work.
...
llvm-svn: 105891
2010-06-12 16:21:54 +00:00
Daniel Dunbar
1f2dda3592
tests: Propogate LLVM_SRC_ROOT and PYTHON_EXECUTABLE environment variables to tests.
...
llvm-svn: 105890
2010-06-12 16:21:19 +00:00
Daniel Dunbar
6a902f3029
lit: Replace /dev/null in scripts with temporary files on Windows.
...
llvm-svn: 105888
2010-06-12 16:00:10 +00:00
Chris Lattner
72ef28f800
improve verifier error about unterminated block to include
...
function name, patch by Yuri
llvm-svn: 105887
2010-06-12 15:50:24 +00:00
Chris Lattner
3fdb8fcaeb
declare a class with 'class' instead of struct to avoid tag mismatch
...
warnings, and don't shift by a bool. Patch by Rizky Herucakra!
llvm-svn: 105886
2010-06-12 15:46:56 +00:00
Eli Friedman
b4ac3e405c
Add README entry; based on testcase from Bill Hart.
...
llvm-svn: 105878
2010-06-12 05:54:27 +00:00
Bruno Cardoso Lopes
e7cbed3e37
make the avx intrinsics 3 address
...
llvm-svn: 105876
2010-06-12 03:12:14 +00:00
Nate Begeman
59394ea1ed
Add generic vector support for bitselect & element byteswap
...
llvm-svn: 105874
2010-06-12 03:09:49 +00:00
Bruno Cardoso Lopes
6fce955566
Add some basic fp intrinsics for AVX
...
llvm-svn: 105873
2010-06-12 02:38:32 +00:00
Bill Wendling
61fcfc6d86
When performing the Horrible Hack(tm-Duncan) on the EH code to convert a
...
clean-up to a catch-all after inlining, take into account that there could be
filter IDs as well. The presence of filters don't mean that the selector catches
anything. It's just metadata information.
llvm-svn: 105872
2010-06-12 02:34:29 +00:00
Bruno Cardoso Lopes
7e28e6925c
More AVX: {ADD,SUB,MUL,DIV}{PD,PS}rm
...
llvm-svn: 105870
2010-06-12 01:53:48 +00:00
Bruno Cardoso Lopes
df3435eb33
More AVX: {ADD,SUB,MUL,DIV}{PD,PS}rr
...
Handle OpSize TSFlag for AVX
llvm-svn: 105869
2010-06-12 01:23:26 +00:00
Evan Cheng
c33e196177
Allow target to provide its own hazard recognizer to post-ra scheduler.
...
llvm-svn: 105862
2010-06-12 00:12:18 +00:00
Evan Cheng
42a01b4729
Code formatting.
...
llvm-svn: 105861
2010-06-12 00:11:53 +00:00
Bruno Cardoso Lopes
df2629b4db
Add some comments about REX fields
...
llvm-svn: 105860
2010-06-12 00:03:52 +00:00
Bruno Cardoso Lopes
69141fd639
More AVX instructions ({ADD,SUB,MUL,DIV}{SS,SD}rm)
...
Introduce the VEX_X field
llvm-svn: 105859
2010-06-11 23:50:47 +00:00
Daniel Dunbar
d9120853e1
lit: Add a forgotten default argument.
...
llvm-svn: 105858
2010-06-11 23:47:36 +00:00
Daniel Dunbar
6edcc661b9
tests: Add wrapper script for calling macho-dump on Win32.
...
llvm-svn: 105856
2010-06-11 23:29:48 +00:00
Daniel Dunbar
d0e8649780
lit: When running Tcl style tests on Windows, substitute slashes to avoid Tcl
...
quoting problems. Not particularly ideal, but should work ok. Based on a patch by
Michael Spencer!
llvm-svn: 105855
2010-06-11 23:27:45 +00:00
Bob Wilson
470551e0ef
Add a missing bitcast. This code used to only handle conversions between
...
i64 and f64 types, but now it also handle Neon vector types, so the f64 result
of VMOVDRR may need to be converted to a Neon type. Radar 8084742.
llvm-svn: 105845
2010-06-11 22:45:25 +00:00
Daniel Dunbar
9800936127
llvm-mc: Don't set NO_INSTALL on llvm-mc.
...
llvm-svn: 105837
2010-06-11 22:00:08 +00:00
Bob Wilson
5e3c60fb63
Add instruction encoding for the Neon VMOV immediate instruction. This changes
...
the machine instruction representation of the immediate value to be encoded
into an integer with similar fields as the actual VMOV instruction. This makes
things easier for the disassembler, since it can just stuff the bits into the
immediate operand, but harder for the asm printer since it has to decode the
value to be printed. Testcase for the encoding will follow later when MC has
more support for ARM.
llvm-svn: 105836
2010-06-11 21:34:50 +00:00
Stuart Hastings
f9ef9ff3d6
Support for nested functions/classes in debug output. (Again.) Radar 7424645.
...
llvm-svn: 105828
2010-06-11 20:08:44 +00:00
Stuart Hastings
7b15c202c7
Delete duplicate function.
...
llvm-svn: 105827
2010-06-11 20:05:01 +00:00
John McCall
fade2aeb9f
Define ContextualFoldingSet, which stores a context parameter to pass down to
...
the Profile method. Currently this only works with the default FoldingSetTraits
implementation.
The point of this is to allow nodes to not store context values which are only
used during profiling. A better solution would thread this value through the
folding algorithms, but then those would need to be (1) templated and
(2) non-opaque.
llvm-svn: 105819
2010-06-11 11:06:44 +00:00
Nate Begeman
7a1f1649b9
Add support for polynomial type, for polynomial multiply
...
llvm-svn: 105792
2010-06-10 18:06:07 +00:00
Duncan Sands
48e353b393
Avoid "variable 'bits' set but not used [-Wunused-but-set-variable]"
...
warnings with gcc-4.6, by not setting bits when the result is not
used.
llvm-svn: 105790
2010-06-10 16:23:15 +00:00
Duncan Sands
83a8bdd9b7
Avoid many "variable 'Sub' set but not used [-Wunused-but-set-variable]" warnings
...
with gcc-4.6. The warning is wrong, since Sub *is* used (perhaps gcc is confused
because the use of Sub is constant folded away?), but since it is trivial to avoid,
and massively reduces the amount of warning spew, just workaround the wrong warning.
llvm-svn: 105788
2010-06-10 15:06:05 +00:00
Duncan Sands
78593d094f
Add includes to get ptrdiff_t. This is needed by gcc-4.6 which has
...
done some more header trimming, resulting in cstdef being included
by less header files.
llvm-svn: 105786
2010-06-10 10:13:58 +00:00
Bruno Cardoso Lopes
3a2d3b60e1
Teach tablegen to allow "let" expressions inside multiclasses,
...
providing more ways to factor out commonality from the records.
llvm-svn: 105776
2010-06-10 02:42:59 +00:00
Evan Cheng
bcd10b9321
Code refactoring, no functionality changes.
...
llvm-svn: 105775
2010-06-10 02:09:31 +00:00
Evan Cheng
3635f03b88
Delete code that's not safe.
...
llvm-svn: 105774
2010-06-10 02:08:20 +00:00
Nate Begeman
7b0f786883
NEON support for _lane ops, and multiplies by scalar.
...
llvm-svn: 105769
2010-06-10 00:16:56 +00:00
Jim Grosbach
a239e93a5c
be slightly more subtle about skipping dbg_value instructions; otherwise, if a
...
dbg_value immediately follows a sequence of ldr/str instructions that should
be combined into an ldm/stm and is the last instruction in the block, then
combine may end up being skipped.
llvm-svn: 105758
2010-06-09 22:21:24 +00:00
Bill Wendling
0e4d704f16
Testcase for r105741.
...
llvm-svn: 105750
2010-06-09 20:30:22 +00:00
Jakob Stoklund Olesen
9611ad3317
Mark physregs defined by inline asm as implicit.
...
This is a bit of a hack to make inline asm look more like call instructions.
It would be better to produce correct dead flags during isel.
llvm-svn: 105749
2010-06-09 20:05:00 +00:00
Evan Cheng
501c37c9ca
Allow target to place 2-address pass inserted copies in better spots. Thumb2 will use this to try to avoid breaking up IT blocks.
...
llvm-svn: 105745
2010-06-09 19:26:01 +00:00
Bill Wendling
c49bf683d9
It's an error to translate this:
...
%reg1025 = <sext> %reg1024
...
%reg1026 = SUBREG_TO_REG 0, %reg1024, 4
into this:
%reg1025 = <sext> %reg1024
...
%reg1027 = EXTRACT_SUBREG %reg1025, 4
%reg1026 = SUBREG_TO_REG 0, %reg1027, 4
The problem here is that SUBREG_TO_REG is there to assert that an implicit zext
occurs. It doesn't insert a zext instruction. If we allow the EXTRACT_SUBREG
here, it will give us the value after the <sext>, not the original value of
%reg1024 before <sext>.
llvm-svn: 105741
2010-06-09 19:00:55 +00:00
Evan Cheng
28c151ae52
Revert 105540, 105542, 105544, 105546, and 105548 to unbreak bootstrapping.
...
llvm-svn: 105740
2010-06-09 18:59:43 +00:00
Bill Wendling
ed674ae105
- Fix description of SUBREG_TO_REG. It's not going to generate a zext. But it
...
is used to assert that an *implicit* zext is performed.
- Fix grammar-o in INSERT_SUBREG. (required reformatting)
llvm-svn: 105735
2010-06-09 18:15:36 +00:00
Nate Begeman
905696c6eb
Further refine types for operations which take scalars.
...
This will be used primarily by NEON shift intrinsics.
llvm-svn: 105733
2010-06-09 18:02:26 +00:00