Oscar Fuentes
945f64ebac
CMake: corrections on LLVM.cmake external services.
...
llvm-svn: 110763
2010-08-11 00:51:32 +00:00
Bill Wendling
79553bad50
Handle ARM compares as well as converting for ARM adds, subs, and thumb2's adds.
...
llvm-svn: 110762
2010-08-11 00:23:00 +00:00
Bill Wendling
920f74aaab
Mark ARM compare instructions as isCompare.
...
llvm-svn: 110761
2010-08-11 00:22:27 +00:00
John McCall
cebe0ca75e
Fix a bug in @finally emission in both the fragile and non-fragile EH schemes
...
where we weren't accounting for the possibility that a @finally block might
have internal cleanups and therefore might write to the cleanup destination slot.
Fixes <rdar://problem/8293901>.
llvm-svn: 110760
2010-08-11 00:16:14 +00:00
Rafael Espindola
ccab1dddd1
Make it possible to set the cpu used for codegen.
...
llvm-svn: 110759
2010-08-11 00:15:13 +00:00
Dan Gohman
f7495f286a
When analyzing loop exit conditions combined with and and or, don't
...
make any assumptions about when the two conditions will agree on when
to permit the loop to exit. This fixes PR7845.
llvm-svn: 110758
2010-08-11 00:12:36 +00:00
Daniel Dunbar
a8272596bc
lto: Fix an inverted conditional which prevented the addition of symbols scraped
...
from inline assembly, except in cases where they had already been seen (in which
case they would get added twice).
- I can't see how this ever worked...
llvm-svn: 110757
2010-08-11 00:11:19 +00:00
Daniel Dunbar
4493c7e550
lto: Fix gratuitous memory leaks.
...
llvm-svn: 110756
2010-08-11 00:11:17 +00:00
Ted Kremenek
2b4adffa16
Have GRCoreEngine record the blocks where analysis was aborted because we visited a block too many times along a given path. This is to support the unreachable code analysis.
...
llvm-svn: 110755
2010-08-11 00:03:02 +00:00
Bob Wilson
9664984be8
Add a separate ARM instruction format for Saturate instructions.
...
(I discovered 2 more copies of the ARM instruction format list, bringing the
total to 4!! Two of them were already out of sync. I haven't yet gotten into
the disassembler enough to know the best way to fix this, but something needs
to be done.) Add support for encoding these instructions.
llvm-svn: 110754
2010-08-11 00:01:18 +00:00
Oscar Fuentes
daf5881128
Avoid multiple definition warnings when both config.h and
...
llvm-config.h are included.
This is the cmake counterpart of r110547. See bug #7809 .
llvm-svn: 110753
2010-08-10 23:48:22 +00:00
Daniel Dunbar
919660b2ed
lto: Reduce nesting.
...
llvm-svn: 110752
2010-08-10 23:46:46 +00:00
Daniel Dunbar
5657e7b667
LTOModule.cpp: Fix numerous style issues.
...
llvm-svn: 110751
2010-08-10 23:46:39 +00:00
Dan Gohman
e18c2d6f99
Rename and reorder the arguments to isImpliedCond, for consistency and clarity.
...
llvm-svn: 110750
2010-08-10 23:46:30 +00:00
Eric Christopher
e264e092bf
We already have this as OperandNode.
...
llvm-svn: 110748
2010-08-10 23:46:20 +00:00
Evan Cheng
5415713d9a
CBZ and CBNZ are implemented.
...
llvm-svn: 110745
2010-08-10 23:27:11 +00:00
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