Chris Lattner
d2011c4015
Make a couple of cleanups to the instcombine bitcast/gep
...
canonicalization transform based on duncan's comments:
1) improve the comment about %.
2) within our index loop make sure the offset stays
within the *type size*, instead of within the *abi size*.
This allows us to reason explicitly about landing in tail
padding and means that issues like non-zero offsets into
[0 x foo] types don't occur anymore.
llvm-svn: 62045
2009-01-11 20:15:20 +00:00
Nick Lewycky
4d1c04a4ea
Use the spiffy new getAlignmentFromAttrs function.
...
llvm-svn: 62039
2009-01-11 17:02:06 +00:00
Evan Cheng
e280fcfbbc
CheckForPhysRegDependency should not return copy cost. It's not used. No functionality change.
...
llvm-svn: 62036
2009-01-11 08:53:35 +00:00
Bill Wendling
1c5828d337
Fix naming of file.
...
llvm-svn: 62035
2009-01-11 01:25:51 +00:00
Dan Gohman
473e732586
Fix the example syntax for named sections.
...
llvm-svn: 62033
2009-01-11 00:40:00 +00:00
Evan Cheng
47dfb8c719
This is a dup of pr2659.ll.
...
llvm-svn: 62029
2009-01-10 19:06:32 +00:00
Bill Wendling
d88988a11e
Adding unittests for SmallVector. Test by Talin.
...
llvm-svn: 62025
2009-01-10 12:56:31 +00:00
Evan Cheng
ce292ad389
80 col violation.
...
llvm-svn: 62024
2009-01-10 03:33:22 +00:00
Devang Patel
a350457725
Reduce initial small vector sizes.
...
llvm-svn: 62023
2009-01-10 02:42:49 +00:00
Devang Patel
77332761ef
Fix thinko. Create parent scope if parent descriptor is *not* null.
...
llvm-svn: 62022
2009-01-10 02:34:18 +00:00
Evan Cheng
411c48b7d2
Duplicated node may produce a non-physical register def.
...
llvm-svn: 62015
2009-01-09 22:44:02 +00:00
Evan Cheng
84945aba0b
Add test case from PR2659.
...
llvm-svn: 62006
2009-01-09 21:01:31 +00:00
Evan Cheng
7a918ea197
Minor debug output tweak.
...
llvm-svn: 62005
2009-01-09 20:42:34 +00:00
Misha Brukman
5837493db7
This has been replaced by llvm/utils/lint/cpp_lint.py, which is more
...
comprehensive and can support more complex style analysis.
llvm-svn: 62002
2009-01-09 19:46:41 +00:00
Misha Brukman
da77da48f3
Removed trailing whitespace.
...
llvm-svn: 62000
2009-01-09 19:25:42 +00:00
Devang Patel
7fd7643d23
Request DwarfWriter. This will be used to handle dbg_* intrinsics.
...
llvm-svn: 61999
2009-01-09 19:11:50 +00:00
Chris Lattner
0030a3f5d4
fix typo Duncan noticed.
...
llvm-svn: 61997
2009-01-09 18:31:39 +00:00
Chris Lattner
1219b4e6bc
Fix PR3304
...
llvm-svn: 61995
2009-01-09 18:18:43 +00:00
Misha Brukman
71c7e40966
Removed trailing whitespace from Makefiles.
...
llvm-svn: 61991
2009-01-09 16:44:42 +00:00
Mikhail Glushenkov
f6b520e88a
Support llvmc plugins in out-of-tree projects.
...
llvm-svn: 61990
2009-01-09 16:31:01 +00:00
Mikhail Glushenkov
6761ea2676
Add a --check-graph option to llvmc.
...
llvm-svn: 61989
2009-01-09 16:16:27 +00:00
Dan Gohman
a707c0dafe
PR2659 was fixed by r61847. Add the testcase as a regression test.
...
llvm-svn: 61986
2009-01-09 08:16:12 +00:00
Chris Lattner
660c094906
Implement rdar://6480391, extending of equality icmp's to avoid a truncation.
...
I noticed this in the code compiled for a routine using std::map, which produced
this code:
%25 = tail call i32 @memcmp(i8* %24, i8* %23, i32 6) nounwind readonly
%.lobit.i = lshr i32 %25, 31 ; <i32> [#uses=1]
%tmp.i = trunc i32 %.lobit.i to i8 ; <i8> [#uses=1]
%toBool = icmp eq i8 %tmp.i, 0 ; <i1> [#uses=1]
br i1 %toBool, label %bb3, label %bb4
which compiled to:
call L_memcmp$stub
shrl $31, %eax
testb %al, %al
jne LBB1_11 ##
with this change, we compile it to:
call L_memcmp$stub
testl %eax, %eax
js LBB1_11
This triggers all the time in common code, with patters like this:
%169 = and i32 %ply, 1 ; <i32> [#uses=1]
%170 = trunc i32 %169 to i8 ; <i8> [#uses=1]
%toBool = icmp ne i8 %170, 0 ; <i1> [#uses=1]
%7 = lshr i32 %6, 24 ; <i32> [#uses=1]
%9 = trunc i32 %7 to i8 ; <i8> [#uses=1]
%10 = icmp ne i8 %9, 0 ; <i1> [#uses=1]
etc
llvm-svn: 61985
2009-01-09 07:47:06 +00:00
Chris Lattner
1ce1f9e7cd
Remove some old code that looks like a remanant from signed-types days.
...
llvm-svn: 61984
2009-01-09 07:10:58 +00:00
Chris Lattner
6140ea4f18
Fix PR3298, a crash in Jump Threading. Apparently even
...
jump threading can have bugs, who knew? ;-)
llvm-svn: 61983
2009-01-09 06:08:12 +00:00
Chris Lattner
c421c547d2
this doesn't depend on the gcc early inliner anymore.
...
llvm-svn: 61982
2009-01-09 05:49:27 +00:00
Chris Lattner
c8cc13c98e
PR3290 is now fixed.
...
llvm-svn: 61981
2009-01-09 05:46:19 +00:00
Chris Lattner
5ce930d116
Fix part 3/2 of PR3290, making instcombine zap (gep(bitcast)) when possible.
...
llvm-svn: 61980
2009-01-09 05:44:56 +00:00
Chris Lattner
4166afffa7
this test should not run opt -std-compile-opts, it should run
...
just llc.
llvm-svn: 61979
2009-01-09 05:32:00 +00:00
Chris Lattner
5902eb8ea6
add a helper method.
...
llvm-svn: 61978
2009-01-09 05:27:40 +00:00
Chris Lattner
4e48f0fb7b
fit in 80 cols
...
llvm-svn: 61977
2009-01-09 04:58:01 +00:00
Chris Lattner
0e8e8e4926
move some code, check to see if the input to the GEP is a bitcast
...
(which is constant time and cheap) before checking hasAllZeroIndices.
llvm-svn: 61976
2009-01-09 04:53:57 +00:00
Dan Gohman
a487b137a8
Add load-folding table entries for MOVDQA.
...
llvm-svn: 61972
2009-01-09 02:40:34 +00:00
Dan Gohman
0e86745357
Whitespace and other minor adjustments to make SSE instructions have
...
the same formatting as their corresponding SSE2 instructions, for
consistency.
llvm-svn: 61971
2009-01-09 02:27:34 +00:00
Dale Johannesen
eb1316a896
Adjustments to last patch based on review.
...
llvm-svn: 61969
2009-01-09 01:30:11 +00:00
Dan Gohman
ff89414349
61949 accidentally introduced an escaped newline. Fix this by making
...
the comment a little more verbose.
llvm-svn: 61959
2009-01-08 23:51:48 +00:00
Devang Patel
747d4b38ad
Convert DwarfWriter into a pass.
...
Now Users request DwarfWriter through getAnalysisUsage() instead of creating an instance of DwarfWriter object directly.
llvm-svn: 61955
2009-01-08 23:40:34 +00:00
Dan Gohman
321b716d84
Delete unnecessary parens around return values.
...
llvm-svn: 61950
2009-01-08 22:19:34 +00:00
Dan Gohman
88a0d4277d
Fix the comment for lltok::backslash.
...
llvm-svn: 61949
2009-01-08 22:18:13 +00:00
Dan Gohman
831bc48415
Fix the path to llvm/Assembly/Parser.h in a comment.
...
llvm-svn: 61948
2009-01-08 22:17:05 +00:00
Dan Gohman
a3b6f1c02d
Correct the form of the atomic opcode names in a comment.
...
llvm-svn: 61947
2009-01-08 22:14:50 +00:00
Dale Johannesen
4c25cb12ea
Do not inline functions with (dynamic) alloca into
...
functions that don't already have a (dynamic) alloca.
Dynamic allocas cause inefficient codegen and we shouldn't
propagate this (behavior follows gcc). Two existing tests
assumed such inlining would be done; they are hacked by
adding an alloca in the caller, preserving the point of
the tests.
llvm-svn: 61946
2009-01-08 21:45:23 +00:00
Duncan Sands
51e12762d5
Use mayBeOverridden here, in anticipation of the
...
day when more linkage types will be handled.
llvm-svn: 61944
2009-01-08 20:55:49 +00:00
Chris Lattner
5a8a2b046d
ValueTracker can't assume that an alloca with no specified alignment
...
will get its preferred alignment. It has to be careful and cautiously assume
it will just get the ABI alignment. This prevents instcombine from rounding
up the alignment of a load/store without adjusting the alignment of the alloca.
llvm-svn: 61934
2009-01-08 19:28:38 +00:00
Chris Lattner
e16e141b70
one more crash from PR3281, we now diagnose:
...
llvm-as: t.ll:2:39: function may not return opaque type
%"bwmoyl" = tail call coldcc opaque @g()
^
llvm-svn: 61933
2009-01-08 19:05:36 +00:00
Chris Lattner
456f75a745
remove some exclusions that don't exist anymore.
...
llvm-svn: 61932
2009-01-08 19:02:03 +00:00
Chris Lattner
853f4978ea
this testcase is huge and hasn't regressed ever, I don't think it is worth keeping.
...
llvm-svn: 61931
2009-01-08 19:01:45 +00:00
Devang Patel
97863f513c
Add DebugInfo based APIs to record source line info.
...
llvm-svn: 61928
2009-01-08 17:19:22 +00:00
Misha Brukman
ae1566f744
* Moved author attribution to CREDITS.TXT
...
* Removed trailing whitespace
llvm-svn: 61927
2009-01-08 16:40:25 +00:00
Misha Brukman
cada42bb4e
* Alphabetized #includes
...
* Removed trailing whitespace
llvm-svn: 61926
2009-01-08 15:50:22 +00:00