Commit Graph

44417 Commits

Author SHA1 Message Date
Evan Cheng
9bf9110d93 PPC preferred loop alignment is 16.
llvm-svn: 52056
2008-06-06 19:50:46 +00:00
Ted Kremenek
2e34af659a Implement "Destroy" and destructor for ObjCProtocolDecl, allowing us to reclaim its memory and the memory of the Decls it owns.
llvm-svn: 52055
2008-06-06 19:48:57 +00:00
Eli Friedman
01321c3b8c Clean up dead code from SemaInit landing.
llvm-svn: 52054
2008-06-06 19:40:52 +00:00
Devang Patel
8549e4ca07 LoopSimplify preserves AA.
llvm-svn: 52053
2008-06-06 17:50:58 +00:00
Devang Patel
656a917ad9 Print debug message only if there are dead passes.
llvm-svn: 52052
2008-06-06 17:50:36 +00:00
Ted Kremenek
5144fe2287 Because of a lack of a clear ownership role between ObjCInterfaceDecls and
ObjCPropertyDecls, have TranslationUnit destroy ObjCPropertyDecls. This is a
horrible hack, and must be removed eventually.

llvm-svn: 52051
2008-06-06 17:21:42 +00:00
Ted Kremenek
09a0d04ea0 Initial work on additional memory collection for ObjC AST objects. We now
have Destroy methods of ObjcMethodDecl and ObjCInterfaceDecl which recursively
destroy their owned Decls and Stmts.  There are a few cases where it is not
clear what to do (FIXMEs included in the patch).

llvm-svn: 52050
2008-06-06 16:45:15 +00:00
Nuno Lopes
9b07b7b099 implement constant expr. sub ptr ptr
llvm-svn: 52049
2008-06-06 16:41:08 +00:00
Owen Anderson
f7647e432c Include loop deletion and the ADCE rewrite in the release notes.
llvm-svn: 52048
2008-06-06 16:23:15 +00:00
Anton Korobeynikov
089018fb05 Testcase for PR2418
llvm-svn: 52047
2008-06-06 16:08:56 +00:00
Anton Korobeynikov
f69bc3df9b Handle assembler identifiers specially in CBE. This fixes PR2418.
llvm-svn: 52046
2008-06-06 16:08:26 +00:00
Duncan Sands
f1123e58fc Tighten up the abstraction slightly.
llvm-svn: 52045
2008-06-06 12:49:32 +00:00
Duncan Sands
13237ac3b9 Wrap MVT::ValueType in a struct to get type safety
and better control the abstraction.  Rename the type
to MVT.  To update out-of-tree patches, the main
thing to do is to rename MVT::ValueType to MVT, and
rewrite expressions like MVT::getSizeInBits(VT) in
the form VT.getSizeInBits().  Use VT.getSimpleVT()
to extract a MVT::SimpleValueType for use in switch
statements (you will get an assert failure if VT is
an extended value type - these shouldn't exist after
type legalization).
This results in a small speedup of codegen and no
new testsuite failures (x86-64 linux).

llvm-svn: 52044
2008-06-06 12:08:01 +00:00
Zhou Sheng
1152ca9101 As Chris suggested, handle the situation if ShAmt larger than BitWidth,
otherwise, opt might crash.

llvm-svn: 52041
2008-06-06 08:32:05 +00:00
Evan Cheng
6d7a144453 Refine stack slot interval weight computation.
llvm-svn: 52040
2008-06-06 07:54:39 +00:00
Anton Korobeynikov
5b3e396c24 Turn stdout into binary mode during bitcode emission.
This is necessary on windows targets, since stdout is in text mode there.
Patch by Julien Lerouge!

llvm-svn: 52038
2008-06-06 07:24:01 +00:00
Anton Korobeynikov
5e8644071d Provide hooks for libgcc symbols' address resolution inside lli on mingw32.
Patch by Julien Lerouge!

llvm-svn: 52037
2008-06-06 07:20:07 +00:00
Bruno Cardoso Lopes
1a6e0d613f Added custom isel for MUL, SDIVREM, UDIVREM, SMUL_LOHI and UMUL_LOHI nodes
MUL is not anymore directly matched because its a pseudoinstruction.
LogicI class fixed to zero-extend immediates. 

llvm-svn: 52036
2008-06-06 06:37:31 +00:00
Devang Patel
8f5645cd51 During interface layout, don't forget super class.
llvm-svn: 52035
2008-06-06 02:14:01 +00:00
Devang Patel
e1f10511ba Undo previous check-in.
llvm-svn: 52034
2008-06-06 02:00:35 +00:00
Devang Patel
1216b05d3d During interface layout, don't forget super class.
llvm-svn: 52033
2008-06-06 01:50:12 +00:00
Ted Kremenek
3ad519441f Fix crash when running with multiple source files. This can be improved.
llvm-svn: 52032
2008-06-06 01:47:30 +00:00
Bruno Cardoso Lopes
4eed3afda0 Added custom SELECT_CC lowering
Added special isel for ADDE,SUBE and new patterns to match SUBC,ADDC

llvm-svn: 52031
2008-06-06 00:58:26 +00:00
Dan Gohman
1d304a99d7 Revert 52002.
llvm-svn: 52030
2008-06-05 23:57:06 +00:00
Chris Lattner
3816aa7ef7 Expose a public interface to this pass.
llvm-svn: 52029
2008-06-05 23:45:18 +00:00
Chris Lattner
0282d0247e Let libcall semantics decide whether it knows about functions
with definitions or not.

llvm-svn: 52028
2008-06-05 23:38:34 +00:00
Evan Cheng
c7007a7211 Warn of potential violations of strict aliasing rules.
llvm-svn: 52027
2008-06-05 23:00:08 +00:00
Evan Cheng
9e76c047d1 Don't break strict aliasing.
llvm-svn: 52026
2008-06-05 22:59:21 +00:00
Steve Naroff
d32ae8edf2 Oops...remove weird printf:-)
llvm-svn: 52025
2008-06-05 22:58:33 +00:00
Steve Naroff
946166f4e9 Second half of "fix" for <rdar://problem/5986085> clang on xcode: error: redefinition of 'XCElementToggler' as different kind of symbol
llvm-svn: 52024
2008-06-05 22:57:10 +00:00
Ted Kremenek
dfa8c8aef5 Ignore a few more linker arguments.
llvm-svn: 52023
2008-06-05 22:46:24 +00:00
Devang Patel
33aac00892 Describe loop index split.
llvm-svn: 52021
2008-06-05 21:44:00 +00:00
Dan Gohman
ae408aa83f Wording fixes. Thanks Bill!
llvm-svn: 52017
2008-06-05 18:45:33 +00:00
Owen Anderson
05d1cd99b3 Remove debugging code.
llvm-svn: 52016
2008-06-05 18:43:34 +00:00
Gabor Greif
80ae8a7194 fix typos, tweak stuff, make it to validate
llvm-svn: 52015
2008-06-05 18:39:01 +00:00
Steve Naroff
a44099f022 super fix submitted by David Chisnall.
llvm-svn: 52014
2008-06-05 18:14:25 +00:00
Owen Anderson
65dc2b2e06 Use the newly created helper on LiveIntervals.
llvm-svn: 52013
2008-06-05 17:22:53 +00:00
Owen Anderson
35e2dfe1cf Add a helper for constructing new live ranges that ended from an instruction to the end of its MBB.
llvm-svn: 52012
2008-06-05 17:15:43 +00:00
Dan Gohman
b0ec18bd81 Move i128 on x86-64 from the codegen section to the x86-specific section.
llvm-svn: 52010
2008-06-05 16:15:39 +00:00
Dan Gohman
4277e7e49a Add a note about improved alignment detection.
llvm-svn: 52009
2008-06-05 15:49:29 +00:00
Dan Gohman
23254a8f83 Add a note mentioning --view-sunit-dags improvements.
llvm-svn: 52008
2008-06-05 15:46:36 +00:00
Dan Gohman
46105567f7 Expand the bullet item about i128 support and APInt usage in codegen.
llvm-svn: 52007
2008-06-05 15:43:11 +00:00
Steve Naroff
31e1d41338 Fixed a recent test regression from last night (r51976).
llvm-svn: 52006
2008-06-05 15:03:27 +00:00
Steve Naroff
25449a5221 Fix <rdar://problem/5986833> clang on xcode: incompatible type returning 'void', expected 'int'.
- Changed Sema::ObjCActOnStartOfMethodDef() to more accurately type "self" in factory methods.
- Changed Sema::ActOnInstanceMessage() to use the new type to restrict the lookup.

llvm-svn: 52005
2008-06-05 14:49:39 +00:00
Zhou Sheng
c775e462a8 Add a test case for opt -instcombine bug fix in revision 52003.
llvm-svn: 52004
2008-06-05 14:25:11 +00:00
Zhou Sheng
fbe1dc240c If BitWidth equals to ShtAmt, the RHSKnownZero[BitWidth-ShiftAmt-1] will
crash the opt. Just fix this.

Test case in llvm/test/Transforms/InstCombine/2008-06-05-ashr-crash.ll

llvm-svn: 52003
2008-06-05 14:23:44 +00:00
Matthijs Kooijman
5eef32ba94 Change the Verifier to support returning first class aggregrates.
Add a testcase for functions returning first class aggregrates.

llvm-svn: 52002
2008-06-05 14:00:36 +00:00
Steve Naroff
f9c65246dd Fix <rdar://problem/5987482> clang on xcode: null dereference in Sema::ActOnMemberReferenceExpr.
In addition to fixing the crasher, this commit fixes further improves property lookup (by searching protocols of qualified interfaces..."NSObject <prot>").

llvm-svn: 52001
2008-06-05 13:55:23 +00:00
Zhou Sheng
3f8de8b130 Add a test case for APInt bug fix in r51999.
llvm-svn: 52000
2008-06-05 13:42:21 +00:00
Zhou Sheng
1247c07742 As comments said, for negative value, the arithmetic
over-shift-right should return -1. So here it should be signed-extended,
when bitwidth larger than 64.

test case: llvm/test/ExecutionEngine/2008-06-05-APInt-OverAShr.ll

llvm-svn: 51999
2008-06-05 13:27:38 +00:00