Bruno Cardoso Lopes
91d61df3eb
Add AVX matching patterns to Packed Bit Test intrinsics.
...
Apply the same approach of SSE4.1 ptest intrinsics but
create a new x86 node "testp" since AVX introduces
vtest{ps}{pd} instructions which set ZF and CF depending
on sign bit AND and ANDN of packed floating-point sources.
This is slightly different from what the "ptest" does.
Tests comming with the other 256 intrinsics tests.
llvm-svn: 110744
2010-08-10 23:25:42 +00:00
Owen Anderson
5f1dd0967d
Now that we're using ConstantRange to represent potential values, make use of that represenation to
...
create constraints from comparisons other than eq/neq.
llvm-svn: 110742
2010-08-10 23:20:01 +00:00
Ted Kremenek
19183acd1f
Add test case for <rdar://problem/8288645>. While this is fixed in trunk, we previously were getting the following assertion failure not too long ago:
...
Assertion failed: (getContainingDC(DC) == CurContext && "The next DeclContext should be lexically contained in the current one.")
llvm-svn: 110740
2010-08-10 22:30:29 +00:00
Bill Wendling
871d4e1170
The optimize comparisons pass removes the "cmp" instruction this is checking for.
...
llvm-svn: 110739
2010-08-10 22:16:05 +00:00
John Thompson
307c2729fd
Something's wrong with this test on other platforms. I'll probably need to simplify it later. For now revert.
...
llvm-svn: 110738
2010-08-10 22:04:00 +00:00
Nate Begeman
3ec892c167
Add test for recent instcombine vector shuffle enhancement
...
llvm-svn: 110737
2010-08-10 21:58:00 +00:00
Howard Hinnant
2bcfef5e9c
Fix conflict with cstring and using namespace std
...
llvm-svn: 110736
2010-08-10 21:57:23 +00:00
Chris Lattner
0b6dce4ea4
upgrade to use new intrinsics, patch by Dan Hipschman!
...
llvm-svn: 110735
2010-08-10 21:45:38 +00:00
Nate Begeman
265363061e
Add the minimal amount of smarts necessary to instcombine of shufflevectors to recognize
...
patterns generated by clang for transpose of a matrix in generic vectors. This is made
of two parts:
1) Propagating vector extracts of hi/lo half into their users
2) Recognizing an insertion of even elements followed by the odd elements as an unpack.
Testcase to come, but this shrinks the # of shuffle instructions generated on x86 from ~40 to the minimal 8.
llvm-svn: 110734
2010-08-10 21:38:12 +00:00
Bill Wendling
0757820f8f
Turn optimize compares back on with fix. We needed to test that a machine op was
...
a register before checking if it was defined.
llvm-svn: 110733
2010-08-10 21:38:11 +00:00
Johnny Chen
705c3b6aaa
There is no need to restore (sys.stdin, sys.stdout) of the python script
...
interpreter right before calling Py_Finalize(). This also fixed the crash as
reported in rdar://problem/8252903.
llvm-svn: 110731
2010-08-10 21:26:55 +00:00
Jakob Stoklund Olesen
57f3db6e2e
Give up on register class recalculation when the register is used with subreg
...
operands. We don't currently have a hook to provide "the largest super class of
A where all registers' getSubReg(subidx) is valid and in B".
llvm-svn: 110730
2010-08-10 21:16:16 +00:00
Fariborz Jahanian
6fdc171414
Fix test to not depend on objc.h header.
...
llvm-svn: 110729
2010-08-10 20:59:58 +00:00
Dan Gohman
a53f4e23e4
Revert r110718; it broke clang-i386-darwin9.
...
llvm-svn: 110726
2010-08-10 20:49:33 +00:00
Howard Hinnant
eb2692571f
patch by Jesse Towner, and bug fix by Sebastian Redl
...
llvm-svn: 110724
2010-08-10 20:48:29 +00:00
Jakob Stoklund Olesen
3b870f045f
Avoid editing the current live interval during remat.
...
The live interval may be used for a spill slot as well, and that spill slot
could be shared by split registers. We cannot shrink it, even if we know the
current register won't need the spill slot in that range.
llvm-svn: 110721
2010-08-10 20:45:07 +00:00
Jakob Stoklund Olesen
62e721478b
More debug spew
...
llvm-svn: 110720
2010-08-10 20:45:01 +00:00
Johnny Chen
edcbecfb1f
Call lldb.SBDebugger.Terminate() at the end of test suite run through the atexit
...
handler similar to what's happening for the individual test case run.
llvm-svn: 110719
2010-08-10 20:23:55 +00:00
Bill Wendling
558f822bc7
Turn optimize cmps on by default so that we can get some testing by the nightly
...
ARM testers.
llvm-svn: 110718
2010-08-10 20:23:02 +00:00
Devang Patel
3e4d04230b
Add missing argument. CreateCompositeTypeEx() users, please verify.
...
llvm-svn: 110717
2010-08-10 20:22:49 +00:00
Devang Patel
8166571a25
Simplify
...
llvm-svn: 110716
2010-08-10 20:16:57 +00:00
Owen Anderson
185fe00633
Switch over to using ConstantRange to track integral values.
...
llvm-svn: 110714
2010-08-10 20:03:09 +00:00
Devang Patel
bb9106b395
Test case for llvm r110712.
...
llvm-svn: 110713
2010-08-10 20:01:51 +00:00
Devang Patel
8e06a5eb47
Do not forget debug info for enums. Use named mdnode to keep track of these types.
...
llvm-svn: 110712
2010-08-10 20:01:20 +00:00
Daniel Dunbar
18cc4acb00
tests: Don't error out if HOME isn't present in t the environment.
...
llvm-svn: 110711
2010-08-10 19:36:25 +00:00
Evan Cheng
fa16acae44
Delete some unused instructions.
...
llvm-svn: 110710
2010-08-10 19:36:22 +00:00
Daniel Dunbar
4c60857426
tests: Avoid unnecessary redirection.
...
llvm-svn: 110709
2010-08-10 19:33:56 +00:00
Daniel Dunbar
656f3bd3e2
tests: Tests which include system headers must use the driver, not -cc1.
...
llvm-svn: 110708
2010-08-10 19:32:44 +00:00
Evan Cheng
3f251fb26e
Re-apply r110655 with fixes. Epilogue must restore sp from fp if the function stack frame has a var-sized object.
...
Also added a test case to check for the added benefit of this patch: it's optimizing away the unnecessary restore of sp from fp for some non-leaf functions.
llvm-svn: 110707
2010-08-10 19:30:19 +00:00
John Thompson
a5c7d706b8
Slightly revised handling of mult-alt constraints, to avoid an assert, until we have the full fix.
...
llvm-svn: 110706
2010-08-10 19:20:14 +00:00
Rafael Espindola
0045646633
Make it possible to set the flags passed to the assembler.
...
Nick, please review.
llvm-svn: 110705
2010-08-10 18:55:09 +00:00
John McCall
62eb9a8e84
When initializing a static local, pop the guard-abort EH cleanup after
...
the variable is fully initialized.
llvm-svn: 110704
2010-08-10 18:51:44 +00:00
Jakob Stoklund Olesen
53c5022040
Implement register class inflation.
...
When splitting a live range, the new registers have fewer uses and the
permissible register class may be less constrained. Recompute the register class
constraint from the uses of new registers created for a split. This may let them
be allocated from a larger set, possibly avoiding a spill.
llvm-svn: 110703
2010-08-10 18:37:40 +00:00
Fariborz Jahanian
d52543ee22
an objective-c++ test for -Wstrict-selector-match
...
(radar 8127244).
llvm-svn: 110702
2010-08-10 18:32:37 +00:00
Daniel Dunbar
0dd47bfca3
Revert r110655, "Fix ARM hasFP() semantics. It should return true whenever FP
...
register is", it breaks a couple test-suite tests.
llvm-svn: 110701
2010-08-10 18:32:02 +00:00
Devang Patel
76e3b53541
Do not use DIGlobalVariable to emit debugging information for enums.
...
llvm-svn: 110697
2010-08-10 18:27:15 +00:00
Fariborz Jahanian
32e59ba01d
Fix a spurious warning when message sent to qualified-id
...
type receiver (pr7861).
llvm-svn: 110696
2010-08-10 18:10:50 +00:00
Ted Kremenek
0476899b20
Turn on idempotent operations checker when using --analyze.
...
llvm-svn: 110695
2010-08-10 18:03:13 +00:00
Devang Patel
dc866e119c
Simplify code and add comments, in code that generate debug info for constant integer globals, based on Chris's feedback.
...
llvm-svn: 110694
2010-08-10 17:53:33 +00:00
Daniel Dunbar
ce25f33e2a
Driver/FreeBSD: Infer the right arch name in the presence of -m32,-m64, for the
...
cases we care about.
- This is eventually going to be unified outside the host specific code.
llvm-svn: 110693
2010-08-10 17:39:05 +00:00
Daniel Dunbar
d215976208
MC/AsmParser: Fix a bug in macro argument parsing, which was dropping
...
parentheses from argument lists.
llvm-svn: 110692
2010-08-10 17:38:52 +00:00
Bob Wilson
407e76995b
Install llvmCore_Sim to the simulator SDK directory. Radar 8282845.
...
llvm-svn: 110687
2010-08-10 17:13:58 +00:00
Jakob Stoklund Olesen
284c2dbfd7
Recalculate the spill weight and allocation hint for virtual registers created
...
during live range splitting.
llvm-svn: 110686
2010-08-10 17:07:22 +00:00
Jakob Stoklund Olesen
5730846c2f
Fix test for more architectures. Patch by Tobias Grosser.
...
llvm-svn: 110685
2010-08-10 16:48:24 +00:00
Rafael Espindola
148c3284ee
Fix silly bug.
...
llvm-svn: 110684
2010-08-10 16:32:15 +00:00
Michael J. Spencer
18bf25f189
Revert "MC/MachO: Fix possible null pointer dereference."
...
This reverts commit 110575.
Target.isAbsolute() is true if SD would be null.
llvm-svn: 110683
2010-08-10 16:00:49 +00:00
Rafael Espindola
d1e241a4c3
Use RunPassesOn as in the rest of bugpoint.
...
llvm-svn: 110682
2010-08-10 15:46:11 +00:00
Douglas Gregor
e68aaca766
Teach the libclang cursor visitor to walk into the type information
...
provided by __builtin_types_compatible_p and __builtin_va_arg
expressions, now that Abramo has added proper type-source information
to those expressions.
llvm-svn: 110681
2010-08-10 15:02:34 +00:00
Mikhail Glushenkov
84fc4586f7
Simplify generating LLVMC_BUILTIN_PLUGIN.
...
Patch by NAKAMURA Takumi!
llvm-svn: 110680
2010-08-10 14:49:29 +00:00
Mikhail Glushenkov
fc838009d6
Trailing whitespace.
...
llvm-svn: 110679
2010-08-10 14:49:24 +00:00