Johnny Chen
f031b71f7e
if -1 => evaluates to True
...
oops!
llvm-svn: 107724
2010-07-06 23:26:16 +00:00
Bruno Cardoso Lopes
1f9ad516c6
Add the rest of AVX SSE4.1 packed move with sign/zero extend instructions
...
llvm-svn: 107723
2010-07-06 23:15:17 +00:00
Jordy Rose
134a236a14
Add a new path-sensitive checker for functions in <string.h>, for both null-terminated strings and memory blocks. Currently only checks memcpy(), memmove(), and bcopy(), but this is intended to be expanded soon.
...
llvm-svn: 107722
2010-07-06 23:11:01 +00:00
Dale Johannesen
6f01541ae6
Make test not hang waiting for input.
...
llvm-svn: 107721
2010-07-06 23:06:58 +00:00
Bruno Cardoso Lopes
35702d27c4
Add part of AVX SSE4.1 packed move with sign/zero extend instructions
...
llvm-svn: 107720
2010-07-06 23:01:41 +00:00
Johnny Chen
0e38f42f0a
Test that breakpoint works correctly in the presence of dead-code stripping.
...
llvm-svn: 107719
2010-07-06 22:52:00 +00:00
Jim Ingham
279a6c2669
Hide the logic for command resolution for commands, aliases & user commands behind a single
...
interface so everybody does it the same way. Add an "exact" lookup for internal uses.
Fix up a few little cases where we weren't reporting command lookup errors correctly.
Added "b" as an alias for "breakpoint" so it doesn't collide with "bt".
llvm-svn: 107718
2010-07-06 22:46:59 +00:00
Bruno Cardoso Lopes
13f0260e76
Fix comment from previous patch
...
llvm-svn: 107717
2010-07-06 22:38:32 +00:00
Jason Molenda
ea84e76479
Switch over to using llvm's dwarf constants file.
...
llvm-svn: 107716
2010-07-06 22:38:03 +00:00
Bruno Cardoso Lopes
e2bd058d32
Add AVX vblendvpd, vblendvps and vpblendvb instructions
...
Update VEX encoding to support those new instructions
llvm-svn: 107715
2010-07-06 22:36:24 +00:00
Dan Gohman
ee0cb70381
CanLowerReturn doesn't need a SelectionDAG; it just needs an LLVMContext.
...
SelectBasicBlock doesn't needs its BasicBlock argument.
llvm-svn: 107712
2010-07-06 22:19:37 +00:00
Devang Patel
a3ca21b228
Propagate debug loc.
...
llvm-svn: 107710
2010-07-06 22:08:15 +00:00
Ted Kremenek
128bfb7643
Sort CMake file.
...
llvm-svn: 107709
2010-07-06 22:03:19 +00:00
Tom Care
3ff08a8e76
Added a path-sensitive idempotent operation checker (-analyzer-idempotent-operation). Finds idempotent and/or tautological operations in a path sensitive context, flagging operations that have no effect or a predictable effect.
...
Example:
{
int a = 1;
int b = 5;
int c = b / a; // a is 1 on all paths
}
- New IdempotentOperationChecker class
- Moved recursive Stmt functions in r107675 to IdempotentOperationChecker
- Minor refactoring of SVal to allow checking for any integer
- Added command line option for check
- Added basic test cases
llvm-svn: 107706
2010-07-06 21:43:29 +00:00
Bob Wilson
4c1ca29039
Represent NEON load/store alignments in bytes, not bits.
...
llvm-svn: 107701
2010-07-06 21:26:18 +00:00
Jakob Stoklund Olesen
15fed3bd30
One more case assuming that subregs have live ranges.
...
llvm-svn: 107700
2010-07-06 21:13:03 +00:00
John McCall
72ed8908ee
Closing tags start with slashes.
...
llvm-svn: 107699
2010-07-06 21:07:14 +00:00
Jakob Stoklund Olesen
bcf3409107
Fix buildbot breakage where a def is missing.
...
llvm-svn: 107698
2010-07-06 21:06:39 +00:00
Devang Patel
b36df17b08
Add fixme.
...
llvm-svn: 107697
2010-07-06 21:05:17 +00:00
Chris Lattner
5eff9ca26e
minor typo
...
llvm-svn: 107696
2010-07-06 20:51:35 +00:00
Jakob Stoklund Olesen
a64c0a3d22
Be more forgiving when calculating alias interference for physreg coalescing.
...
It is OK for an alias live range to overlap if there is a copy to or from the
physical register. CoalescerPair can work out if the copy is coalescable
independently of the alias.
This means that we can join with the actual destination interval instead of
using the getOrigDstReg() hack. It is no longer necessary to merge clobber
ranges into subregisters.
llvm-svn: 107695
2010-07-06 20:31:51 +00:00
Greg Clayton
6b6742b08e
Remove extraneous semicolon after if condition (from Jean-Daniel Dupas).
...
llvm-svn: 107694
2010-07-06 20:30:35 +00:00
Greg Clayton
5f067820ba
Avoid duplicate names (something else that clang++ really doesn't like) in
...
function prototype (from Jean-Daniel Dupas).
llvm-svn: 107693
2010-07-06 20:29:25 +00:00
Greg Clayton
3afe8a9f1d
Applied pid.patch from Jean-Daniel Dupas.
...
llvm-svn: 107692
2010-07-06 20:27:00 +00:00
Dan Gohman
3439629239
Reapply r107655 with fixes; insert the pseudo instruction into
...
the block before calling the expansion hook. And don't
put EFLAGS in a mbb's live-in list twice.
llvm-svn: 107691
2010-07-06 20:24:04 +00:00
Nick Lewycky
c96c37f6fd
Fix multiple emission of the this-> fixit for each instantiation by fixing the
...
AST during the instantiation. Fixes PR7417!
llvm-svn: 107690
2010-07-06 19:51:49 +00:00
Matt Fleming
e3ecf358d0
Add X86_64 ELF relocation values and ELF64 relocation classes.
...
Patch from Roman Divacky.
llvm-svn: 107688
2010-07-06 18:44:02 +00:00
John McCall
189223e222
Make CGBuilderTy a typedef again; its functionality has been rolled back
...
into IRBuilder.
llvm-svn: 107687
2010-07-06 18:43:48 +00:00
Douglas Gregor
ec9c6ae1cb
Improve the accuracy of getSourceRange() for DeclaratorDecl and
...
TagDecl subclasses when out-of-line template declaration information
is available, from Peter Collingbourne!
llvm-svn: 107686
2010-07-06 18:42:40 +00:00
Matt Fleming
13d85ea43c
Add some more ELF OSABI values as found in the System V Application
...
Binary Interface specification.
llvm-svn: 107685
2010-07-06 18:36:57 +00:00
Eric Christopher
dfc8b745a2
Fix to 80-col.
...
llvm-svn: 107684
2010-07-06 18:35:20 +00:00
John McCall
3caf24d557
Provide IRBuilder conveniences for creating integer constants at common widths,
...
and give a more precise return type for some of the type-creation methods.
llvm-svn: 107683
2010-07-06 18:34:49 +00:00
Douglas Gregor
d890b734f8
Correctly set the location of the "template" keyword for a class
...
template specialization, from Peter Collingbourne.
llvm-svn: 107682
2010-07-06 18:33:12 +00:00
Douglas Gregor
6191f6c607
Remove my egregious hack that forced deserialization of visible
...
declarations when implicitly declaring the default constructor, copy
constructor, destructor, and copy-assignment operators of a
class. Argiris fixed the underlying problem in r107596.
llvm-svn: 107681
2010-07-06 18:29:01 +00:00
Nick Lewycky
14b58dac8d
Alphabetize the list of function parameters.
...
llvm-svn: 107680
2010-07-06 18:24:09 +00:00
Duncan Sands
1614396b15
Pacify versions of gcc that think these variables may be used
...
uninitialized (which doesn't seem to be the case), by giving
them arbitrary initial values.
llvm-svn: 107679
2010-07-06 18:19:40 +00:00
Devang Patel
23a7593534
Fix PR7545 crash.
...
llvm-svn: 107678
2010-07-06 18:18:32 +00:00
John McCall
e9512f0a25
Provide an abstraction to save and restore the current insertion point of
...
an IRBuilder.
llvm-svn: 107677
2010-07-06 18:07:52 +00:00
John McCall
2d605ac1f5
When destroying a cleanup, kill any references to instructions in the entry
...
block before deleting it. Fixes PR7575.
This really just a short-term fix before implementing lazy cleanups.
llvm-svn: 107676
2010-07-06 17:35:03 +00:00
Tom Care
4626285dba
Added several helper functions to Stmt to recursively check for different elements (macros, enum constants, etc).
...
llvm-svn: 107675
2010-07-06 17:28:49 +00:00
Rafael Espindola
7c510aa7bc
Don't create neon moves in CopyRegToReg. NEONMoveFixPass will do the conversion
...
if profitable.
llvm-svn: 107673
2010-07-06 16:24:34 +00:00
Greg Clayton
388e3b0fa9
Added "-Wparentheses" so we catch possible errors like:
...
if (a = 0)
instead of:
if (a == 0)
Thanks to Jean-Daniel Dupas.
llvm-svn: 107672
2010-07-06 16:16:14 +00:00
Greg Clayton
a08073565a
Jean-Daniel Dupas patch that fixes a bad if statement with assignment.
...
llvm-svn: 107671
2010-07-06 16:11:44 +00:00
Chris Lattner
dde2ba0b60
tighten up this code.
...
llvm-svn: 107670
2010-07-06 15:59:27 +00:00
Duncan Sands
83cec97479
Bring the list of passes and their descriptions up to date.
...
Patch by Kenneth Hoste.
llvm-svn: 107669
2010-07-06 15:52:15 +00:00
Dan Gohman
f4f04107ef
Revert r107655.
...
llvm-svn: 107668
2010-07-06 15:49:48 +00:00
Gabor Greif
33134fa75f
second round of low-level interface squeeze-out:
...
making all of CallInst's low-level operand accessors
private
If you get compile errors I strongly urge you to
update your code.
I tried to write the necessary clues into the
header where the compiler may point to, but no
guarantees. It works for my GCC.
You have several options to update your code:
- you can use the v2.8 ArgOperand accessors
- you can go via a temporary CallSite
- you can upcast to, say, User and call its
low-level accessors if your code is definitely
operand-order agnostic.
If you run into serious problems, please
comment in below thread (and back out this
revision only if absolutely necessary):
<http://groups.google.com/group/llvm-dev/browse_thread/thread/64650cf343b28271 >
llvm-svn: 107667
2010-07-06 15:44:11 +00:00
Dan Gohman
4e49b59dad
Add versions of OutputArgReg, AnalyzeReturn, and AnalyzeCallOperands
...
which do not depend on SelectionDAG.
llvm-svn: 107666
2010-07-06 15:39:54 +00:00
Argyrios Kyrtzidis
39fdf81b43
Read/write function template specializations for PCH, properly this time.
...
llvm-svn: 107665
2010-07-06 15:37:09 +00:00
Argyrios Kyrtzidis
af2eac2869
Add to PCH missing Sema information about VTable uses and dynamic classes.
...
llvm-svn: 107664
2010-07-06 15:37:04 +00:00