Nick Lewycky
fbed86a865
Mark function returns as noalias.
...
llvm-svn: 66369
2009-03-08 06:20:47 +00:00
Chris Lattner
21a84f3054
teach SROA to handle promoting vector allocas with a memset into them into
...
a vector type instead of into an integer type.
llvm-svn: 66368
2009-03-08 04:17:04 +00:00
Chris Lattner
e408601cec
fix typo
...
llvm-svn: 66367
2009-03-08 04:06:26 +00:00
Chris Lattner
c009757761
Enhance SROA to "promote to scalar" allocas which are
...
memcpy/memmove'd into or out of. This fixes a serious
perf issue that Nate ran into.
llvm-svn: 66366
2009-03-08 04:04:21 +00:00
Evan Cheng
ec415efb44
Recognize triplets starting with armv5-, armv6- etc. And set the ARM arch version accordingly.
...
llvm-svn: 66365
2009-03-08 04:02:49 +00:00
Chris Lattner
dc35e5b43a
change the MemIntrinsic get/setAlignment method to take an unsigned
...
instead of a Constant*, which is what the clients of it really want.
llvm-svn: 66364
2009-03-08 03:59:00 +00:00
Evan Cheng
de22116f39
If a MI uses the same register more than once, only mark one of them as 'kill'.
...
llvm-svn: 66363
2009-03-08 03:58:35 +00:00
Chris Lattner
fee0a55c84
use MemTransferInst.
...
llvm-svn: 66362
2009-03-08 03:37:35 +00:00
Chris Lattner
334268a211
Introduce a new MemTransferInst pseudo class, which is a common
...
parent between MemCpyInst and MemMoveInst, simplify some code to
use it.
llvm-svn: 66361
2009-03-08 03:37:16 +00:00
Chris Lattner
393ac62837
add a note.
...
llvm-svn: 66360
2009-03-08 03:04:26 +00:00
Chris Lattner
cfd1f7aa9f
add a note.
...
llvm-svn: 66359
2009-03-08 01:54:43 +00:00
Chris Lattner
ab5a443144
implement an optimization to codegen c ? 1.0 : 2.0 as load { 2.0, 1.0 } + c*4.
...
For 2009-03-07-FPConstSelect.ll we now produce:
_f:
xorl %eax, %eax
testl %edi, %edi
movl $4, %ecx
cmovne %rax, %rcx
leaq LCPI1_0(%rip), %rax
movss (%rcx,%rax), %xmm0
ret
previously we produced:
_f:
subl $4, %esp
cmpl $0, 8(%esp)
movss LCPI1_0, %xmm0
je LBB1_2 ## entry
LBB1_1: ## entry
movss LCPI1_1, %xmm0
LBB1_2: ## entry
movss %xmm0, (%esp)
flds (%esp)
addl $4, %esp
ret
on PPC the code also improves to:
_f:
cntlzw r2, r3
srwi r2, r2, 5
li r3, lo16(LCPI1_0)
slwi r2, r2, 2
addis r3, r3, ha16(LCPI1_0)
lfsx f1, r3, r2
blr
from:
_f:
li r2, lo16(LCPI1_1)
cmplwi cr0, r3, 0
addis r2, r2, ha16(LCPI1_1)
beq cr0, LBB1_2 ; entry
LBB1_1: ; entry
li r2, lo16(LCPI1_0)
addis r2, r2, ha16(LCPI1_0)
LBB1_2: ; entry
lfs f1, 0(r2)
blr
This also improves the existing pic-cpool case from:
foo:
subl $12, %esp
call .Lllvm$1.$piclabel
.Lllvm$1.$piclabel:
popl %eax
addl $_GLOBAL_OFFSET_TABLE_ + [.-.Lllvm$1.$piclabel], %eax
cmpl $0, 16(%esp)
movsd .LCPI1_0@GOTOFF(%eax), %xmm0
je .LBB1_2 # entry
.LBB1_1: # entry
movsd .LCPI1_1@GOTOFF(%eax), %xmm0
.LBB1_2: # entry
movsd %xmm0, (%esp)
fldl (%esp)
addl $12, %esp
ret
to:
foo:
call .Lllvm$1.$piclabel
.Lllvm$1.$piclabel:
popl %eax
addl $_GLOBAL_OFFSET_TABLE_ + [.-.Lllvm$1.$piclabel], %eax
xorl %ecx, %ecx
cmpl $0, 4(%esp)
movl $8, %edx
cmovne %ecx, %edx
fldl .LCPI1_0@GOTOFF(%eax,%edx)
ret
This triggers a few dozen times in spec FP 2000.
llvm-svn: 66358
2009-03-08 01:51:30 +00:00
Chris Lattner
21cf4bf235
random cleanups.
...
llvm-svn: 66357
2009-03-08 01:47:41 +00:00
Nick Lewycky
add31939ed
Fix misaligned whitespace. No functionality change.
...
llvm-svn: 66355
2009-03-08 00:57:09 +00:00
Chris Lattner
e313283199
fix a serious pessimization that Tron on IRC pointed out where we would
...
"boolify" pointers, generating really awful code because getting the pointer
value requires a load itself. Before:
_foo:
movb $1, _X.b
ret
_get:
xorl %ecx, %ecx
movb _X.b, %al
testb %al, %al
movl $_Y, %eax
cmove %ecx, %eax
ret
With the xform disabled:
_foo:
movl $_Y, _X
ret
_get:
movl _X, %eax
ret
llvm-svn: 66351
2009-03-07 23:32:02 +00:00
Nick Lewycky
f653c2e18e
Revert r66315. Fix the build on mixed 64/32 Linux systems.
...
llvm-svn: 66350
2009-03-07 22:17:05 +00:00
Mikhail Glushenkov
d18088a7b1
Remove some duplication.
...
llvm-svn: 66347
2009-03-07 20:18:46 +00:00
Duncan Sands
12da8ce3d2
Introduce new linkage types linkonce_odr, weak_odr, common_odr
...
and extern_weak_odr. These are the same as the non-odr versions,
except that they indicate that the global will only be overridden
by an *equivalent* global. In C, a function with weak linkage can
be overridden by a function which behaves completely differently.
This means that IP passes have to skip weak functions, since any
deductions made from the function definition might be wrong, since
the definition could be replaced by something completely different
at link time. This is not allowed in C++, thanks to the ODR
(One-Definition-Rule): if a function is replaced by another at
link-time, then the new function must be the same as the original
function. If a language knows that a function or other global can
only be overridden by an equivalent global, it can give it the
weak_odr linkage type, and the optimizers will understand that it
is alright to make deductions based on the function body. The
code generators on the other hand map weak and weak_odr linkage
to the same thing.
llvm-svn: 66339
2009-03-07 15:45:40 +00:00
Gabor Greif
51bbcf834c
simplify the way how traits get hold of the symbol table
...
llvm-svn: 66336
2009-03-07 12:33:24 +00:00
Gabor Greif
6e1ca84d2c
further simplifications arising from peruse of the more declarative interface
...
llvm-svn: 66333
2009-03-07 10:49:57 +00:00
Gabor Greif
5cd1b25822
Remove the burden of dealing with list offsets
...
from SymbolTableListTraits' clients, and
intead request a nice declarative interface.
Cleans up an IMHO ugly wart.
llvm-svn: 66331
2009-03-07 10:00:35 +00:00
Chris Lattner
6acb4d6f7e
When a crash signal is delivered do two things: remove all of our
...
signal handlers to prevent reentrance on unrelated things (a sigabort
where the handle bus errors) also, clear the signal mask so that the
signal doesn't infinitely reissue. This fixes rdar://6654827 -
Crash causes clang to loop
llvm-svn: 66330
2009-03-07 08:15:47 +00:00
Nate Begeman
52b696c7ad
Finish cross-process JIT work, and clean up previous work.
...
1. When the JIT is asked to remove a function, updating it's
mapping to 0, we invalidate any function stubs used only
by that function. Now, also invalidate the JIT's mapping
from the GV the stub pointed to, to the address of the GV.
2. When dlsym stubs for cross-process JIT are enabled, do not
abort just because a named function cannot be found in the
JIT's process.
3. Fix various assumptions about when it is ok to use the lazy
resolver when non-lazy JITing is enabled.
llvm-svn: 66324
2009-03-07 06:41:19 +00:00
Dan Gohman
ff659b5b86
Arithmetic instructions don't set EFLAGS bits OF and CF bits
...
the same say the "test" instruction does in overflow cases,
so eliminating the test is only safe when those bits aren't
needed, as is the case for COND_E and COND_NE, or if it
can be proven that no overflow will occur. For now, just
restrict the optimization to COND_E and COND_NE and don't
do any overflow analysis.
llvm-svn: 66318
2009-03-07 01:58:32 +00:00
Evan Cheng
9153f08c74
If ARCH is x86_64, pass -m64 to the host compiler. -m32 for i386. This makes sure the JIT work correctly.
...
llvm-svn: 66315
2009-03-07 01:40:17 +00:00
Daniel Dunbar
d39e0974fe
Add IRBuilder::CreateConstGEP{1, 2}_{32, 64}.
...
- Names are lame, but it seems better to be explicit.
llvm-svn: 66295
2009-03-06 22:26:07 +00:00
Daniel Dunbar
3b3c3f02cc
Rename my makefile debugging rule to prevent accidental collisions.
...
llvm-svn: 66294
2009-03-06 22:23:25 +00:00
Daniel Dunbar
dcf8d3c9eb
Add Module::getNamedValue; use to normalize access to Module symbol
...
table.
- No functionality change.
llvm-svn: 66289
2009-03-06 22:04:43 +00:00
Dale Johannesen
6e447e08ee
Fix another case where debug info interferes with
...
an optimization.
llvm-svn: 66288
2009-03-06 21:08:33 +00:00
Tanya Lattner
8498d2dd2b
Add default constructor to SDNode to make gcc 3.4.6 happy.
...
llvm-svn: 66280
2009-03-06 18:17:45 +00:00
Dan Gohman
ec5f2b5e05
Use c_str() to force the string to be nul-terminated.
...
llvm-svn: 66279
2009-03-06 18:13:15 +00:00
Mikhail Glushenkov
211f3c0f97
Add a comment.
...
llvm-svn: 66278
2009-03-06 17:59:58 +00:00
Chris Lattner
040ce02174
some nits noticed by Duncan
...
llvm-svn: 66274
2009-03-06 17:05:04 +00:00
Chris Lattner
a59518276e
fix header comment and include guard.
...
llvm-svn: 66273
2009-03-06 16:54:19 +00:00
Chris Lattner
e48f897ca7
add a bunch more passes to the C bindings (PR3734), patch by
...
Lennart Augustsson!
llvm-svn: 66272
2009-03-06 16:52:18 +00:00
Mikhail Glushenkov
0658cac532
Trailing whitespace.
...
llvm-svn: 66269
2009-03-06 12:25:56 +00:00
Mikhail Glushenkov
6a64f907c6
Trailing whitespace.
...
llvm-svn: 66268
2009-03-06 12:21:40 +00:00
Duncan Sands
ed7228319a
While thinking about the one-definition-rule and trying
...
to find a tiny mouse hole to squeeze through, it struck
me that globals without a name can be considered internal
since they can't be referenced from outside the current
module. This patch makes GlobalOpt give them internal
linkage. Also done for aliases even though they always
have names, since in my opinion anonymous aliases should
be allowed for consistency with global variables and
functions. So if that happens one day, this code is ready!
llvm-svn: 66267
2009-03-06 10:21:56 +00:00
Chris Lattner
e41a434f89
on apple systems, integrate nicely with crash reporter.
...
llvm-svn: 66264
2009-03-06 07:19:54 +00:00
Devang Patel
25b625165f
While converting an aggregate to scalare, ignore and remove aggregate's debug info.
...
llvm-svn: 66262
2009-03-06 07:03:54 +00:00
Chris Lattner
4c1e9541d3
Sprinkle some PrettyStackEntry magic into the passmanager. With this, we now
...
get nice and happy stack traces when we crash in an optimizer or codegen. For
example, an abort put in UnswitchLoops now looks like this:
Stack dump:
0. Program arguments: clang pr3399.c -S -O3
1. <eof> parser at end of file
2. per-module optimization passes
3. Running pass 'CallGraph Pass Manager' on module 'pr3399.c'.
4. Running pass 'Loop Pass Manager' on function '@foo'
5. Running pass 'Unswitch loops' on basic block '%for.inc'
Abort
llvm-svn: 66260
2009-03-06 06:45:05 +00:00
Zhou Sheng
c8e5085cd3
Remove this as dbginfo intrinsics has been defined as
...
IntrNoMem.
llvm-svn: 66256
2009-03-06 06:05:01 +00:00
Devang Patel
5aed7765b8
While hoisting instruction to speculatively execute simple bb, ignore dbg intrinsics.
...
llvm-svn: 66255
2009-03-06 06:00:17 +00:00
Chris Lattner
609873608e
various cosmetic cleanups.
...
llvm-svn: 66254
2009-03-06 05:53:14 +00:00
Chris Lattner
e6d1e8d0cc
this wasn't intended to go in.
...
llvm-svn: 66252
2009-03-06 05:42:30 +00:00
Chris Lattner
e3fc2d13be
Change various llvm utilities to use PrettyStackTraceProgram in
...
their main routines. This makes the tools print their argc/argv
commands if they crash.
llvm-svn: 66248
2009-03-06 05:34:10 +00:00
Devang Patel
bab43b4c91
Do not count DbgInfoIntrinsic while estimating loop header size.
...
llvm-svn: 66245
2009-03-06 03:51:30 +00:00
Devang Patel
e8c6d3102d
Skip DbgInfoIntrinsic.
...
llvm-svn: 66244
2009-03-06 02:59:27 +00:00
Gordon Henriksen
1424861a62
Committing unsaved changes that should've been with r66237.
...
llvm-svn: 66242
2009-03-06 02:42:47 +00:00
Dan Gohman
15af5524a4
Fix ScheduleDAGRRList::CopyAndMoveSuccessors' handling of nodes
...
with multiple chain operands. This can occur when the scheduler
has added chain operands to a node that already has a chain
operand, in order to handle physical register dependencies.
This fixes an llvm-gcc bootstrap failure on x86-64 introduced
in r66058.
llvm-svn: 66240
2009-03-06 02:23:01 +00:00
Dan Gohman
bcad718f73
Use CloneModule's ValueMap to avoid needing to look up
...
functions by name. This fixes PR718.
llvm-svn: 66239
2009-03-06 02:16:23 +00:00
Gordon Henriksen
3519d5d828
Incorporate feedback to improve GarbageCollection.html.
...
llvm-svn: 66237
2009-03-06 01:57:32 +00:00
Dale Johannesen
fb1caf3e1f
Don't assign rank numbers to debug intrinsic "calls".
...
This is needed so debug info doesn't change codegen.
llvm-svn: 66235
2009-03-06 01:41:59 +00:00
Bill Wendling
6d8472b9cc
When we split a basic block, there's a default branch to the newly created BB.
...
Delete this default branch, because we're going to generate our own.
llvm-svn: 66234
2009-03-06 01:41:15 +00:00
Devang Patel
fc507a1f9c
Revert 66224.
...
llvm-svn: 66233
2009-03-06 01:39:36 +00:00
Devang Patel
d926aaa28f
Revert rev. 66167.
...
We are still not out of woods yet.
llvm-svn: 66232
2009-03-06 01:37:41 +00:00
Oscar Fuentes
afbe97542f
CMake: auto-discover project files under the projects/ subdirectory.
...
Patch by Viktar Zviarovich!
llvm-svn: 66230
2009-03-06 01:16:52 +00:00
Gabor Greif
b3805878d1
do not close friendship with every odd class
...
llvm-svn: 66229
2009-03-06 01:09:27 +00:00
Evan Cheng
5fd4fc76bf
SRThreshold is meant to be inclusive.
...
llvm-svn: 66227
2009-03-06 00:56:43 +00:00
Dale Johannesen
073ab5acab
Tweak the check for promotable alloca's to handle
...
debug intrinsics correctly.
llvm-svn: 66225
2009-03-06 00:42:50 +00:00
Devang Patel
ab16577ade
Do not let debug info prevert globalopt from shriking a global vars to boolean.
...
llvm-svn: 66224
2009-03-06 00:21:00 +00:00
Devang Patel
0c970f94e9
Add "check/remove dbg var" helper routines.
...
llvm-svn: 66223
2009-03-06 00:19:37 +00:00
Bob Wilson
8932717421
Fix a parallel make race condition by swapping the order of -I directories.
...
The .cmi files are generated in $(ObjDir) and then copied to $(OcamlDir).
The ocamldep output references the .cmi files in $(ObjDir), so make kicks
off a dependent compile as soon as the local copy is generated. If the
copy to $(OcamlDir) is not complete at that point, the compiler will read
the partially copied file and complain about a "Corrupted compiled
interface". Searching $(ObjDir) first avoids this.
llvm-svn: 66217
2009-03-06 00:00:58 +00:00
Dan Gohman
4f42ac8400
Fix a bugpoint bug on anonymous functions. Instead of looking up
...
functions in the new module by name, use the ValueMap provided by
CloneModule to do the lookups.
llvm-svn: 66216
2009-03-05 23:20:46 +00:00
Dan Gohman
c719d73eec
Don't use plain INC32 and DEC32 on x86-64; it needs
...
INC64_32r and INC64_16r, because these instructions are encoded
differently on x86-64. This fixes JIT regressions on x86-64 in
kimwitu++ and others.
llvm-svn: 66207
2009-03-05 21:32:23 +00:00
Dan Gohman
e014b193c9
When creating X86ISD::INC and X86ISD::DEC nodes, only add one operand.
...
The extra operand didn't appear to cause any trouble, but it was
erroneous regardless.
llvm-svn: 66206
2009-03-05 21:29:28 +00:00
Dan Gohman
2c2f192c74
Fix the "test" optimization to recognize "dec" as an add of
...
negative one, as subtracts of immediates are canonicalized
to adds.
llvm-svn: 66180
2009-03-05 19:32:48 +00:00
Dan Gohman
14cc4a458e
Make this test more thorough. Not only should there be no %esi,
...
there should be no spilling of anything.
llvm-svn: 66179
2009-03-05 19:31:32 +00:00
Chris Lattner
bbbbbf30bd
move some code to gracefully handle the case when a handler crashes.
...
llvm-svn: 66171
2009-03-05 18:22:14 +00:00
Devang Patel
709d6ac46d
GlobalOpt only process non constant local GVs while optimizing global vars.
...
If non constant local GV named A is used by a constant local GV named B (e.g. llvm.dbg.variable) and B is not used by anyone else then eliminate A as well as B.
In other words, debug info should not interfere in removal of unused GV.
--This life, and those below, will be ignored--
M test/Transforms/GlobalOpt/2009-03-03-dbg.ll
M lib/Transforms/IPO/GlobalOpt.cpp
llvm-svn: 66167
2009-03-05 18:12:02 +00:00
Duncan Sands
96f52eb13f
Add missing file.
...
llvm-svn: 66160
2009-03-05 09:19:13 +00:00
Owen Anderson
380b3838f6
(Hopefully) silence a warning.
...
llvm-svn: 66158
2009-03-05 08:23:20 +00:00
Nick Lewycky
c540cc6591
Regenerate.
...
llvm-svn: 66157
2009-03-05 08:20:44 +00:00
Nick Lewycky
16aac9994b
Autodetect the availability of -export-dynamic in the linker.
...
llvm-svn: 66156
2009-03-05 08:20:21 +00:00
Owen Anderson
ad503987a8
Be more careful about choosing restore points when doing restore folding. This fixes some subtle miscompilations.
...
llvm-svn: 66147
2009-03-05 07:19:18 +00:00
Chris Lattner
8d0fe8cd90
Daniel wanted the stack printed upside down. Perhaps he
...
feels a kinship to machine stacks that grow down. Now we get
stuff like this:
Stack dump:
0. Program arguments: clang clang_crash_Iw2Osj.mi
1. /Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/xmmintrin.h:624:1: parsing function body '_mm_cvtpi16_ps'
2. /Developer/SDKs/MacOSX10.5.sdk/usr/lib/gcc/i686-apple-darwin9/4.0.1/include/xmmintrin.h:624:1: in compound statement ('{}')
Abort
llvm-svn: 66145
2009-03-05 07:03:49 +00:00
Chris Lattner
2674eb4bd1
indicate what the program args line is.
...
llvm-svn: 66144
2009-03-05 06:51:42 +00:00
Chris Lattner
0c33d436b3
switch this message back to only being in -debug mode.
...
llvm-svn: 66143
2009-03-05 06:48:16 +00:00
Nate Begeman
359df7420f
When allocating stubs, keep track of which Functions are referencing the stub.
...
This invalidates the stubs in the resolver map when they are no longer referenced,
and should the JIT memory manager ever pick up a deallocateStub interface, the
JIT could reclaim the memory for unused stubs as well.
llvm-svn: 66141
2009-03-05 06:34:37 +00:00
Evan Cheng
b7922dee15
Do not split edges to EH landing pads. It will cause code size explosion.
...
llvm-svn: 66140
2009-03-05 06:31:26 +00:00
Evan Cheng
f0bfc6a675
Fix how livein live intervals are handled. Previously it could end at MBB start. Sorry, no small test case possible.
...
llvm-svn: 66129
2009-03-05 03:34:26 +00:00
Dale Johannesen
78ab338024
Fix another case where debug info was affecting
...
codegen. I convinced myself it was OK to skip all
pointer bitcasts here too.
llvm-svn: 66122
2009-03-05 02:06:48 +00:00
Zhou Sheng
abe4192442
Ignore the debug info intrinsics when looking for dependency through basic block.
...
llvm-svn: 66119
2009-03-05 01:45:43 +00:00
Bill Wendling
0bf1ded7bd
Add comment to emphasize that the while body is empty.
...
llvm-svn: 66115
2009-03-05 01:08:35 +00:00
Dale Johannesen
ad6b47377f
Fix another case where a dbg.declare meant something
...
had 2 uses instead of 1.
llvm-svn: 66112
2009-03-05 00:39:02 +00:00
Bill Wendling
19ce8619da
Should have XFAILed this test.
...
llvm-svn: 66086
2009-03-04 22:29:34 +00:00
Bill Wendling
803da0db79
Temporarily revert r65994. It was causing rdar://6646455.
...
llvm-svn: 66083
2009-03-04 22:02:09 +00:00
Gabor Greif
ebd4998c1f
ooops, forgot to include the pointless-write eliminator in my previous checkin
...
llvm-svn: 66081
2009-03-04 21:54:31 +00:00
Dale Johannesen
a31552c151
Add some cautionary comments.
...
llvm-svn: 66080
2009-03-04 21:53:29 +00:00
Chris Lattner
68061d5995
add some helper classes for building light-weight symbolic stack traces
...
that get printed when a program crashes. This is the first step of many.
llvm-svn: 66076
2009-03-04 21:40:23 +00:00
Dale Johannesen
df4226c0e2
Re-commit 65975 and a fix for the problem that
...
was causing llvm-gcc to fail to build. I've
verified it bootstraps now; good enough for me.
llvm-svn: 66073
2009-03-04 21:24:04 +00:00
Chris Lattner
4fdd042d9e
Add a new 'AddSignalHandler' function to Signals.h that allows
...
arbitrary functions to be run when a crash happens. Delete
RemoveDirectoryOnSignal as it is dead and has never had clients.
Change PrintStackTraceOnErrorSignal to be implemented in terms of
AddSignalHandler.
I updated the Win32 versions of these APIs, but can't test them.
If there are any problems, I'd be happy to fix them as well.
llvm-svn: 66072
2009-03-04 21:21:36 +00:00
Dan Gohman
66476b582d
Fix this comment.
...
llvm-svn: 66065
2009-03-04 20:50:23 +00:00
Dan Gohman
ae0035ee15
Add an assertion for a condition that's always true, and not
...
immediately obvious.
llvm-svn: 66062
2009-03-04 20:49:01 +00:00
Gabor Greif
de2fb05246
Give sentinel traits the right to determine the policy where the sentinel is kept.
...
This should result in less indirect memory accesses, less dead writes and tighter code.
llvm-svn: 66061
2009-03-04 20:36:44 +00:00
Dan Gohman
55d7b2ac4f
Re-apply 66008, now that the unfoldMemoryOperand bug is fixed.
...
llvm-svn: 66058
2009-03-04 19:44:21 +00:00
Dan Gohman
f8920d0c75
Correct this comment.
...
llvm-svn: 66057
2009-03-04 19:24:25 +00:00
Dan Gohman
cc329b567d
When using MachineInstr operand indices on SDNodes, the number
...
of MachineInstr def operands must be subtracted out. This bug
was uncovered by the recent x86 EFLAGS optimization. Before
that, the only instructions that ever needed unfolding were
things like CMP32rm, where NumDefs is zero.
llvm-svn: 66056
2009-03-04 19:23:38 +00:00
Chris Lattner
a41bb40458
complete comment.
...
llvm-svn: 66055
2009-03-04 19:23:25 +00:00
Chris Lattner
b5b0c87be6
this wasn't intended to be committed.
...
llvm-svn: 66054
2009-03-04 19:22:30 +00:00
Chris Lattner
5c204c92a4
Fix PR3720 by properly propagating alignment information from memcpy/memmove
...
onto element accesses.
llvm-svn: 66053
2009-03-04 19:20:50 +00:00
Nate Begeman
920438ef1d
Fix a thinko in the JIT where the address of a GV was only recorded in the map
...
on failure to resolve it.
Do not abort on failure to resolve an external symbol when using dlsym stubs,
since the symbol may not be in the JIT's address space. Just use 0.
Allow dlsym stubs to differentiate between GlobalVars and Functions.
llvm-svn: 66050
2009-03-04 19:10:38 +00:00
Bob Wilson
5b15d01ff3
Fix BuildVectorSDNode::isConstantSplat to handle one-element vectors.
...
It is an error to call APInt::zext with a size that is equal to the value's
current size, so use zextOrTrunc instead.
llvm-svn: 66039
2009-03-04 17:47:01 +00:00
Mike Stump
436f0ef9ff
.emacs file bits for automatically setting the llvm.org coding style. Thanks Anton.
...
llvm-svn: 66032
2009-03-04 14:14:37 +00:00
Owen Anderson
0dedc114de
Add a restore folder, which shaves a dozen or so machineinstrs off oggenc. Update a testcase to check this.
...
llvm-svn: 66029
2009-03-04 08:52:31 +00:00
Gabor Greif
a954a99c40
"Ghostify" embedded sentinels. This is a real win in all cases
...
because less bytes are allocated and subobject construction is gone.
For reference how it works, see BasicBlock.h.
Btw. it is very assuring to see that somebody has invented
this ilist-embedded sentinel technique before me :-)
llvm-svn: 66026
2009-03-04 06:57:48 +00:00
Evan Cheng
9edd616b59
Fix PR3666: isel calls to constant addresses.
...
llvm-svn: 66024
2009-03-04 06:48:53 +00:00
Eli Friedman
7604d37723
PR3686: make the legalizer handle bitcast from i80 to x86 long double.
...
llvm-svn: 66021
2009-03-04 06:23:34 +00:00
Dan Gohman
6728f892be
Revert r66004 for now; it's causing a variety of test failures.
...
llvm-svn: 66008
2009-03-04 03:54:19 +00:00
Evan Cheng
e08f4cb9a1
Rename test.
...
llvm-svn: 66006
2009-03-04 02:47:25 +00:00
Dan Gohman
fe8d71f42a
Teach the x86 backend to eliminate "test" instructions by using the EFLAGS
...
result from add, sub, inc, and dec instructions in simple cases.
llvm-svn: 66004
2009-03-04 02:33:24 +00:00
Dale Johannesen
845e582cbe
Revert unintended commmit.
...
llvm-svn: 66001
2009-03-04 02:09:48 +00:00
Dale Johannesen
d71c20081c
Skip ptr-to-ptr bitcasts when counting in another case.
...
llvm-svn: 66000
2009-03-04 02:06:53 +00:00
Dale Johannesen
c8b5a6ef7d
Always skip ptr-to-ptr bitcasts when counting,
...
per Chris' suggestion. Slightly faster.
llvm-svn: 65999
2009-03-04 01:53:05 +00:00
Evan Cheng
b8905c4e2c
Fix PR3701. 1. X86 target renamed eflags register to flags. This matches what llvm-gcc generates so codegen knows flags register is being clobbered by inline asm. 2. BURR scheduler should also check if inline asm nodes can clobber "live" physical registers. Previously it was only checking target nodes with implicit defs.
...
llvm-svn: 65996
2009-03-04 01:41:49 +00:00
Devang Patel
812459613b
If a global constant is dead then global's debug info should not prevent the optimizer in deleting the global. And while deleting global, delete global's debug info also.
...
llvm-svn: 65994
2009-03-04 01:22:23 +00:00
Dale Johannesen
0365d3b8b5
Make my earlier patch to skip debug intrinsics
...
when counting work; it was only off by 1.
llvm-svn: 65993
2009-03-04 01:20:34 +00:00
Dale Johannesen
159d2159ee
Temporarily revert 65975, which breaks the llvm-gcc build.
...
While the patch is clearly correct in itself, it's become
apparent other places are assuming debug intrinsics are
marked as touching memory...this needs more testing.
llvm-svn: 65992
2009-03-04 01:14:28 +00:00
Bill Wendling
6d2714738f
The DAG combiner was performing a BT combine. The BT combine had a value of -1,
...
so it changed it into a 31 via the TLO.ShrinkDemandedConstant() call. Then it
would go through the DAG combiner again. This time it had a value of 31, which
was turned into a -1 by TLI.SimplifyDemandedBits(). This would ping pong
forever.
Teach the TLO.ShrinkDemandedConstant() call not to lower a value if the demanded
value is an XOR of all ones.
llvm-svn: 65985
2009-03-04 00:18:06 +00:00
Dale Johannesen
738c60f259
Marking debug info intrinsics as not touching memory
...
caused them to be considered trivially dead. Fix this.
llvm-svn: 65979
2009-03-03 23:30:00 +00:00
Dale Johannesen
09c3e8ec00
Instruction counters must skip the bitcasts that
...
feed into llvm.dbg.declare nodes, as well as
the debug directives themselves.
llvm-svn: 65976
2009-03-03 22:36:47 +00:00
Devang Patel
8720a0b9a7
Dbg Intrinsics do not access memory.
...
llvm-svn: 65975
2009-03-03 22:33:54 +00:00
Devang Patel
b833ce74d8
Recursively remove dead argument while removing llvm.dbg.declare intrinsic.
...
llvm-svn: 65971
2009-03-03 21:31:02 +00:00
Dale Johannesen
77456b7ab4
When removing a store to an alloca that has only one
...
use, check also for the case where it has two uses,
the other being a llvm.dbg.declare. This is needed so
debug info doesn't affect codegen.
llvm-svn: 65970
2009-03-03 21:26:39 +00:00
Chris Lattner
7956bba545
don't #include a header into the middle of an anon namespace.
...
llvm-svn: 65967
2009-03-03 20:10:23 +00:00
Dan Gohman
3a72265d41
Add '(implicit EFLAGS)' for AND, OR, XOR, NEG, INC, and DEC
...
instructions. These aren't used yet.
llvm-svn: 65965
2009-03-03 19:53:46 +00:00
Bob Wilson
530e038940
Use early exit to reduce indentation. No functional change.
...
llvm-svn: 65962
2009-03-03 19:26:27 +00:00
Bill Wendling
7fcd6148f7
Remove accidental check-ins in r65960. :-(
...
llvm-svn: 65961
2009-03-03 19:25:16 +00:00
Bill Wendling
a68fc7af63
Use > instead of >=. We want to promote aggregates of 128-bytes.
...
llvm-svn: 65960
2009-03-03 19:18:49 +00:00
Dan Gohman
9a8a28da99
Make a comment less terse.
...
llvm-svn: 65953
2009-03-03 17:44:54 +00:00
Bill Wendling
3e44bf3c4b
Reapply r65755, but reversing "<" to ">=".
...
llvm-svn: 65945
2009-03-03 12:12:58 +00:00
Mikhail Glushenkov
33435e49a9
Add example/Skeleton.
...
This is a template that can be used to build your own LLVMC-based drivers.
It can be also useful as a "bare-bones" LLVMC.
llvm-svn: 65944
2009-03-03 11:02:48 +00:00
Mikhail Glushenkov
b5f56fc268
Comment fixes.
...
llvm-svn: 65943
2009-03-03 10:04:57 +00:00
Mikhail Glushenkov
59a5afa996
Oops.
...
llvm-svn: 65942
2009-03-03 10:04:23 +00:00
Mikhail Glushenkov
4f85b86120
Use LLVMLIBS instead of USEDLIBS.
...
Since this Makefile is supposed to be usable from LLVM-based projects not in the
tree, LLVMLIBS should be used instead of USEDLIBS. This depends on my previous
fix to Makefile.rules.
llvm-svn: 65941
2009-03-03 10:03:53 +00:00
Mikhail Glushenkov
ab6f8ded33
LINK_COMPONENTS should be added to LLVMLibsOptions.
...
From the code: "There are "Proj" libs (defined by the user's project) and "LLVM"
libs (defined by the LLVM project)." LINK_COMPONENTS are clearly defined by the
LLVM project.
Additionally, this fixes an issue with llvmc's build process:-)
llvm-svn: 65940
2009-03-03 10:03:27 +00:00
Mikhail Glushenkov
b00b964697
Move example plugins to the example/ directory.
...
llvm-svn: 65939
2009-03-03 10:02:53 +00:00
Nick Lewycky
9e26e6d3cb
ENABLE_PIC is either 0 or 1, but is always defined.
...
llvm-svn: 65938
2009-03-03 07:45:09 +00:00
Mikhail Glushenkov
766d48947a
80-column violation + trailing whitespace.
...
llvm-svn: 65936
2009-03-03 07:22:23 +00:00
Zhou Sheng
506035105c
Ignore the debug info intrinsics when adding instructions into alias sets.
...
llvm-svn: 65934
2009-03-03 06:02:04 +00:00
Nick Lewycky
79a6fe91e0
This bug's been fixed but a version with the fix hasn't been released yet.
...
llvm-svn: 65931
2009-03-03 05:41:16 +00:00
Nick Lewycky
ed8472e8a1
Regenerate.
...
llvm-svn: 65928
2009-03-03 04:55:29 +00:00
Nick Lewycky
7d01e394ba
Switch to using -Wl,-R on Solaris.
...
llvm-svn: 65927
2009-03-03 04:55:15 +00:00
Nick Lewycky
9c51e8f962
Fix build on Cygwin.
...
llvm-svn: 65922
2009-03-03 03:36:50 +00:00
Dan Gohman
92b551bc2b
Fix a bunch of Doxygen syntax issues. Escape special characters,
...
and put @file directives on their own comment line.
llvm-svn: 65920
2009-03-03 02:55:14 +00:00
Dale Johannesen
0192552340
Don't count DebugInfo instructions in another limit
...
(lest they affect codegen).
llvm-svn: 65915
2009-03-03 01:43:03 +00:00
Dale Johannesen
fcf4ecec45
Testcase for line number sinking in InstCombine.
...
llvm-svn: 65911
2009-03-03 01:10:01 +00:00
Dale Johannesen
e1bb2f86f9
When sinking an insn in InstCombine bring its debug
...
info with it.
Don't count debug info insns against the scan maximum
in FindAvailableLoadedValue (lest they affect codegen).
llvm-svn: 65910
2009-03-03 01:09:07 +00:00
Devang Patel
cc40a61af7
Ignore debug info intrinsics.
...
llvm-svn: 65908
2009-03-03 00:28:44 +00:00
Devang Patel
d50ebbdf3f
If branch conditions' one successor is dominating another non-latch successor then this loop's iteration space can not be restricted. In this example block bb5 is always executed.
...
llvm-svn: 65902
2009-03-02 23:39:14 +00:00
Bob Wilson
85cefe8567
Generalize BuildVectorSDNode::isConstantSplat to use APInts and handle
...
arbitrary vector sizes. Add an optional MinSplatBits parameter to specify
a minimum for the splat element size. Update the PPC target to use the
revised interface.
llvm-svn: 65899
2009-03-02 23:24:16 +00:00
Bill Wendling
a347bc6700
Document the -gcc-tool-args bugpoint option.
...
llvm-svn: 65897
2009-03-02 23:15:59 +00:00
Bill Wendling
bf5d827194
Add a "-gcc-tool-args" option. This option acts like the "-tool-args" option,
...
but passes the arguments to the "gcc" invocation instead of to the "llc"
invocation.
llvm-svn: 65896
2009-03-02 23:13:18 +00:00
Nate Begeman
aa06843c56
Fix the calculation for how big the allocated stub needs to be.
...
llvm-svn: 65895
2009-03-02 23:10:14 +00:00
Devang Patel
49d64927e1
Remove all dbg symobls, including those with circular references.
...
This is ugly, but I can't figure out a quick way out of this.
llvm-svn: 65889
2009-03-02 22:50:58 +00:00
Chris Lattner
bab4417e05
Fix main executable path name resolution on FreeBSD, patch by
...
Ed Schouten!
llvm-svn: 65882
2009-03-02 22:17:15 +00:00
Daniel Dunbar
3854762d92
Add some more clang related release notes.
...
llvm-svn: 65868
2009-03-02 20:08:12 +00:00
Gabor Greif
659b0f3063
drop support for GCC 2.x as it is hopelessly broken anyway
...
llvm-svn: 65864
2009-03-02 19:49:29 +00:00
Tanya Lattner
8ae22cba41
Remove incorrect information about fortran on Darwin.
...
llvm-svn: 65859
2009-03-02 19:38:59 +00:00
Gabor Greif
6b30968114
fix broken GCC bugzilla link
...
llvm-svn: 65858
2009-03-02 19:11:53 +00:00
Gabor Greif
143bf8b5cd
add a Q/A on broken GCCs
...
llvm-svn: 65857
2009-03-02 19:08:05 +00:00
Chris Lattner
0c72d8f305
update blurb per Shannon Weyrick.
...
llvm-svn: 65856
2009-03-02 19:07:24 +00:00
Duncan Sands
d16340c846
Try to make the meaning of 'nocapture' a bit clearer. I
...
commented out the line about simplifylibcalls because I
think this doesn't work in the release (it was fixed in
svn after the release branched).
llvm-svn: 65846
2009-03-02 16:58:00 +00:00
Duncan Sands
2dbb00ea9a
Use GCC not gcc, like everywhere else in this document.
...
llvm-svn: 65845
2009-03-02 16:35:57 +00:00
John Criswell
ea03c9d300
Grammar and punctuation fixes.
...
No content changes.
llvm-svn: 65844
2009-03-02 15:28:15 +00:00
Gabor Greif
1ab00bf883
Declare Sentinel fragments as mutable to get rid
...
of some pointless casting. This fragment logically
does not belong to ilist anyway, but to "ghostly"
NodeType.
llvm-svn: 65843
2009-03-02 14:47:45 +00:00
Gabor Greif
502bf8d994
remove a deprecated interface that was pretty useless
...
llvm-svn: 65842
2009-03-02 12:42:07 +00:00
Gabor Greif
176c12dd38
note the removal of deprecated interfaces
...
llvm-svn: 65841
2009-03-02 12:23:55 +00:00
Gabor Greif
21e3ec35fe
fix typo
...
llvm-svn: 65839
2009-03-02 12:10:56 +00:00
Gabor Greif
75b2f76754
minor tweaks
...
llvm-svn: 65838
2009-03-02 12:02:51 +00:00
Gabor Greif
01c2ec85ed
minor tweaks
...
llvm-svn: 65837
2009-03-02 11:34:51 +00:00
Mikhail Glushenkov
c6333bdc50
Remove duplication in Makefile.rules.
...
Merge common bits from the LLVMC and TABLEGEN sections.
llvm-svn: 65834
2009-03-02 09:42:59 +00:00
Nicolas Geoffray
08a8d0e71e
Add more notes for VMKit.
...
llvm-svn: 65833
2009-03-02 09:25:38 +00:00
Duncan Sands
5795a6091d
Fix PR3694: add an instcombine micro-optimization that helps
...
clean up when using variable length arrays in llvm-gcc.
llvm-svn: 65832
2009-03-02 09:18:21 +00:00
Mikhail Glushenkov
7cff81825f
Move the rules for building plugins to Makefile.rules.
...
llvm-svn: 65827
2009-03-02 09:04:13 +00:00
Mikhail Glushenkov
37b419cdee
Fix build with objdir != srcdir.
...
llvm-svn: 65826
2009-03-02 09:03:36 +00:00
Mikhail Glushenkov
ecfab627fd
Move code from Main.cpp to the include dir.
...
User drivers based on llvmc must all share the initialization code.
Putting main() into libCompilerDriver is not a very good idea IMO (and ld gave
me some strange EH-related error anyway).
llvm-svn: 65825
2009-03-02 09:03:02 +00:00
Mikhail Glushenkov
f552ed69f9
Cosmetic fixes: include guards.
...
llvm-svn: 65824
2009-03-02 09:02:28 +00:00
Mikhail Glushenkov
a9780b2202
Plugin::Priority() doesn't need to be pure virtual.
...
llvm-svn: 65823
2009-03-02 09:02:01 +00:00
Mikhail Glushenkov
661f4c9131
Add a comment.
...
llvm-svn: 65822
2009-03-02 09:01:39 +00:00
Mikhail Glushenkov
931d4521c3
Reorganize llvmc code.
...
Move the code from 'llvmc/driver' into a new CompilerDriver library, and change
the build system accordingly. Makes it easier for projects using LLVM to build
their own llvmc-based drivers.
Tested with objdir != srcdir.
llvm-svn: 65821
2009-03-02 09:01:14 +00:00
Bill Wendling
89cd82f5da
Random formatting changes.
...
llvm-svn: 65815
2009-03-02 07:54:14 +00:00
Bill Wendling
b3921bf12e
Fix typos.
...
llvm-svn: 65813
2009-03-02 07:42:15 +00:00
Bill Wendling
f170d2e6c8
Change </pp> to </p>.
...
llvm-svn: 65804
2009-03-02 04:28:57 +00:00
Bill Wendling
87adbe4836
- Use "real-world applications" instead of just "real applications".
...
- Verification Fixes.
llvm-svn: 65803
2009-03-02 04:28:18 +00:00
Gordon Henriksen
29a25ebbd9
Make some improvements to the GC docs.
...
Also, drop reference to the half-baked runtime interface.
llvm-svn: 65802
2009-03-02 03:47:20 +00:00
Gordon Henriksen
3de1a09c86
Drop toy GC runtime.
...
llvm-svn: 65801
2009-03-02 03:46:48 +00:00
Chris Lattner
0ed1aa830b
remove empty section
...
llvm-svn: 65800
2009-03-02 03:24:41 +00:00
Chris Lattner
d434bfbdc4
more englishification
...
llvm-svn: 65799
2009-03-02 03:24:11 +00:00
Chris Lattner
d1094e032f
start translating this into Engrish and organizing it.
...
llvm-svn: 65797
2009-03-02 02:37:32 +00:00
Nate Begeman
a9e981225e
Fix a problem with DAGCombine on 64b targets where folding
...
extracts + build_vector into a shuffle would fail, because the
type of the new build_vector would not be legal. Try harder to
create a legal build_vector type. Note: this will be totally
irrelevant once vector_shuffle no longer takes a build_vector for
shuffle mask.
New:
_foo:
xorps %xmm0, %xmm0
xorps %xmm1, %xmm1
subps %xmm1, %xmm1
mulps %xmm0, %xmm1
addps %xmm0, %xmm1
movaps %xmm1, 0
Old:
_foo:
xorps %xmm0, %xmm0
movss %xmm0, %xmm1
xorps %xmm2, %xmm2
unpcklps %xmm1, %xmm2
pshufd $80, %xmm1, %xmm1
unpcklps %xmm1, %xmm2
pslldq $16, %xmm2
pshufd $57, %xmm2, %xmm1
subps %xmm0, %xmm1
mulps %xmm0, %xmm1
addps %xmm0, %xmm1
movaps %xmm1, 0
llvm-svn: 65791
2009-03-01 23:44:07 +00:00
Chris Lattner
705f0b764e
move gold plugin next to LTO doc in the subsystem section
...
llvm-svn: 65790
2009-03-01 23:42:51 +00:00
Nick Lewycky
b750d2266d
Add a quickstart example.
...
llvm-svn: 65789
2009-03-01 21:55:10 +00:00
Nick Lewycky
d70c8a8da6
Close list item tag, to conform with the style in this file. It's optional
...
anyways.
llvm-svn: 65787
2009-03-01 21:07:44 +00:00
Nick Lewycky
f268c6b2a3
Add the gold plugin page to the documentation index!
...
llvm-svn: 65786
2009-03-01 21:06:42 +00:00
Nick Lewycky
236e926c5b
Cleanup the description of flags to llvm-gcc. Also remove stray text in the
...
attribution.
llvm-svn: 65785
2009-03-01 20:58:07 +00:00
Nick Lewycky
6d1fc5c7e4
Don't forget the important part. llvm-gcc -use-gold-plugin passes the right
...
options to gold.
llvm-svn: 65783
2009-03-01 18:48:53 +00:00
Mikhail Glushenkov
254225489a
Sprinkle llvmc notes with <tt>.
...
Also removes some trailing whitespace.
llvm-svn: 65781
2009-03-01 18:09:47 +00:00
Gabor Greif
144fa6a08a
Another sentinel optimization. This one should always
...
be a win, since almost every interesting function has at least one Argument.
llvm-svn: 65778
2009-03-01 17:13:15 +00:00
Gabor Greif
6f8d4ae3c0
Reuse a technique (pioneered for BasicBlocks) of superposing ilist with
...
its sentinel. This is quite a win when a function really has a basic block.
When the function is just a declaration (and stays so) the old way did not
allocate a sentinel. So this change is most beneficial when the ratio of
function definition to declaration is high. I.e. linkers etc. Incidentally
these are the most resource demanding applications, so I expect that the
reduced malloc traffic, locality and space savings outweigh the cost of
addition of two pointers to Function.
llvm-svn: 65776
2009-03-01 16:38:10 +00:00
Duncan Sands
491f9e89ae
Functions marked malloc are noalias return.
...
llvm-svn: 65775
2009-03-01 16:19:31 +00:00
Duncan Sands
3d23bb03c1
Tweak this a bit.
...
llvm-svn: 65772
2009-03-01 15:19:03 +00:00
Duncan Sands
ef821b5fbe
Adjust this test for recent llvm-gcc changes.
...
llvm-svn: 65771
2009-03-01 15:01:51 +00:00
Nick Lewycky
b603c73e76
Fix grammar.
...
llvm-svn: 65769
2009-03-01 09:51:07 +00:00
Gabor Greif
b122c4cb1d
fix a comment
...
llvm-svn: 65768
2009-03-01 09:45:52 +00:00
Gabor Greif
19b2d443b5
Fix a typo. Thanks baldrick!
...
llvm-svn: 65767
2009-03-01 09:43:41 +00:00
Nick Lewycky
0a71fa9dc3
First pass at a document describing how to achieve LTO on Linux with gold.
...
llvm-svn: 65766
2009-03-01 09:38:29 +00:00
Duncan Sands
2166cb7673
Another point to mention.
...
llvm-svn: 65765
2009-03-01 08:26:19 +00:00
Bill Wendling
38eae046cf
Temporarily revert r65755. It was causing failures in the self-hosting
...
testsuite:
Running /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/CodeGen/X86/dg.exp ...
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/CodeGen/X86/nancvt.ll
Failed with exit(1) at line 2
while running: grep 2147027116 nancvt.ll.tmp | count 3
count: expected 3 lines and got 0.
child process exited abnormally
FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/CodeGen/X86/vec_ins_extract.ll
Failed with exit(1) at line 1
while running: llvm-as < /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/CodeGen/X86/vec_ins_extract.ll | opt -scalarrepl -instcombine | llc -march=x86 -mcpu=yonah | not /usr/bin/grep sub.*esp
subl $28, %esp
subl $28, %esp
child process exited abnormally
And more.
llvm-svn: 65758
2009-03-01 03:55:12 +00:00
Chris Lattner
c92d769b41
add some llvmc notes from Mikhail
...
llvm-svn: 65756
2009-03-01 02:30:21 +00:00
Chris Lattner
e2bb5e31c8
hoist the check for alloca size up so that it controls CanConvertToScalar
...
as well as isSafeAllocaToScalarRepl.
llvm-svn: 65755
2009-03-01 02:26:47 +00:00
Evan Cheng
c2f95b56db
Minor optimization:
...
Look for situations like this:
%reg1024<def> = MOV r1
%reg1025<def> = MOV r0
%reg1026<def> = ADD %reg1024, %reg1025
r0 = MOV %reg1026
Commute the ADD to hopefully eliminate an otherwise unavoidable copy.
llvm-svn: 65752
2009-03-01 02:03:43 +00:00
Chris Lattner
25f282f566
tweak this to accept asmprinter changes. I have no way to verify this, hopefully
...
the buildbot will work.
llvm-svn: 65750
2009-03-01 01:28:40 +00:00
Chris Lattner
242d91a476
simplify handling "don't print top level name" processing, so that we get
...
stuff like %A = type { %A*} instead of an upref.
llvm-svn: 65748
2009-03-01 01:16:21 +00:00
Bob Wilson
d8ea0e144e
Combine PPC's GetConstantBuildVectorBits and isConstantSplat functions to a new
...
method in a BuildVectorSDNode "pseudo-class".
llvm-svn: 65747
2009-03-01 01:13:55 +00:00
Chris Lattner
89d856e9e0
Fix a pretty awesome bug that only happened in a strange case with anonymous
...
types. This was reading the uint for the keyword after the token was advanced.
llvm-svn: 65743
2009-03-01 00:53:13 +00:00
Chris Lattner
84516481f2
walk type symbol table also, so we get:
...
type opaque ; type %0
%C = type { %0, %0 }
instead of:
%C = type { opaque, opaque }
when appropriate.
llvm-svn: 65742
2009-03-01 00:32:33 +00:00
Chris Lattner
3c4f6be2b4
adjust for asmprinter change.
...
llvm-svn: 65741
2009-03-01 00:26:51 +00:00
Chris Lattner
fb97bdc6a7
adjust for asmprinter change.
...
llvm-svn: 65740
2009-03-01 00:25:46 +00:00
Chris Lattner
b23aad01de
adjust test to make it more robust
...
llvm-svn: 65739
2009-03-01 00:24:40 +00:00
Chris Lattner
3243ea111e
Fix a long-standing bug and misfeature of the disassembler: when dealing with a
...
stripped .bc file, it didn't make any attempt to try to reuse anonymous types.
This causes an amazing type explosion due to types getting duplicated everywhere
they are referenced and other problems.
This also caused correctness issues, because opaque types are unique for each time
they are uttered in the file. This means that stripping a .bc file could produce
a .ll file that could not be assembled (e.g. 2009-02-28-StripOpaqueName.ll).
This patch fixes both of these issues.
llvm-svn: 65738
2009-03-01 00:03:38 +00:00
Chris Lattner
92c5c12bdb
move type name population out of TypePrinting class into a static
...
AsmWriter.cpp method.
llvm-svn: 65736
2009-02-28 23:20:19 +00:00
Chris Lattner
3339d7f8bc
switch to densemap for pointer->word map.
...
llvm-svn: 65735
2009-02-28 23:03:55 +00:00
Chris Lattner
b543cae7d6
delete a bunch of duplicated type printing logic, using the type printing
...
stuff in AsmWriter.cpp for Type::getDescription().
llvm-svn: 65734
2009-02-28 23:01:57 +00:00
Chris Lattner
63220af1ca
make this work when constructed with a null module*
...
llvm-svn: 65733
2009-02-28 23:01:30 +00:00
Gabor Greif
d07987f5b6
add description how the ilist_traits<Instruction> works
...
llvm-svn: 65732
2009-02-28 22:46:37 +00:00
Chris Lattner
faaa7ac1f2
the module is not required to exist, allow it to default, giving this
...
class a nice default ctor.
llvm-svn: 65731
2009-02-28 22:41:33 +00:00
Chris Lattner
3a5e4d7a2e
disable copying and assignment.
...
llvm-svn: 65730
2009-02-28 22:35:24 +00:00
Chris Lattner
3ad4682b23
expose TypePrinting as a public API.
...
llvm-svn: 65729
2009-02-28 22:34:45 +00:00
Chris Lattner
e2a87a98b3
one less space, fixes failure with rebuilt llvm-gcc.
...
llvm-svn: 65728
2009-02-28 22:20:02 +00:00
Bill Wendling
050ee8fb8d
Fix grammaro.
...
llvm-svn: 65727
2009-02-28 22:12:54 +00:00
Chris Lattner
06a2321051
rename 'Result' to 'OS' in CalcTypeName for consistency
...
llvm-svn: 65724
2009-02-28 21:27:31 +00:00
Chris Lattner
e101c44d77
do not embed the raw_ostream into TypePrinting, pass it as an argument to print etc.
...
llvm-svn: 65723
2009-02-28 21:26:53 +00:00
Chris Lattner
68318b1535
stop calling Type::getDescription().
...
llvm-svn: 65722
2009-02-28 21:18:43 +00:00
Chris Lattner
2ee62d28c1
simplifications
...
llvm-svn: 65721
2009-02-28 21:11:05 +00:00
Chris Lattner
24025261d3
Change WriteTypeSymbolic to not put a space out before types, also, remove
...
the old std::ostream version.
llvm-svn: 65720
2009-02-28 21:05:51 +00:00
Chris Lattner
40959d03cb
make CalcTypeName take a stream instead of a string to concat onto,
...
eliminate redundant opaque handling code.
llvm-svn: 65716
2009-02-28 20:49:40 +00:00
Chris Lattner
eb23f87289
remove a bunch of nearly-duplicated code.
...
llvm-svn: 65715
2009-02-28 20:40:29 +00:00
Chris Lattner
07d8829df9
fix indentation, remove dead integer case.
...
llvm-svn: 65714
2009-02-28 20:35:42 +00:00
Chris Lattner
765338decf
pull calcTypeName into TypePrinting class, make its type stack
...
be a smallvector instead of vector.
llvm-svn: 65713
2009-02-28 20:34:19 +00:00
Chris Lattner
7b394e87ff
inline method into its only use and simplify the result.
...
llvm-svn: 65712
2009-02-28 20:31:14 +00:00
Chris Lattner
1273471795
simplify condition
...
llvm-svn: 65711
2009-02-28 20:28:50 +00:00
Chris Lattner
0f57895708
start refactoring the .ll printer: introduce a new TypePrinting class
...
and move all related stuff to it.
llvm-svn: 65710
2009-02-28 20:25:14 +00:00
Chris Lattner
fb23a968ad
add a stub for Roadsend PHP
...
llvm-svn: 65705
2009-02-28 18:58:01 +00:00
Chris Lattner
361bfcd932
don't use the word 'aggregate' with constants, it is confusing.
...
llvm-svn: 65702
2009-02-28 18:32:25 +00:00
Chris Lattner
789dee38a5
don't redescribe bitcast constraints in two places. It is not valid to
...
bitcast from one aggregate to another.
llvm-svn: 65700
2009-02-28 18:27:03 +00:00
Chris Lattner
bb1fe8abdd
reject 0 element vectors with:
...
@a = internal constant void bitcast(<0 x i8> <> to void)
^
Fixes PR3685
llvm-svn: 65698
2009-02-28 18:12:41 +00:00
Nick Lewycky
cd5b1443bb
Update this text for first-class aggregates.
...
llvm-svn: 65697
2009-02-28 17:30:06 +00:00
Bill Wendling
638b836aab
Fix typo. Found by William Moss.
...
llvm-svn: 65693
2009-02-28 12:26:34 +00:00
Bill Wendling
6311d06b2f
There is a way to specify targets that should succeed. It's the "XTARGET"
...
keyword.
llvm-svn: 65692
2009-02-28 12:11:01 +00:00
Gabor Greif
e57d407fc2
make traits more flexible by splitting out node-related fragment
...
llvm-svn: 65690
2009-02-28 10:17:32 +00:00
Evan Cheng
398dee1c4a
Last commit accidentially deleted this code.
...
llvm-svn: 65679
2009-02-28 06:02:14 +00:00
Evan Cheng
2f235908ed
Avoid unused parameter warning.
...
llvm-svn: 65670
2009-02-28 01:10:24 +00:00
Stuart Hastings
a079d31fd4
Unable to say "TARGET: *-*-darwin*"; falling back to "XFAIL: linux,ia64,alpha,sparc".
...
llvm-svn: 65667
2009-02-28 00:56:37 +00:00
Mon P Wang
d844dc305e
Added another darwin subtarget
...
llvm-svn: 65662
2009-02-28 00:25:30 +00:00
Stuart Hastings
c08336adc3
Testcase to insure C strings go to the cstring
...
section. Darwin-specific.
llvm-svn: 65655
2009-02-27 22:35:12 +00:00
Devang Patel
843cc34d81
It is possible that subprgoram definition is only encoding return value directly, instsad of an DIArray of all argument types.
...
llvm-svn: 65643
2009-02-27 18:05:21 +00:00
Gabor Greif
97084b8481
group friendship
...
llvm-svn: 65633
2009-02-27 15:46:23 +00:00
Rafael Espindola
000421eade
Refactor TLS code and add some tests. The tests and expected results are:
...
pic | declaration | linkage | visibility |
!pic | declaration | external | default | tls1.ll tls2.ll | local exec
pic | declaration | external | default | tls1-pic.ll tls2-pic.ll | general dynamic
!pic | !declaration | external | default | tls3.ll tls4.ll | initial exec
pic | !declaration | external | default | tls3-pic.ll tls4-pic.ll | general dynamic
!pic | declaration | external | hidden | tls7.ll tls8.ll | local exec
pic | declaration | external | hidden | X | local dynamic
!pic | !declaration | external | hidden | tls9.ll tls10.ll | local exec
pic | !declaration | external | hidden | X | local dynamic
!pic | declaration | internal | default | tls5.ll tls6.ll | local exec
pic | declaration | internal | default | X | local dynamic
The ones marked with an X have not been implemented since local dynamic is not implemented.
llvm-svn: 65632
2009-02-27 13:37:18 +00:00
Gabor Greif
b4b608c617
document ilist_traits
...
llvm-svn: 65631
2009-02-27 13:28:07 +00:00
Gabor Greif
8243b8c1e5
Expand a bit on iplist. If you are more expert on this class, please review!
...
llvm-svn: 65630
2009-02-27 12:02:19 +00:00
Gabor Greif
d5575adbc4
update ilist documentation and add some blurb on ilist_node
...
llvm-svn: 65629
2009-02-27 11:37:41 +00:00
Gabor Greif
97b7ea6a14
update year
...
llvm-svn: 65628
2009-02-27 11:28:46 +00:00
Gabor Greif
3e2acf9508
fix comments
...
llvm-svn: 65627
2009-02-27 09:33:37 +00:00
Gabor Greif
bf4da856e4
Introduce a new technique for merging BasicBlock with Instruction sentinel by superposition.
...
This looks dangerous, but isn't because the sentinel is accessed in special way only,
namely the Next and Prev fields of it, and these are guaranteed to exist.
llvm-svn: 65626
2009-02-27 08:41:37 +00:00
Ted Kremenek
c11fae8977
Update release notes for static analyzer.
...
llvm-svn: 65624
2009-02-27 07:01:32 +00:00
Mikhail Glushenkov
f6281fb47c
'append_cmd' should split its argument.
...
Makes '(append_cmd "-foo a b c")' work.
llvm-svn: 65623
2009-02-27 06:46:55 +00:00
Nick Lewycky
34709f84d8
Silence compiler warning about use of uninitialized variables (in reality these
...
are always set by reference on the path that uses them.) No functional change.
llvm-svn: 65621
2009-02-27 06:37:39 +00:00
Nick Lewycky
d05f6870c3
Fix compiler warning about uninitialized variables. No functional change.
...
llvm-svn: 65620
2009-02-27 06:29:31 +00:00
Dale Johannesen
4609dbe222
Alignment values for i64 and f64 on ppc64 were wrong,
...
possibly for the reason suggested by the comment.
No wonder it didn't work very well. This unblocks
bootstrap with assertions on ppc.
llvm-svn: 65601
2009-02-27 00:56:35 +00:00
Evan Cheng
2ad43a97cc
Make sure this test passes on linux-ppc.
...
llvm-svn: 65600
2009-02-27 00:51:50 +00:00
Dan Gohman
b2f5eaefbe
Update another test for the LoopInfo::print changes.
...
llvm-svn: 65598
2009-02-27 00:20:19 +00:00
Dan Gohman
b4e896baed
Update this test for the LoopInfo::print changes.
...
llvm-svn: 65597
2009-02-27 00:17:49 +00:00
Dan Gohman
db716652d1
Make LoopInfo::print() identify header, exit, and latch blocks,
...
and print the loop depth.
llvm-svn: 65593
2009-02-27 00:05:54 +00:00
Evan Cheng
8d0b4d4fd6
MachineLICM CSE should match destination register classes; avoid hoisting implicit_def's.
...
llvm-svn: 65592
2009-02-27 00:02:22 +00:00
Chris Lattner
53e06f9cb4
drop some un-edited text for pure and ldc in here.
...
llvm-svn: 65579
2009-02-26 22:33:38 +00:00
Gabor Greif
f04958a645
remove deleteNode definition, it is inherited in an identical fashion
...
llvm-svn: 65565
2009-02-26 19:37:54 +00:00
Chris Lattner
df86f29347
make sure that make fully evaluates variables when determining how compile_c and
...
friends should work. This fixes 2006-11-30-Pubnames.cpp and friends on darwin
with the new -mmacosx-version-min change.
llvm-svn: 65564
2009-02-26 19:19:26 +00:00
Chris Lattner
659ed19150
Fix universal builds to not use -XCClinker (a libtool thing) now that
...
libtool doesn't exist.
llvm-svn: 65561
2009-02-26 19:08:30 +00:00
Chris Lattner
265fc59cb2
these utils don't need exports.
...
llvm-svn: 65559
2009-02-26 19:02:23 +00:00
Chris Lattner
3f60b4803a
disable exports from a bunch more tools, those without plugins.
...
llvm-svn: 65558
2009-02-26 19:01:11 +00:00
Chris Lattner
75f9c4e4a1
no really, use the right path.
...
llvm-svn: 65554
2009-02-26 18:38:40 +00:00
Chris Lattner
8f9c4e67bb
Search for the export map in a place that it can be found.
...
llvm-svn: 65552
2009-02-26 18:37:59 +00:00
Chris Lattner
dbf7b1c6e1
use TOOL_NO_EXPORTS, this shrinks the llvm-as binary from 1825296 to
...
1662184 bytes (~10%)
llvm-svn: 65551
2009-02-26 18:29:42 +00:00
Chris Lattner
0f19580996
strip exported symbols from tools that build with TOOL_NO_EXPORTS=1.
...
llvm-svn: 65543
2009-02-26 17:47:49 +00:00
Chris Lattner
c1504647ee
pass -mmacosx-version-min to the compiler and linker, which makes the build
...
substantially happier on some versions of Mac OS/X.
llvm-svn: 65542
2009-02-26 17:44:38 +00:00
John Criswell
d7b8508daa
Another great year for LLVM!
...
llvm-svn: 65530
2009-02-26 15:17:13 +00:00
Nick Lewycky
e23b9f4e59
Tabs to spaces presto chango! Pointed out by Duncan Sands.
...
llvm-svn: 65523
2009-02-26 09:08:43 +00:00
Nick Lewycky
b51813fc1c
Fix typo.
...
llvm-svn: 65521
2009-02-26 08:48:14 +00:00
Nick Lewycky
a0b8aaaad4
Fix typo!
...
llvm-svn: 65520
2009-02-26 08:03:36 +00:00
Nick Lewycky
5eb3773b99
Force 'llvm-config' to go first, optionally followed by lto and gold mixed in
...
with the rest of the parallel directories.
Build lto when possible on all platforms. Make gold to explicitly depend on
libLTO.
llvm-svn: 65518
2009-02-26 07:56:49 +00:00
Nick Lewycky
28c62d211a
Remove libtool.
...
llvm-svn: 65517
2009-02-26 07:44:16 +00:00
Chris Lattner
6b8bf78393
pic16 notes from Sanjiv. Just dumped in for now, will rearrange later.
...
llvm-svn: 65512
2009-02-26 07:32:11 +00:00
Chris Lattner
07bf7e97e4
final random and incoherent notes after making it through all the commits.
...
Next step: making them more coherent.
llvm-svn: 65511
2009-02-26 07:29:17 +00:00
Zhou Sheng
264e46e1e9
Ignore dbg info intrinsics when folding conditional branch to
...
conditional branch predecessors.
llvm-svn: 65509
2009-02-26 06:56:37 +00:00
Nick Lewycky
64a6fe1bc0
Add the function attributes pass during LTO time.
...
llvm-svn: 65508
2009-02-26 06:56:16 +00:00
Chris Lattner
7354ec4303
more notes.
...
llvm-svn: 65507
2009-02-26 06:47:09 +00:00
Chris Lattner
d38d5e8cc1
add some notes from Nicolas G.
...
llvm-svn: 65503
2009-02-26 05:20:36 +00:00
Owen Anderson
5c53a46297
Enable stack slot coloring DCE. Evan's spiller fixes were needed before this could happen.
...
llvm-svn: 65501
2009-02-26 04:47:57 +00:00
Evan Cheng
40abb7b5d0
ADDS{D|S}rr_Int and MULS{D|S}rr_Int are not commutable. The users of these intrinsics expect the high bits will not be modified.
...
llvm-svn: 65499
2009-02-26 03:12:02 +00:00
Evan Cheng
ca2d65467b
The last commit was overly conservative. It's ok to reuse value that's already marked livein.
...
llvm-svn: 65498
2009-02-26 03:02:21 +00:00
Evan Cheng
ee5fd035e2
If an available register falls through to a succ block, unset the last kill. Sorry, it's impossible to reduce a sensible test case. It basically requires the moon and stars to align in order to cause a failure.
...
llvm-svn: 65497
2009-02-26 02:30:42 +00:00
Bob Wilson
e50308e362
Fix a duplicated word in a comment.
...
llvm-svn: 65496
2009-02-26 00:58:09 +00:00
Julien Lerouge
8b08bf9eca
Fix a typo that prevents hello.mm from running (and runs hello.m twice).
...
llvm-svn: 65493
2009-02-26 00:16:33 +00:00
Evan Cheng
a49de9de2e
Revert BuildVectorSDNode related patches: 65426, 65427, and 65296.
...
llvm-svn: 65482
2009-02-25 22:49:59 +00:00
Dale Johannesen
7d12ea0f62
Fix big-endian codegen bug. We're splitting up
...
overly long ints, e.g. i96, into pieces at PHIs
and the nodes that feed into them; however big-endian
reverses the order of the pieces (for some reason), and
wasn't doing it the same way on both sides, so
the pieces didn't match and runtime failures ensued.
Fixes 188.ammp and sqlite3 on ppc32.
llvm-svn: 65481
2009-02-25 22:39:13 +00:00
Devang Patel
7e7fa83f6e
Print variable's display name in dwarf DIE.
...
llvm-svn: 65468
2009-02-25 19:41:35 +00:00
Chris Lattner
af618171f4
Fix PR3667
...
llvm-svn: 65464
2009-02-25 18:20:01 +00:00
Duncan Sands
c642e53b8c
Check that records with a known constant size are not
...
copied field by LLVM field if the record has a variable
sized field in it. The problem is that the LLVM field
will not completely cover the variable sized gcc field.
llvm-svn: 65463
2009-02-25 18:10:49 +00:00
Zhou Sheng
5d9cc1763b
Don't block basic block with only SwitchInst to fold into predecessors.
...
llvm-svn: 65456
2009-02-25 15:34:27 +00:00
Duncan Sands
d34bf76bd1
Flesh out the Ada section a little.
...
llvm-svn: 65448
2009-02-25 11:59:06 +00:00
Duncan Sands
3aa3673f5b
The C backend does not support arbitrary precision integers.
...
llvm-svn: 65447
2009-02-25 11:51:54 +00:00
Duncan Sands
966fd26c83
Note on new type legalizer.
...
llvm-svn: 65446
2009-02-25 11:50:08 +00:00
Duncan Sands
d9c3557fcc
Add note on support for arbitrary precision integers.
...
llvm-svn: 65445
2009-02-25 11:37:39 +00:00
Chris Lattner
3ab27b75a7
more notes.
...
llvm-svn: 65439
2009-02-25 07:32:53 +00:00
Evan Cheng
86673f2806
Clean up dwarf writer, part 1. This eliminated the horrible recursive getGlobalVariablesUsing and replaced it something readable. It eliminated use of slow UniqueVector and replaced it with StringMap, SmallVector, and DenseMap, etc. It also fixed some non-deterministic behavior.
...
This is a very minor compile time win.
llvm-svn: 65438
2009-02-25 07:04:34 +00:00
Nick Lewycky
5c10a3aa7f
Add a totally synthetic situation I came up with while looking at a bug in
...
related code.
llvm-svn: 65437
2009-02-25 06:52:48 +00:00
Chris Lattner
d02da04564
random notes
...
llvm-svn: 65436
2009-02-25 06:34:50 +00:00
Nick Lewycky
2db07614e7
Recommend against using Gold to build LLVM.
...
llvm-svn: 65435
2009-02-25 06:29:47 +00:00
Chris Lattner
b39faaa57e
don't know if there is a vmkit release to match 2.5
...
llvm-svn: 65434
2009-02-25 05:45:05 +00:00
Chris Lattner
f70a024c43
update clang section
...
llvm-svn: 65430
2009-02-25 05:09:54 +00:00
Chris Lattner
7fad44b004
rip out llvm 2.4 details to make room for 2.5
...
llvm-svn: 65429
2009-02-25 04:41:31 +00:00
Scott Michel
e2fdc31759
Expand tabs to spaces (overlooked in previous commit)
...
llvm-svn: 65427
2009-02-25 03:57:49 +00:00
Scott Michel
bb878288cb
Remove all "cached" data from BuildVectorSDNode, preferring to retrieve
...
results via reference parameters.
This patch also appears to fix Evan's reported problem supplied as a
reduced bugpoint test case.
llvm-svn: 65426
2009-02-25 03:12:50 +00:00
Mon P Wang
b402493161
Added support to have TableGen provide information if an intrinsic (core
...
or target) can be overloaded or not.
llvm-svn: 65404
2009-02-24 23:17:49 +00:00
Devang Patel
0c83e84f40
If compile unit's language is not set then don't crash while dump'ing compile unit.
...
llvm-svn: 65402
2009-02-24 23:15:09 +00:00
Daniel Dunbar
5bf00893b6
Extension of GEP in constant folder was broken (apparently this code
...
has never been run!).
- Sorry, don't know how to make an LLVM test case for this.
llvm-svn: 65383
2009-02-24 19:10:46 +00:00
Dan Gohman
0bddac16a8
Rename ScalarEvolution's getIterationCount to getBackedgeTakenCount,
...
to more accurately describe what it does. Expand its doxygen comment
to describe what the backedge-taken count is and how it differs
from the actual iteration count of the loop. Adjust names and
comments in associated code accordingly.
llvm-svn: 65382
2009-02-24 18:55:53 +00:00
Bill Wendling
c5437ea429
Overhaul my earlier submission due to feedback. It's a large patch, but most of
...
them are generic changes.
- Use the "fast" flag that's already being passed into the asm printers instead
of shoving it into the DwarfWriter.
- Instead of calling "MI->getParent()->getParent()" for every MI, set the
machine function when calling "runOnMachineFunction" in the asm printers.
llvm-svn: 65379
2009-02-24 08:30:20 +00:00
Owen Anderson
0fb12efbc1
Add a debugging option for SSC DCE.
...
llvm-svn: 65375
2009-02-24 05:44:18 +00:00
Bill Wendling
786c5973f7
- Use the "Fast" flag instead of "OptimizeForSize" to determine whether to emit
...
a DBG_LABEL or not. We want to fall back to the original way of emitting debug
info when we're in -O0/-fast mode.
- Add plumbing in to pass the "Fast" flag to places that need it.
- XFAIL DebugInfo/deaddebuglabel.ll. This is finding 11 labels instead of 8. I
need to investigate still.
llvm-svn: 65367
2009-02-24 02:35:30 +00:00
Dan Gohman
3204dac652
Add a testcase for the problem fixed in r65289.
...
llvm-svn: 65365
2009-02-24 02:17:42 +00:00
Dan Gohman
4f356bb9b0
Fix a ValueTracking rule: RHS means operand 1, not 0. Add a simple
...
ashr instcombine to help expose this code. And apply the fix to
SelectionDAG's copy of this code too.
llvm-svn: 65364
2009-02-24 02:00:40 +00:00
Dan Gohman
5d1f458f0f
Generalize the ChangeCompareStride code, in preparation for
...
handling non-constant strides. No functionality change.
llvm-svn: 65363
2009-02-24 01:58:00 +00:00
Dan Gohman
e669884749
Preserve the DominanceFrontier analysis in the LoopDeletion pass.
...
llvm-svn: 65359
2009-02-24 01:21:53 +00:00
Devang Patel
50c6324119
gdb uses DW_AT_prototyped to identify K&R style in C based languages.
...
This fixes objc.dg/dwarf-prototypes.m scan-assembler DW_AT_prototyped from llvmgcc42 test suite.
llvm-svn: 65357
2009-02-24 00:52:19 +00:00
Bill Wendling
98bac99265
Un-XFAIL this test.
...
llvm-svn: 65355
2009-02-24 00:37:28 +00:00
Devang Patel
e288082644
While folding unconditional return move DbgRegionEndInst into the predecessor, instead of removing it. This fixes following tests from llvmgcc42 testsuite.
...
gcc.c-torture/execute/20000605-3.c
gcc.c-torture/execute/20020619-1.c
gcc.c-torture/execute/20030920-1.c
gcc.c-torture/execute/loop-ivopts-1.c
llvm-svn: 65353
2009-02-24 00:05:16 +00:00
Devang Patel
6ced076e4c
If there is not any debug info available for any global variables and any subprograms then there is not any debug info to emit.
...
llvm-svn: 65352
2009-02-24 00:02:15 +00:00
Dan Gohman
f6e8c77e1c
Back out the change in 64918 that used sign-extensions when promoting
...
trip counts that use signed comparisons. It's not obviously the best
approach for preserving trip count information, and at any rate there
isn't anything in the tree right now that makes use of that, so for
now always using zero-extensions is preferable.
llvm-svn: 65347
2009-02-23 23:20:35 +00:00
Dan Gohman
318d7376ba
Fast-isel can't do TLS yet, so it should fall back to SDISel
...
if it sees TLS addresses.
llvm-svn: 65341
2009-02-23 22:03:08 +00:00
Ted Kremenek
7df3a5aec3
Correctly implement ImmutableMap::getMaxElement() by getting the actual <key, value> pair.
...
llvm-svn: 65327
2009-02-23 17:28:16 +00:00
Ted Kremenek
e60504d210
Add ImmutableMap::getMaxElement(), a method that returns the <key,value> pair in a ImmutableMap that has the highest ranked key.
...
llvm-svn: 65326
2009-02-23 17:27:18 +00:00
Dan Gohman
e591411fd6
LoopDeletion needs to inform ScalarEvolution when a loop is deleted,
...
so that ScalarEvolution doesn't hang onto a dangling Loop*, which
could be a problem if another Loop happens to get allocated at the
same address.
llvm-svn: 65323
2009-02-23 17:10:29 +00:00
Dan Gohman
0fd45016c2
Use the -stack-alignment option instead of using a target triple
...
for avoiding dynamic stack realignment.
llvm-svn: 65319
2009-02-23 16:34:46 +00:00
Dan Gohman
42987f528a
IndVarSimplify preserves ScalarEvolution. In the
...
-std-compile-opts sequence, this avoids the need for ScalarEvolution to
be rerun before LoopDeletion.
llvm-svn: 65318
2009-02-23 16:29:41 +00:00
Zhou Sheng
7c528e95af
Add test case for checkin @r65314.
...
llvm-svn: 65315
2009-02-23 10:15:04 +00:00
Zhou Sheng
3a86bcf134
Should reset DBI_Prev if DBI_Next == 0.
...
llvm-svn: 65314
2009-02-23 10:14:11 +00:00
Evan Cheng
9f8fddeed8
Only v1i16 (i.e. _m64) is returned via RAX / RDX.
...
llvm-svn: 65313
2009-02-23 09:03:22 +00:00
Nate Begeman
9af0d0c97e
Make this test use darwin targe triple, to avoid stack traffic on linux.
...
llvm-svn: 65312
2009-02-23 09:03:06 +00:00