Chris Lattner
7f61fbfcca
add a note from PR5313
...
llvm-svn: 86146
2009-11-05 18:19:19 +00:00
Chris Lattner
d04294d7b8
Declare classes with matched tags, pointed out by a clang++ warning.
...
llvm-svn: 86144
2009-11-05 17:51:44 +00:00
Benjamin Kramer
a38019a3de
Teach SimplifyLibCalls to fold memcmp calls with constant arguments.
...
llvm-svn: 86141
2009-11-05 17:44:22 +00:00
Daniel Dunbar
47718a1f47
lit: Add --param NAME=VALUE option, for test suite specific use (to communicate
...
arbitrary command line arguments to the test suite).
llvm-svn: 86137
2009-11-05 16:27:33 +00:00
Benjamin Kramer
f10e3edefb
Do map insert+find in one step. TODO -= 2.
...
llvm-svn: 86133
2009-11-05 14:33:27 +00:00
Benjamin Kramer
ac39e59ede
Path::createDirectoryOnDisk should ignore existing directories on win32 too.
...
llvm-svn: 86132
2009-11-05 14:32:40 +00:00
Douglas Gregor
eff068fbcb
Make two more LLVM headers standalone
...
llvm-svn: 86131
2009-11-05 13:39:23 +00:00
Douglas Gregor
4f2fc40ae8
Make a few headers standalone. Plus, add a missing "template" keyword
...
that Clang diagnoses but GCC does not.
llvm-svn: 86130
2009-11-05 13:30:28 +00:00
Chris Lattner
412e9dc6fc
merge a few crash tests into crash.ll
...
llvm-svn: 86119
2009-11-05 05:57:34 +00:00
Mon P Wang
0669a8df22
Reintroduce support for overloading target intrinsics
...
llvm-svn: 86114
2009-11-05 03:19:08 +00:00
David Goodwin
66b5886123
Replace std::map.at() with std::map[].
...
llvm-svn: 86102
2009-11-05 01:45:50 +00:00
David Goodwin
5ddf009b51
Break anti-dependencies using free registers in a round-robin manner to avoid introducing new anti-dependencies.
...
llvm-svn: 86098
2009-11-05 01:19:35 +00:00
Lang Hames
aa433cb422
Tidied some ugliness in the SlotIndex default constructor.
...
llvm-svn: 86097
2009-11-05 01:18:31 +00:00
Evan Cheng
52dedf7dfe
Now that code placement optimization pass is run for JIT, make sure it's before pre-emit passes.
...
llvm-svn: 86092
2009-11-05 01:16:59 +00:00
Devang Patel
02635b0c7a
Use WeakVH while storing metadata in containers.
...
This fixes PR5393.
llvm-svn: 86091
2009-11-05 01:13:02 +00:00
Lang Hames
f53fc0aa85
Removed an assert which was causing significant slowdowns in debug builds.
...
This assert was very conservative to begin with (the error condition is well
covered by tests elsewhere in the code) so we won't miss much by removing it.
llvm-svn: 86088
2009-11-05 00:52:28 +00:00
Bob Wilson
641ce17702
Add -mtriple to llc commands, attempting to fix buildbot failures.
...
llvm-svn: 86086
2009-11-05 00:51:31 +00:00
Evan Cheng
3a05d1d9bb
Code refactoring.
...
llvm-svn: 86085
2009-11-05 00:51:13 +00:00
Bob Wilson
d14be3d83c
Attempt again to fix buildbot failures: make expected output less specific
...
and compile with -mtriple to specify *-apple-darwin targets.
llvm-svn: 86081
2009-11-05 00:30:35 +00:00
David Goodwin
442fe1bbf8
Correctly add chain dependencies around calls and unknown-side-effect instructions.
...
llvm-svn: 86080
2009-11-05 00:16:44 +00:00
Victor Hernandez
21ec158c23
Update CreateMalloc so that its callers specify the size to allocate:
...
MallocInst-autoupgrade users use non-TargetData-computed allocation sizes.
Optimization uses use TargetData to compute the allocation size.
Now that malloc calls can have constant sizes, update isArrayMallocHelper() to use TargetData to determine the size of the malloced type and the size of malloced arrays.
Extend getMallocType() to support malloc calls that have non-bitcast uses.
Update OptimizeGlobalAddressOfMalloc() to optimize malloc calls that have non-bitcast uses. The bitcast use of a malloc call has to be treated specially here because the uses of the bitcast need to be replaced and the bitcast needs to be erased (just like the malloc call) for OptimizeGlobalAddressOfMalloc() to work correctly.
Update PerformHeapAllocSRoA() to optimize malloc calls that have non-bitcast uses. The bitcast use of the malloc is not handled specially here because ReplaceUsesOfMallocWithGlobal replaces through the bitcast use.
Update OptimizeOnceStoredGlobal() to not care about the malloc calls' bitcast use.
Update all globalopt malloc tests to not rely on autoupgraded-MallocInsts, but instead use explicit malloc calls with correct allocation sizes.
llvm-svn: 86077
2009-11-05 00:03:03 +00:00
Devang Patel
c69c29bc4b
While calculating original type size for a derived type, handle type variants encoded as DIDerivedType appropriately.
...
This improves bitfield support.
llvm-svn: 86073
2009-11-04 23:48:00 +00:00
Jim Grosbach
ef37391033
Grammar.
...
llvm-svn: 86068
2009-11-04 23:20:40 +00:00
Chris Lattner
a003aee613
improve DSE when TargetData is not around, based on work by
...
Hans Wennborg!
llvm-svn: 86067
2009-11-04 23:20:12 +00:00
Jim Grosbach
2867641b64
Now that the memory leak from McCat/08-main has been fixed (86056), re-enable
...
aggressive testing of dynamic stack alignment.
Note that this is off by default, and enabled for LLCBETA nightly results.
llvm-svn: 86064
2009-11-04 23:11:07 +00:00
Jim Grosbach
c0cabc9119
If a function has no stack frame at all, dynamic realignment isn't necessary.
...
llvm-svn: 86057
2009-11-04 22:41:51 +00:00
Jim Grosbach
c8a01556f4
dynamic stack realignment necessitates scanning the floating point callee-
...
saved instructions even if no stack adjustment for those saves is needed.
llvm-svn: 86056
2009-11-04 22:41:00 +00:00
Devang Patel
799b8cc191
Fix DW_AT_data_member_location for bit-fields. It points to the location of annonymous field that covers respective field.
...
llvm-svn: 86054
2009-11-04 22:06:12 +00:00
Bob Wilson
25738f9e79
Add PowerPC codegen for indirect branches.
...
llvm-svn: 86050
2009-11-04 21:31:18 +00:00
Lang Hames
2b16464904
Handle empty/tombstone keys for LiveIndex more cleanly. Check for index sanity when constructing index list entries.
...
llvm-svn: 86049
2009-11-04 21:24:15 +00:00
Duncan Sands
7d20275318
A value is only assigned to errno if NumRead equals -1, so do
...
not reason based on errno if NumRead has a different value.
llvm-svn: 86046
2009-11-04 20:50:23 +00:00
Bob Wilson
9e30ecad4e
Fix broken test.
...
llvm-svn: 86045
2009-11-04 20:04:11 +00:00
Eric Christopher
f20f6980cb
Add some options to disable various code gen optimizations.
...
llvm-svn: 86044
2009-11-04 19:57:50 +00:00
Devang Patel
773993746e
Array element size does not match array size but array is not a bitfield.
...
llvm-svn: 86043
2009-11-04 19:37:40 +00:00
Bob Wilson
ca42ca296d
Add test for ARM indirectbr codegen.
...
llvm-svn: 86042
2009-11-04 19:25:34 +00:00
Jakob Stoklund Olesen
f775e222e0
Print out an informative comment for KILL instructions.
...
The KILL pseudo-instruction may survive to the asm printer pass, just like the IMPLICIT_DEF. Print the KILL as a comment instead of just leaving a blank line in the output.
With -asm-verbose=0, a blank line is printed, like IMPLICIT?DEF.
llvm-svn: 86041
2009-11-04 19:24:37 +00:00
Chris Lattner
4864198071
Fix an iterator invalidation bug that happens when a hashtable
...
resizes in IPSCCP. This fixes PR5394.
llvm-svn: 86036
2009-11-04 18:57:42 +00:00
Evan Cheng
e83f2304f2
Look for llvm-gcc under /Developer/usr/bin first.
...
llvm-svn: 86023
2009-11-04 08:36:50 +00:00
Evan Cheng
801415706c
RangeIsDefinedByCopyFromReg() should check for subreg_to_reg, insert_subreg,
...
and extract_subreg as a "copy" that defines a valno.
Also fixes a typo. These two issues prevent a simple subreg coalescing from
happening before.
llvm-svn: 86022
2009-11-04 08:33:14 +00:00
Chris Lattner
d8ab8fbe9f
move two functions up higher in the file. Delete a useless argument
...
to EmitGEPOffset.
Implement some new transforms for optimizing
subtracts of two pointer to ints into the same vector. This happens
for C++ iterator idioms for example, stringmap takes a const char*
that points to the start and end of a string. Once inlined, we want
the pointer difference to turn back into a length.
This is rdar://7362831.
llvm-svn: 86021
2009-11-04 08:05:20 +00:00
Chris Lattner
aede55dc9b
filecheckize this test.
...
llvm-svn: 86020
2009-11-04 07:57:05 +00:00
Evan Cheng
22121f4c69
The .n suffix must go after the predicate.
...
llvm-svn: 86019
2009-11-04 07:38:48 +00:00
Nick Lewycky
cabcab867f
The magic for our current brand of .bc files is BC. For older ones it was llvc.
...
When was it ever "llvm"?
llvm-svn: 86009
2009-11-04 06:15:28 +00:00
Chris Lattner
dddec653f1
make IRBuilder zap "X|0" and "X&-1" when building IR, this happens
...
during bitfield codegen and slows down -O0 compile times by making
useless IR. rdar://7362516
llvm-svn: 86006
2009-11-04 05:00:12 +00:00
Daniel Dunbar
b19cc0fa91
configure: Add --with-optimize-option, for setting the default value of
...
OPTIMIZE_OPTION.
llvm-svn: 86005
2009-11-04 04:32:50 +00:00
Evan Cheng
2c4476c9e5
Silence implicit conversion warnings.
...
llvm-svn: 86000
2009-11-04 03:08:57 +00:00
Lang Hames
c42888e42a
Another spurious friend declaration removed.
...
llvm-svn: 85997
2009-11-04 01:52:40 +00:00
Lang Hames
b63bef3da7
Removed an unnecessary friend declaration and some crufty comments from IndexListEntry.
...
llvm-svn: 85995
2009-11-04 01:34:22 +00:00
Douglas Gregor
4cd9c97c74
Fix CMake makefiles
...
llvm-svn: 85994
2009-11-04 01:32:06 +00:00
Evan Cheng
8b161e8f4f
Fix test.
...
llvm-svn: 85986
2009-11-04 00:42:33 +00:00