Greg Clayton
364f1167cb
Fixed an issue with looking up line table entries by address where internal
...
line table entries that were termination entries (ones that define the bounds
of the previous entry) could be found when looking up line table entries.
We now properly skip these termination entries and check the next entry to
try for a match.
llvm-svn: 107729
2010-07-06 23:34:08 +00:00
Jordy Rose
cf781e5430
Add comment noting VLASizeChecker's duty in defining a VLA's extent.
...
llvm-svn: 107728
2010-07-06 23:33:54 +00:00
Dale Johannesen
ce65663330
Accept RIP-relative symbols with 'i' constraint, and
...
print the (%rip) only if the 'a' modifier is present.
PR 7528.
llvm-svn: 107727
2010-07-06 23:27:00 +00:00
Jakob Stoklund Olesen
70ee3ecd33
Convert INSERT_SUBREG to COPY in TwoAddressInstructionPass.
...
INSERT_SUBREG will now only appear in SSA machine instructions.
Fix the handling of partial redefs in ProcessImplicitDefs. This is now relevant
since partial redef COPY instructions appear.
llvm-svn: 107726
2010-07-06 23:26:25 +00:00
Jakob Stoklund Olesen
48deb12593
Track defs for all aliases in NEONMoveFix.
...
This means that an instruction defining an S register will affect the domain of
the parent D register.
llvm-svn: 107725
2010-07-06 23:26:23 +00:00
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