Argyrios Kyrtzidis
c0279a9826
Revert r109546, it broke linux build.
...
llvm-svn: 109550
2010-07-27 22:37:14 +00:00
Nate Begeman
269a6da023
~40% faster vector shl <4 x i32> on SSE 4.1 Larger improvements for smaller types coming in future patches.
...
For:
define <2 x i64> @shl(<4 x i32> %r, <4 x i32> %a) nounwind readnone ssp {
entry:
%shl = shl <4 x i32> %r, %a ; <<4 x i32>> [#uses=1]
%tmp2 = bitcast <4 x i32> %shl to <2 x i64> ; <<2 x i64>> [#uses=1]
ret <2 x i64> %tmp2
}
We get:
_shl: ## @shl
pslld $23, %xmm1
paddd LCPI0_0, %xmm1
cvttps2dq %xmm1, %xmm1
pmulld %xmm1, %xmm0
ret
Instead of:
_shl: ## @shl
pshufd $3, %xmm0, %xmm2
movd %xmm2, %eax
pshufd $3, %xmm1, %xmm2
movd %xmm2, %ecx
shll %cl, %eax
movd %eax, %xmm2
pshufd $1, %xmm0, %xmm3
movd %xmm3, %eax
pshufd $1, %xmm1, %xmm3
movd %xmm3, %ecx
shll %cl, %eax
movd %eax, %xmm3
punpckldq %xmm2, %xmm3
movd %xmm0, %eax
movd %xmm1, %ecx
shll %cl, %eax
movd %eax, %xmm2
movhlps %xmm0, %xmm0
movd %xmm0, %eax
movhlps %xmm1, %xmm1
movd %xmm1, %ecx
shll %cl, %eax
movd %eax, %xmm0
punpckldq %xmm0, %xmm2
movdqa %xmm2, %xmm0
punpckldq %xmm3, %xmm0
ret
llvm-svn: 109549
2010-07-27 22:37:06 +00:00
Howard Hinnant
c1124300fe
lookahead for ecma
...
llvm-svn: 109548
2010-07-27 22:20:32 +00:00
Gabor Greif
ef1ca24b91
recommit simplification (originally r109504, backed out in r109508) now that problem in CallSiteBase is fixed
...
llvm-svn: 109547
2010-07-27 22:02:00 +00:00
Argyrios Kyrtzidis
4fac280618
Merge PCHWriterDecl.cpp's isRequiredDecl and CodeGenModule::MayDeferGeneration into a new function,
...
DeclIsRequiredFunctionOrFileScopedVar.
This function is part of the public CodeGen interface since it's essentially a CodeGen predicate that is also
needed by the PCH mechanism to determine whether a decl needs to be deserialized during PCH loading for codegen purposes.
This fixes current (and avoids future) codegen-from-PCH bugs.
llvm-svn: 109546
2010-07-27 22:01:17 +00:00
Johnny Chen
ef2f552de4
Added a test case for showing variables of unsigned types.
...
llvm-svn: 109545
2010-07-27 21:49:20 +00:00
Gabor Greif
63f55c49f2
remove bogus assert, use static_cast for additional checking
...
left two new asserts commented out, because they would fire in clang, have to hunt those down first
llvm-svn: 109544
2010-07-27 21:46:11 +00:00
Sean Callanan
7ea3501bd8
Added support for calling functions from expressions.
...
Right now we mock up the function as a variadic
function when generating the IR for the call; we need
to eventually make the function be the right type if
the type is available.
llvm-svn: 109543
2010-07-27 21:39:39 +00:00
Johnny Chen
3c39a980d7
Renaming from TestOrder.py to TestOrderFile.py.
...
llvm-svn: 109540
2010-07-27 21:03:55 +00:00
Johnny Chen
49583c207f
Fixed typos from cut-and-paste errors.
...
llvm-svn: 109539
2010-07-27 20:59:06 +00:00
Devang Patel
84a74779a1
It is FE's responsibility to emit proper directory name.
...
llvm-svn: 109538
2010-07-27 20:51:15 +00:00
Eli Friedman
7530049b16
Fix a minor crash bug with constructs like Obj.Class::ENUM_VALUE.
...
llvm-svn: 109537
2010-07-27 20:51:02 +00:00
Devang Patel
4f6e73b168
Always use current working directory for DW_AT_comp_dir.
...
llvm-svn: 109535
2010-07-27 20:49:59 +00:00
Howard Hinnant
93da3b2e41
grep and egrep grammars
...
llvm-svn: 109534
2010-07-27 19:53:10 +00:00
Eli Friedman
6b197e0651
PR7724: Don't try to evaluate value-dependent expressions.
...
llvm-svn: 109532
2010-07-27 19:14:53 +00:00
Eric Christopher
1de8562866
APIs that take different sized arguments than the instruction
...
should be taken out and shot.
llvm-svn: 109531
2010-07-27 19:11:16 +00:00
Chris Lattner
425592a9d8
make lookup failures not fatal.
...
llvm-svn: 109530
2010-07-27 18:59:50 +00:00
Ted Kremenek
83b598c14f
Finesse 'idempotent operations' analyzer issues to include the opcode of the binary operator for clearer error reporting. Also remove the 'Idempotent operation' prefix in messages; it's redundant since the bug type is the same.
...
llvm-svn: 109527
2010-07-27 18:49:08 +00:00
Ted Kremenek
162ab86d22
Add non-static version of BinaryOperator::getOpcodeStr().
...
llvm-svn: 109526
2010-07-27 18:49:04 +00:00
Jim Grosbach
7383cf06ba
Grammar
...
llvm-svn: 109525
2010-07-27 18:36:27 +00:00
Sebastian Redl
4b1f490860
Update the list of lexical decls in the TU for chained PCHs. This makes -ast-print show the decls from the dependent PCH.
...
llvm-svn: 109524
2010-07-27 18:24:41 +00:00
Devang Patel
bd32256e25
Update tests to not rely on input file's absolute path.
...
llvm-svn: 109521
2010-07-27 18:13:53 +00:00
Nate Begeman
317b969ac5
Fix a crash in the dag combiner caused by ConstantFoldBIT_CONVERTofBUILD_VECTOR calling itself
...
recursively and returning a SCALAR_TO_VECTOR node, but assuming the input was always a BUILD_VECTOR.
llvm-svn: 109519
2010-07-27 18:02:18 +00:00
Ted Kremenek
e5cc6a858a
Put 'Idempotent operations' static analyzer issues in the 'Dead code' category.
...
llvm-svn: 109517
2010-07-27 17:52:52 +00:00
Jim Grosbach
2ff0e64bc3
80 column
...
llvm-svn: 109513
2010-07-27 17:38:47 +00:00
Howard Hinnant
6afe8b0a23
continued regex development...
...
llvm-svn: 109512
2010-07-27 17:24:17 +00:00
Jim Grosbach
7639967e6c
fix typo
...
llvm-svn: 109511
2010-07-27 17:14:29 +00:00
Gabor Greif
f159085414
recommit simplification (r109502, backed out r109509); seems to innocent
...
llvm-svn: 109510
2010-07-27 16:44:23 +00:00
Gabor Greif
5f91b7cf3e
back out this too to restore the bots
...
llvm-svn: 109509
2010-07-27 15:56:07 +00:00
Gabor Greif
ed1d92cb9a
back out r109504, breaks the bots
...
llvm-svn: 109508
2010-07-27 15:18:11 +00:00
Devang Patel
6014edd117
Reapply 109303.
...
llvm-svn: 109507
2010-07-27 15:17:16 +00:00
Gabor Greif
7b0a5fd2a5
simplify: CallSite::get --> CallSite constructor
...
llvm-svn: 109506
2010-07-27 15:02:37 +00:00
Douglas Gregor
96c042616e
Fix use-after-free with precompiled preambles
...
llvm-svn: 109505
2010-07-27 14:52:07 +00:00
Gabor Greif
195a609c37
simplify
...
llvm-svn: 109504
2010-07-27 14:38:38 +00:00
Gabor Greif
d59498bc97
use ImmutableCallSite for const-corrgoodness
...
llvm-svn: 109503
2010-07-27 14:15:29 +00:00
Gabor Greif
7527b2ed5c
simplify
...
llvm-svn: 109502
2010-07-27 13:31:22 +00:00
Argyrios Kyrtzidis
76314d1ea8
Always deserialize from PCH file scoped variables with non trivial constructor/destructor.
...
Fixes http://llvm.org/PR7692
llvm-svn: 109501
2010-07-27 12:56:10 +00:00
Mikhail Glushenkov
ee68696c5f
Fix silent failure with no input files.
...
llvm-svn: 109500
2010-07-27 11:19:40 +00:00
Mikhail Glushenkov
d359cf2e44
Return -1 only on failure to execute a program.
...
Also fix some comments.
llvm-svn: 109499
2010-07-27 11:19:36 +00:00
Duncan Sands
eb58ed8b5a
In commit 91421, isPod was changed from false to true for these value handles.
...
Change it back again: destructors and constructors need to be run.
llvm-svn: 109498
2010-07-27 09:09:05 +00:00
Tobias Grosser
731b079edb
Make coff-dump.py executable and add python as executable for this script.
...
This fixes the MC/COFF/basic-coff.ll test case.
llvm-svn: 109497
2010-07-27 09:01:26 +00:00
Tobias Grosser
fc763867d5
RegionInfo: Add getMaxRegionExit()
...
getMaxRegionExit returns the exit of the maximal refined region starting
at a specific basic block.
llvm-svn: 109496
2010-07-27 08:39:43 +00:00
Duncan Sands
fd5c8329cf
After updating value handles for RAUW, check that no weak or tracking handles
...
are still on the list. This might happen if a CallbackVH created some new value
handles for the old value when doing RAUW. Barf if it occurs, since it is almost
certainly a mistake.
llvm-svn: 109495
2010-07-27 06:53:14 +00:00
Michael J. Spencer
f8270bdb2d
Make MC use Windows COFF on Windows and add tests.
...
llvm-svn: 109494
2010-07-27 06:46:15 +00:00
Nick Kledzik
cceb1f2e67
add assembly implementation of modsi3 so compiler does not have to special case a - (a / b) * b optimization
...
llvm-svn: 109492
2010-07-27 06:24:32 +00:00
Michael J. Spencer
2c35bc1232
Revert r109428 "Hoist argument type checking into CheckFormatHandler. This is prep for scanf format"
...
Got errors about ASTContext being undefined with Visual Studio 2010.
llvm-svn: 109491
2010-07-27 04:46:02 +00:00
Tobias Grosser
1bec81a888
Add function to query RegionInfo about loops.
...
* contains(Loop), * getOutermostLoop()
* Improve getNameStr() to return a sensible name, if basic blocks are not named.
llvm-svn: 109490
2010-07-27 04:17:13 +00:00
Jakob Stoklund Olesen
96a890a7f8
The isLoadFromStackSlot and isStoreToStackSlot have no way of reporting
...
subregister operands like this:
%reg1040:sub_32bit<def> = MOV32rm <fi#-2>, 1, %reg0, 0, %reg0, %reg1040<imp-def>; mem:LD4[FixedStack-2](align=8)
Make them return false when subreg operands are present. VirtRegRewriter is
making bad assumptions otherwise.
This fixes PR7713.
llvm-svn: 109489
2010-07-27 04:17:01 +00:00
Jakob Stoklund Olesen
c3c05ed02e
Add assertions that expose the PR7713 miscompilation: Accessing a stack slot
...
with a too-big register class.
llvm-svn: 109488
2010-07-27 04:16:58 +00:00
Jordy Rose
55442abee6
Don't warn about unreachable code if the block starts with __builtin_unreachable().
...
The next step is to warn if a block labeled unreachable is, in fact, reachable. Somewhat related to PR810.
llvm-svn: 109487
2010-07-27 03:39:53 +00:00