Eli Friedman
38cd36dbdb
Switch the Alignment argument on AggValueSlot over to CharUnits, per John's review comment.
...
llvm-svn: 145741
2011-12-03 02:13:40 +00:00
Jim Ingham
25f6670003
Make the ThreadPlanStepThrough set a backstop breakpoint on the return address from
...
the function it is being asked to step through, so that even if we get the trampoline
target wrong (for instance) we will still not lose control.
The other fix here is to tighten up the handling of the case where the current plan
doesn't explain the stop, but a plan above us does. In that case, if the plan that
does explain the stop says it is done, we need to clean up the plans below it and
continue on with our processing.
llvm-svn: 145740
2011-12-03 01:52:59 +00:00
Kostya Serebryany
26c5df4733
[asan] micro-benchmark for use-after-return fake stack
...
llvm-svn: 145739
2011-12-03 01:44:48 +00:00
Douglas Gregor
959bb06e96
Module files representing actual modules don't need to know the set of modules they import, since that information isn't actually used. Drop it from the AST file
...
llvm-svn: 145738
2011-12-03 01:15:29 +00:00
Douglas Gregor
0a8391362e
Implement support for precompiled headers, preambles, and serialized
...
"main" files that import modules. When loading any of these kinds of
AST files, we make the modules that were imported visible into the
translation unit that loaded the PCH file or preamble.
llvm-svn: 145737
2011-12-03 00:59:55 +00:00
Eli Friedman
c1d85b931e
Track alignment in AggValueSlot. No functional change in this patch, but I'll be introducing uses of the specified alignment soon.
...
llvm-svn: 145736
2011-12-03 00:54:26 +00:00
Greg Clayton
c91d804af9
Fixed some extra warnings that show up with the new clang.
...
llvm-svn: 145735
2011-12-03 00:46:21 +00:00
Douglas Gregor
0f2a3607e0
Keep track of all of the import declarations that are parsed or
...
implicitly generated in a translation unit. Modules will need this
information to identify the actual imports that occurred.
llvm-svn: 145734
2011-12-03 00:30:27 +00:00
Greg Clayton
934cb05e40
<rdar://problem/10522194>
...
Fixed an issue where if we have the DWARF equivalent of:
struct foo;
class foo { ... };
Or vice versa, we wouldn't be able to find the complete type. Since many
compilers allow forward declarations to have struct and definitions to have
class, we need to be able to deal with both cases. This commit fixes this in
the DWARF parser.
llvm-svn: 145733
2011-12-03 00:27:05 +00:00
Johnny Chen
5daa6de433
Let's also record the compiler version used for compiling the inferior into the session info
...
llvm-svn: 145732
2011-12-03 00:16:59 +00:00
Pete Cooper
e03fe83d98
Fixed deadstoreelimination bug where negative indices were incorrectly causing the optimisation to occur
...
Turns out long long + unsigned long long is unsigned. Doh!
Fixes http://llvm.org/bugs/show_bug.cgi?id=11455
llvm-svn: 145731
2011-12-03 00:04:30 +00:00
Chad Rosier
0155a63513
Add support for constant folding the pow intrinsic.
...
rdar://10514247
llvm-svn: 145730
2011-12-03 00:00:03 +00:00
Howard Hinnant
7f3884d58a
I had picked up the wrong version of DaveZ's hash patches. Corrected here.
...
llvm-svn: 145728
2011-12-02 23:45:22 +00:00
Douglas Gregor
bcfc7d0229
When we treat an #include or #import as a module import, create an
...
implicit ImportDecl in the translation unit to record the presence of
the import.
llvm-svn: 145727
2011-12-02 23:42:12 +00:00
Jim Grosbach
9dff9f4c41
ARM NEON VEXT aliases for data type suffices.
...
llvm-svn: 145726
2011-12-02 23:34:39 +00:00
Douglas Gregor
ba34552e79
Introduce a module import declaration, so that we properly represent, e.g.,
...
__import_module__ std.vector;
in the AST.
llvm-svn: 145725
2011-12-02 23:23:56 +00:00
Nick Lewycky
45ccba64ab
Revert r145697 and dependent patch r145702. It added a dependency from
...
lib/Analysis to lib/Sema which is cyclical.
llvm-svn: 145724
2011-12-02 23:21:43 +00:00
Kostya Serebryany
b89f2a6e78
[asan] put back -O2 which was lost quite some time ago and caused noticeable perf drop in malloc-intensive apps. doh.
...
llvm-svn: 145723
2011-12-02 23:04:12 +00:00
Jim Grosbach
2635f54cb6
ARM VEXT tighten up operand classes a bit.
...
llvm-svn: 145722
2011-12-02 22:57:57 +00:00
Howard Hinnant
425d482c21
Fixes to hash for long long, unsigned long long, float, double and long double. Credit Dave Zarzycki
...
llvm-svn: 145721
2011-12-02 22:52:09 +00:00
Greg Clayton
4c3b8fb7e6
<rdar://problem/10410131>
...
Fixed an issue that could cause an infinite recursion when using "type filter".
llvm-svn: 145720
2011-12-02 22:48:25 +00:00
Jim Grosbach
eb53822f5a
ARM VST1 single lane assembly parsing.
...
llvm-svn: 145718
2011-12-02 22:34:51 +00:00
Akira Hatanaka
430f917fbe
Test cases for 64-bit multiplication and division.
...
llvm-svn: 145717
2011-12-02 22:31:36 +00:00
Akira Hatanaka
bbc5555bee
Fix test cases to use FileCheck.
...
llvm-svn: 145716
2011-12-02 22:28:09 +00:00
Nick Lewycky
432add5b8f
Update for change to LLVM TargetMachine API in r145714.
...
llvm-svn: 145715
2011-12-02 22:17:00 +00:00
Nick Lewycky
50f02cb21b
Move global variables in TargetMachine into new TargetOptions class. As an API
...
change, now you need a TargetOptions object to create a TargetMachine. Clang
patch to follow.
One small functionality change in PTX. PTX had commented out the machine
verifier parts in their copy of printAndVerify. That now calls the version in
LLVMTargetMachine. Users of PTX who need verification disabled should rely on
not passing the command-line flag to enable it.
llvm-svn: 145714
2011-12-02 22:16:29 +00:00
Jim Grosbach
7276397f41
ARM tests for VLD1 single lane w/ writeback.
...
llvm-svn: 145713
2011-12-02 22:03:52 +00:00
Jim Grosbach
dda976b804
ARM VLD1 single lane assembly parsing.
...
llvm-svn: 145712
2011-12-02 22:01:52 +00:00
Jim Grosbach
81c9003695
ARM encoder method needs the physical register number, not the enum.
...
llvm-svn: 145711
2011-12-02 22:01:25 +00:00
Douglas Gregor
282d70c410
Add missing test header
...
llvm-svn: 145710
2011-12-02 21:59:41 +00:00
Douglas Gregor
dac7f9a57e
Only perform checking of the predefines buffer when loading a
...
precompiled header. Previously, we were trying to gather predefines
buffers from all kinds of AST files (which doesn't make sense) and
were performing some validation when AST files were loaded as main
files.
With these tweaks, using PCH files that import modules no longer fails
immediately (due to mismatched predefines buffers). However, module
visibility is lost, so this feature does not yet work.
llvm-svn: 145709
2011-12-02 21:56:05 +00:00
Howard Hinnant
1196716270
unord test fixes by Edward Meewis
...
llvm-svn: 145707
2011-12-02 21:23:14 +00:00
Kostya Serebryany
e4bada2c94
[asan] get rid of std::map. No STL and almost no libstdc++ left.
...
llvm-svn: 145706
2011-12-02 21:02:20 +00:00
Dylan Noblesmith
dbf20b8aaa
TargetMachine: document unnamed bool argument
...
Its meaning was slightly mysterious without looking at
subclasses.
llvm-svn: 145705
2011-12-02 20:53:57 +00:00
Dylan Noblesmith
f6f9f1dd4a
unittests: add ErrorStr to ExecutionEngine test
...
Makes failures more self-explanatory.
llvm-svn: 145704
2011-12-02 20:53:53 +00:00
Howard Hinnant
132bd622cf
Fix http://llvm.org/bugs/show_bug.cgi?id=11459 . Patch supplied by Alberto Ganesh Barbati.
...
llvm-svn: 145703
2011-12-02 20:41:47 +00:00
Hans Wennborg
4d99c7a6dd
Make r145697 actually work.
...
Use the canonical type of the typedef to compare with the underlying type.
llvm-svn: 145702
2011-12-02 20:32:01 +00:00
Chad Rosier
9fd0e55e91
[arm-fast-isel] After promoting a function parameter be sure to update the
...
argument value type. Otherwise, the sign/zero-extend has no effect on arguments
passed via the stack (i.e., undefined high-order bits).
rdar://10515467
llvm-svn: 145701
2011-12-02 20:25:18 +00:00
Douglas Gregor
2a5d14898a
Make sure that name lookup in C checks whether a name is hidden.
...
llvm-svn: 145700
2011-12-02 20:08:44 +00:00
Hal Finkel
d87f7af1f3
specify cpu for test to fix failure on some darwin systems with a g4+ cpu
...
llvm-svn: 145699
2011-12-02 19:38:17 +00:00
Howard Hinnant
75689c1018
Fix http://llvm.org/bugs/show_bug.cgi?id=11428 . Fix provided by Alberto Ganesh Barbati
...
llvm-svn: 145698
2011-12-02 19:36:40 +00:00
Hans Wennborg
70f7213d2c
Make conversion specifier warning refer to typedef if possible.
...
For example, the warning for printf("%zu", 42.0);
changes from "conversion specifies type 'unsigned long'" to "conversion
specifies type 'size_t' (aka 'unsigned long')"
llvm-svn: 145697
2011-12-02 19:22:15 +00:00
Douglas Gregor
541392832f
When making a module visible, also make any of its exported modules
...
visible, allowing one to create modules that import (and then
re-export) other modules.
llvm-svn: 145696
2011-12-02 19:11:09 +00:00
Douglas Gregor
24bb923aa8
Implement (de-)serialization of the set of exported modules in a
...
module map.
llvm-svn: 145695
2011-12-02 18:58:38 +00:00
Kostya Serebryany
c5be44aaa2
[asan] quick fix for mac build, second attempt. Sorry for spam.
...
llvm-svn: 145694
2011-12-02 18:52:35 +00:00
Jim Grosbach
e7dcbc8691
Clean up aliases for ARM VLD1 single-lane assembly parsing a bit.
...
Add the 16-bit lane variants while I'm at it.
llvm-svn: 145693
2011-12-02 18:52:30 +00:00
Kostya Serebryany
196cd6af90
[asan] quick fix for mac build
...
llvm-svn: 145692
2011-12-02 18:48:20 +00:00
Kostya Serebryany
2d27cdf621
[asan] minimize the use of STL. One bit is still left.
...
llvm-svn: 145691
2011-12-02 18:42:04 +00:00
Benjamin Kramer
4d2b871cda
Fix quadratic behavior in InlineFunction by fetching the personality function of the callee once and not for every invoke in the caller.
...
The callee is usually smaller than the caller, too. This reduces the compile
time of ARMDisassembler.cpp by 32% (Release build). It still takes ages to
compile though.
llvm-svn: 145690
2011-12-02 18:37:31 +00:00
Jim Grosbach
bccc4c17f3
Check for error after InstantiateMultclassDef.
...
llvm-svn: 145689
2011-12-02 18:33:03 +00:00