Duncan Sands
e6f6a2ecdc
Remove a wrapper around getIntPtrType added to GVN by Hal in commit 166624 (the
...
wrapper returns a vector of integers when passed a vector of pointers) by having
getIntPtrType itself return a vector of integers in this case. Outside of this
wrapper, I didn't find anywhere in the codebase that was relying on the old
behaviour for vectors of pointers, so give this a whirl through the buildbots.
llvm-svn: 166939
2012-10-29 17:31:46 +00:00
Micah Villmow
ce5e56a156
Back out r166591, not sure why this made it through since I cancelled the command. Bleh, sorry about this!
...
llvm-svn: 166596
2012-10-24 17:25:11 +00:00
Micah Villmow
ae5ce80c36
Delete a directory that wasn't supposed to be checked in yet.
...
llvm-svn: 166591
2012-10-24 17:20:04 +00:00
Micah Villmow
521311700f
Add in support for getIntPtrType to get the pointer type based on the address space.
...
This checkin also adds in some tests that utilize these paths and updates some of the
clients.
llvm-svn: 166578
2012-10-24 15:52:52 +00:00
Alexey Samsonov
947d01e1c5
[ASan] Support comments in ASan/TSan blacklist file as lines starting with #
...
llvm-svn: 166283
2012-10-19 15:24:46 +00:00
Evgeniy Stepanov
3628bf2d69
Move SplitBlockAndInsertIfThen to BasicBlockUtils.
...
llvm-svn: 166278
2012-10-19 10:48:31 +00:00
Kostya Serebryany
83b25ee2df
[asan] make sure asan erases old unused allocas after it created a new one. This became important after the recent move from ModulePass to FunctionPass because no cleanup is happening after asan pass any more.
...
llvm-svn: 166267
2012-10-19 06:20:53 +00:00
Kostya Serebryany
358163265e
[asan] better debug diagnostics in asan compiler module
...
llvm-svn: 166102
2012-10-17 13:40:06 +00:00
Micah Villmow
272663afc2
Resubmit the changes to llvm core to update the functions to support different pointer sizes on a per address space basis.
...
llvm-svn: 165941
2012-10-15 16:24:29 +00:00
Kostya Serebryany
a6cd7ad8f2
[asan] make AddressSanitizer to be a FunctionPass instead of ModulePass. This will simplify chaining other FunctionPasses with asan. Also some minor cleanup
...
llvm-svn: 165936
2012-10-15 14:20:06 +00:00
Micah Villmow
4eb108750d
Revert 165732 for further review.
...
llvm-svn: 165747
2012-10-11 21:27:41 +00:00
Micah Villmow
d8b76fdc50
Add in the first iteration of support for llvm/clang/lldb to allow variable per address space pointer sizes to be optimized correctly.
...
llvm-svn: 165726
2012-10-11 17:21:41 +00:00
Bill Wendling
5f457b4ddd
Have 'addFnAttr' take the attribute enum value. Then have it build the attribute object and add it appropriately. No functionality change.
...
llvm-svn: 165595
2012-10-10 03:12:49 +00:00
Bill Wendling
7d6ddcc8e3
Use the enum value of the attributes when adding them to the attributes builder.
...
llvm-svn: 165494
2012-10-09 09:11:20 +00:00
Bill Wendling
b53357de39
Create enums for the different attributes.
...
We use the enums to query whether an Attributes object has that attribute. The
opaque layer is responsible for knowing where that specific attribute is stored.
llvm-svn: 165488
2012-10-09 07:45:08 +00:00
Bill Wendling
c00f4a514d
Convert to using the Attributes::Builder interface.
...
llvm-svn: 165465
2012-10-09 00:01:21 +00:00
Micah Villmow
bb1a25cd67
Move TargetData to DataLayout.
...
llvm-svn: 165402
2012-10-08 16:38:25 +00:00
Kostya Serebryany
c67aaf9840
[tsan] add 3 internal flags for fine-grain control of what is instrumented and what is not.
...
llvm-svn: 165204
2012-10-04 05:28:50 +00:00
Dmitry Vyukov
073abe76d1
tsan: prepare for migration to new memory_order enum values (ABI compatible)
...
llvm-svn: 165107
2012-10-03 13:00:57 +00:00
Sylvestre Ledru
b77340e506
Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767
...
llvm-svn: 164768
2012-09-27 10:14:43 +00:00
Sylvestre Ledru
1c5e7904de
Fix a typo 'iff' => 'if'
...
llvm-svn: 164767
2012-09-27 09:59:43 +00:00
Bill Wendling
92f3ab845d
Remove the `hasFnAttr' method from Function.
...
The hasFnAttr method has been replaced by querying the Attributes explicitly. No
intended functionality change.
llvm-svn: 164725
2012-09-26 21:48:26 +00:00
Bill Wendling
17ebc7c313
s/__llvm_gcov_flush/__gcov_flush/g
...
llvm-svn: 164040
2012-09-17 17:57:05 +00:00
Axel Naumann
bcdf671ac4
Fix a few vars that can end up being used without initialization.
...
The cases where no initialization happens should still be checked for logic flaws.
llvm-svn: 164032
2012-09-17 14:20:57 +00:00
Bill Wendling
a1af1f6f9f
Remove comment.
...
llvm-svn: 163945
2012-09-14 22:35:49 +00:00
Bill Wendling
33543a2252
Use Nick's suggestion of storing a large NULL into the GV instead of memset, which requires TargetData.
...
llvm-svn: 163799
2012-09-13 14:32:30 +00:00
Bill Wendling
a959ed6f52
Introduce the __llvm_gcov_flush function.
...
This function writes out the current values of the counters and then resets
them. This can be used similarly to the __gcov_flush function to sync the
counters when need be. For instance, in a situation where the application
doesn't exit.
<rdar://problem/12185886>
llvm-svn: 163757
2012-09-13 00:09:55 +00:00
Kostya Serebryany
9330f23483
[asan] fix lint
...
llvm-svn: 163205
2012-09-05 09:00:18 +00:00
Kostya Serebryany
a56cf96db5
[asan] extend the blacklist functionality to handle global-init. Patch by Reid Watson
...
llvm-svn: 163199
2012-09-05 07:29:56 +00:00
Logan Chien
5dc162e9e0
Rename ANDROIDEABI to Android.
...
Most of the code guarded with ANDROIDEABI are not
ARM-specific, and having no relation with arm-eabi.
Thus, it will be more natural to call this
environment "Android" instead of "ANDROIDEABI".
Note: We are not using ANDROID because several projects
are using "-DANDROID" as the conditional compilation
flag.
llvm-svn: 163087
2012-09-02 09:29:46 +00:00
Alexey Samsonov
7f9c9b78c5
Whitespace
...
llvm-svn: 162907
2012-08-30 13:47:13 +00:00
Bill Wendling
cddd24c312
Pass by pointer and not std::string.
...
llvm-svn: 162888
2012-08-30 01:32:31 +00:00
Bill Wendling
3de0824b41
Revert r162855 in favor of changing clang to emit the absolute coverage file path.
...
llvm-svn: 162883
2012-08-30 00:34:21 +00:00
Bill Wendling
d3f96d717a
Use the full path to output the .gcda file.
...
This lets the user run the program from a different directory and still have the
.gcda files show up in the correct place.
<rdar://problem/12179524>
llvm-svn: 162855
2012-08-29 20:30:44 +00:00
Bill Wendling
48eee0bfb4
Use ArrayRef instead of SmallVector when passing vector into function.
...
llvm-svn: 162851
2012-08-29 18:45:41 +00:00
Benjamin Kramer
b92d13cc42
Make MemoryBuiltins aware of TargetLibraryInfo.
...
This disables malloc-specific optimization when -fno-builtin (or -ffreestanding)
is specified. This has been a problem for a long time but became more severe
with the recent memory builtin improvements.
Since the memory builtin functions are used everywhere, this required passing
TLI in many places. This means that functions that now have an optional TLI
argument, like RecursivelyDeleteTriviallyDeadFunctions, won't remove dead
mallocs anymore if the TLI argument is missing. I've updated most passes to do
the right thing.
Fixes PR13694 and probably others.
llvm-svn: 162841
2012-08-29 15:32:21 +00:00
Kostya Serebryany
3025fe1d94
[asan/tsan] rename FunctionBlackList* to BlackList* as this class is not limited to functions any more
...
llvm-svn: 162566
2012-08-24 16:44:47 +00:00
Kostya Serebryany
9318c48cb3
[asan/tsan] extend the functionality of FunctionBlackList to globals and modules. Patch by Reid Watson.
...
llvm-svn: 162565
2012-08-24 16:40:11 +00:00
Richard Smith
8754482773
MaximumSpanningTree::EdgeWeightCompare: Make this comparator actually be a
...
strict weak ordering, and don't pass possibly-null pointers to dyn_cast.
llvm-svn: 162314
2012-08-21 21:03:40 +00:00
Kostya Serebryany
7ada43d99a
[asan] add code to detect global initialization fiasco in C/C++. The sub-pass is off by default for now. Patch by Reid Watson. Note: this patch changes the interface between LLVM and compiler-rt parts of asan. The corresponding patch to compiler-rt will follow.
...
llvm-svn: 162268
2012-08-21 08:24:25 +00:00
Kostya Serebryany
8af4402528
[asan] implement --asan-always-slow-path, which is a part of the improvement to handle unaligned partially OOB accesses. See http://code.google.com/p/address-sanitizer/issues/detail?id=100
...
llvm-svn: 161937
2012-08-15 08:58:58 +00:00
Kostya Serebryany
06dbe5559a
[asan] insert crash basic blocks inline as opposed to inserting them at the end of the function. This doesn't seem to fix or break anything, but is considered to be more friendly to downstream passes
...
llvm-svn: 161870
2012-08-14 14:04:51 +00:00
Kostya Serebryany
61dd5ba233
[asan] remove the code for --asan-merge-callbacks as it appears to be a bad idea. (partly related to Bug 13225)
...
llvm-svn: 161757
2012-08-13 14:08:46 +00:00
Nuno Lopes
4056c1ed13
revert r160742: it's breaking CMake build
...
original commit msg:
MemoryBuiltins: add support to determine the size of strdup'ed non-constant strings
llvm-svn: 160751
2012-07-25 18:49:28 +00:00
Nuno Lopes
e15b61fb0f
MemoryBuiltins: add support to determine the size of strdup'ed non-constant strings
...
llvm-svn: 160742
2012-07-25 17:29:22 +00:00
Chandler Carruth
bf1cf2cb40
Move the initialization of the bounds checking pass. The pass itself
...
moved earlier. This fixes some layering issues.
llvm-svn: 160611
2012-07-22 05:19:32 +00:00
Nuno Lopes
66a3934c7a
move the bounds checking pass to the instrumentation folder, where it belongs. I dunno why in the world I dropped it in the Scalar folder in the first place.
...
No functionality change.
llvm-svn: 160587
2012-07-20 22:39:33 +00:00
Kostya Serebryany
a57ebfbe10
[asan] make sure that the crash callbacks do not get merged (Chandler's idea: insert an empty InlineAsm). Change the order in which the new BBs are inserted: the slow path BB is insert between old BBs, the crash BB is inserted at the end. Don't create an empty BB (introduced by recent commits). Update the test. The experimental code that does manual crash callback merge will most likely be deleted later.
...
llvm-svn: 160544
2012-07-20 09:54:50 +00:00
Kostya Serebryany
a1220dc494
[asan] more code to merge crash callbacks. Doesn't fully work yet, but allows to hold performance experiments
...
llvm-svn: 160361
2012-07-17 11:04:12 +00:00
Kostya Serebryany
51756a72f1
[asan] a bit more refactoring, addressed some of the style comments from chandlerc, partially implemented crash callback merging (under flag)
...
llvm-svn: 160290
2012-07-16 17:12:07 +00:00