Christopher Lamb
55c6d4f22f
Make it clear in the LangRef that allocation instructions only operated on the generic address space. Implement support in the verifier for ensuring this is true.
...
llvm-svn: 45080
2007-12-17 01:00:21 +00:00
Anders Carlsson
ca6bcae0be
Start generating SSE intrinsics.
...
llvm-svn: 45079
2007-12-16 22:33:50 +00:00
Steve Naroff
eaaae467c7
Sema::ActOnMemberReferenceExpr() needs to perform the default conversions.
...
Bug and test case provided by Carl Lewis.
llvm-svn: 45078
2007-12-16 21:42:28 +00:00
Duncan Sands
56ed48036b
Revert this part of r45073 until the verifier is
...
changed not to reject invoke of inline asm.
llvm-svn: 45077
2007-12-16 21:01:21 +00:00
Chris Lattner
2af27c202c
don't violate C TBAA rules, use FloatToBits instead.
...
llvm-svn: 45076
2007-12-16 20:41:33 +00:00
Chris Lattner
e3b05fe31b
fix a questionable cast, thanks to Mike Stump for pointing this out.
...
llvm-svn: 45075
2007-12-16 20:26:54 +00:00
Chris Lattner
dab6bd902e
Fix the JIT encoding of cmp*ss, which aborts with this assertion currently:
...
X86CodeEmitter.cpp:378: failed assertion `0 && "Immediate size not set!"'
I *think* this is right, but Evan, please verify. It also looks like
CMPSDrr and maybe others are missing this info. Evan, plz investigate.
llvm-svn: 45074
2007-12-16 20:12:41 +00:00
Duncan Sands
8e4847ee95
Make instcombine promote inline asm calls to 'nounwind'
...
calls. Remove special casing of inline asm from the
inliner. There is a potential problem: the verifier
rejects invokes of inline asm (not sure why). If an
asm call is not marked "nounwind" in some .ll, and
instcombine is not run, but the inliner is run, then
an illegal module will be created. This is bad but
I'm not sure what the best approach is. I'm tempted
to remove the check in the verifier...
llvm-svn: 45073
2007-12-16 15:51:49 +00:00
Bill Wendling
fcf2085731
Remove spurious warnings from GCC:
...
warning: suggest a space before ';' or explicit braces around empty
body in 'for' statement
Patch by Mike Stump (modified slightly by yours truly).
llvm-svn: 45071
2007-12-16 09:16:12 +00:00
Owen Anderson
7b8a741189
Break local interferences in StrongPHIElimination. One step closer...
...
llvm-svn: 45070
2007-12-16 05:44:27 +00:00
Owen Anderson
ccb3981256
A few more comments.
...
llvm-svn: 45069
2007-12-16 04:07:23 +00:00
Anton Korobeynikov
ce1489e575
Define addString() and lookup() out-of-line to dissuade the C++ compiler from inlining it.
...
llvm-svn: 45068
2007-12-16 01:36:16 +00:00
Anton Korobeynikov
fbb9e418b5
Provide GraphTraits and DOTGraphTraits interface for Trie.
...
Retoss private/public stuff.
Make copy ctor and operator= private.
llvm-svn: 45067
2007-12-16 01:27:04 +00:00
Anton Korobeynikov
06e60b714b
Constify graph arguments
...
llvm-svn: 45066
2007-12-16 00:42:19 +00:00
Chris Lattner
39911a2258
swtich to smallptrset, which is more efficient than std::set.
...
llvm-svn: 45065
2007-12-15 23:20:07 +00:00
Chris Lattner
d6658d932b
make clang -v output more similar to gcc's -v output.
...
llvm-svn: 45064
2007-12-15 23:11:06 +00:00
Anton Korobeynikov
659c3f8dd1
Use references in DF iterators. This eliminates copy-ctor calls on huge objects (graphs)
...
llvm-svn: 45063
2007-12-15 22:23:24 +00:00
Anders Carlsson
f5f6544edc
We now support all MMX intrinsics. SSE intrinsics are next.
...
llvm-svn: 45062
2007-12-15 21:23:30 +00:00
Chris Lattner
60a288ab19
simplify the interfaces to ProcessInputFile and InitializePreprocessor
...
llvm-svn: 45060
2007-12-15 20:48:40 +00:00
Duncan Sands
26d6539e70
These are more correctly called signaling NaNs.
...
llvm-svn: 45059
2007-12-15 17:37:40 +00:00
Evan Cheng
23d2d4dc6c
Make better use of instructions that clear high bits; fix various 2-wide shuffle bugs.
...
llvm-svn: 45058
2007-12-15 03:00:47 +00:00
Evan Cheng
cbeec14a6f
__builtin_ia32_movqv4si is now expanded to a shuffle.
...
llvm-svn: 45057
2007-12-15 02:54:12 +00:00
Ted Kremenek
56ba5b3931
Removed "isSizeOfExpr" mode from StmtIterator. It turned out not to be
...
so useful and introduced a few bugs.
llvm-svn: 45051
2007-12-15 00:39:18 +00:00
Scott Michel
0aa7133f82
Start committing working test cases for CellSPU.
...
llvm-svn: 45050
2007-12-15 00:38:50 +00:00
Ted Kremenek
3291844bf0
Added "mode" to StmtIterator to record if the expression being iterated
...
over is the subexpression of a sizeof(expression). Different clients
will wish to handle iteration over such subexpressions differently, and can
now easily query if they are iterating over such statements using the
StmtIterator's inSizeOfExpr().
llvm-svn: 45047
2007-12-14 23:40:56 +00:00
Steve Naroff
3ce37a6b8e
- Remove getInstanceMethods/getClassMethods API on ObjcInterfaceDecl, ObjcProtocolDecl, and ObjcCategoryDecl. These methods are replaced by the respective iterators on each class.
...
- Add getInstanceMethodForSelector to ObjcInterfaceDecl, ObjcProtocolDecl, and ObjcCatgoryDecl. This hook will do a "shallow" lookup. This is a convenience method that reducing some of the iterator usage.
- Various changes to convert all clients to the above API's...
llvm-svn: 45046
2007-12-14 23:37:57 +00:00
Ted Kremenek
85e45f278c
Added support to StmtIterator to traverse the size expression of a VLA type
...
declared in a sizeof. For example:
sizeof(int[foo()]);
the expression "foo()" is an expression that is executed during the evaluation
of sizeof.
llvm-svn: 45043
2007-12-14 22:52:23 +00:00
Evan Cheng
9556729128
Actually, MOVPQIto64mr is a dup of MOVPQI2QImr, MOV64toPQIrm is a dup of MOVQI2PQIrm.
...
llvm-svn: 45041
2007-12-14 20:08:14 +00:00
Evan Cheng
e28372c0d6
Fix (mem) <-> low 64-bits of xmm bugs pointed out by David Greene. Mac OS X Leopard assembler recognizes movq.
...
llvm-svn: 45040
2007-12-14 19:54:07 +00:00
Duncan Sands
1202d1b1c4
Teach the interpreter to read and write memory in the
...
endianness of the target not of the host. Done by the
simple expedient of reversing bytes for primitive types
if the host and target endianness don't match. This is
correct for integer and pointer types. I don't know if
it is correct for floating point types.
llvm-svn: 45039
2007-12-14 19:38:31 +00:00
Dale Johannesen
f7cefdd5f0
x86-32 long doubles are 4-byte aligned on the stack
...
for parameter passing (only for that, on Darwin).
llvm-svn: 45038
2007-12-14 19:25:34 +00:00
Evan Cheng
a56e6ff9a7
Fix bsf / bsr jit encoding.
...
llvm-svn: 45037
2007-12-14 18:49:43 +00:00
Evan Cheng
f28c810036
Oops. Forgot these.
...
llvm-svn: 45036
2007-12-14 18:25:34 +00:00
Anders Carlsson
4d3094a9bb
Simplify the vector code. Add more shift intrinsics.
...
llvm-svn: 45035
2007-12-14 17:48:24 +00:00
Dan Gohman
8a332b235d
Add explicit keywords, and fix a minor typo that they uncovered.
...
llvm-svn: 45034
2007-12-14 15:41:34 +00:00
Dan Gohman
11352df8e4
Don't redirect stderr when it isn't needed.
...
llvm-svn: 45033
2007-12-14 15:15:11 +00:00
Dan Gohman
6869bfc351
Fix a typo in a comment.
...
llvm-svn: 45032
2007-12-14 15:13:08 +00:00
Dan Gohman
4069a593cc
Fix a typo in a comment.
...
llvm-svn: 45031
2007-12-14 15:11:58 +00:00
Dan Gohman
9d2e9e376f
Fix Intel asm syntax for the bsr and bsf instructions.
...
llvm-svn: 45030
2007-12-14 15:10:00 +00:00
Evan Cheng
0e6408124e
Fix ctlz and cttz. llvm definition requires them to return number of bits in of the src type when value is zero.
...
llvm-svn: 45029
2007-12-14 08:30:15 +00:00
Evan Cheng
0fcf56f8f5
Bug fix. Must also match ResNo when matching an operand with a user.
...
llvm-svn: 45028
2007-12-14 08:25:15 +00:00
Anders Carlsson
f924f34b6b
All MMX shift instructions took a <2 x i32> vector as the shift amount parameter. Change this to be <1 x i64> instead, which matches the assembler instruction.
...
llvm-svn: 45027
2007-12-14 06:38:54 +00:00
Kevin
c3286e9cef
IE Menu Problem...
...
Originally, I included CSS hacks for IE.
However, my comments before the doctype was the reason IE was running in non-strict mode. I did not know this.
When Chris removed the comments, IE correctly went into strict mode and my IE hacks were no longer needed (the hacks were getting in the way now).
solution:
*) Make sure doctype is first on all files
*) removed all IE hacks from menu.css (since the doctype issue fixes IE)
llvm-svn: 45025
2007-12-14 05:47:49 +00:00
Evan Cheng
e9fbc3f014
Implement ctlz and cttz with bsr and bsf.
...
llvm-svn: 45024
2007-12-14 02:13:44 +00:00
Seo Sanghyeon
d4d8c3c717
Array subscription in aggregate expression
...
llvm-svn: 45023
2007-12-14 02:04:12 +00:00
Bill Wendling
cb77f04e1f
Add flags to indicate that there are "never" side effects or that there "may be"
...
side effects for machine instructions.
llvm-svn: 45022
2007-12-14 01:48:59 +00:00
Seo Sanghyeon
3abb6d8435
Implement dereference operator in aggregate expression
...
llvm-svn: 45020
2007-12-14 01:09:11 +00:00
Ted Kremenek
7d9a2e119d
CFG bug fix: for sizeof(expressions), don't expand the control-flow
...
of "expressions", since they are not really evaluated.
llvm-svn: 45015
2007-12-13 22:44:18 +00:00
Fariborz Jahanian
c47dc4f5af
Patch to make ObjcQualifiedInterfaceType inherit ObjcInterfaceType
...
llvm-svn: 45014
2007-12-13 20:47:42 +00:00
Dan Gohman
d4551fd0a4
Make it more clear that some things that can't be done in .td files can
...
still be done in the LLVM code generator. And update the summary for the
X86 target.
llvm-svn: 45013
2007-12-13 20:43:47 +00:00