Benjamin Kramer [Tue, 17 Aug 2010 18:20:28 +0000 (18:20 +0000)]
Sketch i386 relocations handling, from Roman Divacky.
Hello world builds & runs now on i386/ELF with -integrated-as.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111264
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 17 Aug 2010 18:17:12 +0000 (18:17 +0000)]
Don't call Predicate_* methods directly from Sparc target.
Modernize predicates a bit.
The Predicate_* methods are not used by TableGen any longer. They are only
emitted for the sake of legacy code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111263
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 17 Aug 2010 18:13:53 +0000 (18:13 +0000)]
Add hook to examine an instruction referencing a frame index to determine
whether to allocate a virtual frame base register to resolve the frame
index reference in it. Implement a simple version for ARM to aid debugging.
In LocalStackSlotAllocation, scan the function for frame index references
to local frame indices and ask the target whether to allocate virtual
frame base registers for any it encounters. Purely infrastructural for
debug output. Next step is to actually allocate base registers, then add
intelligent re-use of them.
rdar://
8277890
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111262
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 17 Aug 2010 18:00:41 +0000 (18:00 +0000)]
explicitly handle no-op cases for clarity. Fixes clang warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111260
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 17 Aug 2010 17:56:13 +0000 (17:56 +0000)]
Use the correct entry size for relocation entries, from Roman Divacky.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111259
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Aug 2010 17:43:50 +0000 (17:43 +0000)]
Move the decision logic whether it's a good idea to split a critical edge to clients. Also fixed an erroneous check. An edge is only a back edge when the from and to blocks are in the same loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111256
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 17 Aug 2010 17:39:21 +0000 (17:39 +0000)]
When rotating loops, put the original header at the bottom of the
loop, making the resulting loop significantly less ugly. Also, zap
its trivial PHI nodes, since it's easy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111255
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 17 Aug 2010 17:37:22 +0000 (17:37 +0000)]
remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111254
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 17 Aug 2010 17:30:07 +0000 (17:30 +0000)]
Differentiate between RELA and REL relocations, from Roman Divacky.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111252
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 17 Aug 2010 17:23:19 +0000 (17:23 +0000)]
Change ARM PKHTB and PKHBT instructions to use a shift_imm operand to avoid
printing "lsl #0". This fixes the remaining parts of pr7792. Make
corresponding changes for encoding/decoding these instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111251
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Aug 2010 17:15:14 +0000 (17:15 +0000)]
Fix debug message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111250
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Aug 2010 17:13:42 +0000 (17:13 +0000)]
add some 's to a pre to avoid newlines being eaten
and the formatting being thrown off. I admit to not knowing
what is going on here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111249
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 17 Aug 2010 17:07:02 +0000 (17:07 +0000)]
Use the getUniquePredecessor() utility function, instead of doing
what it does manually.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111248
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 17 Aug 2010 17:02:29 +0000 (17:02 +0000)]
One baby step towards i386 ELF, from Roman Divacky.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111247
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Aug 2010 16:20:04 +0000 (16:20 +0000)]
fix emacs language spec's, patch by Edmund Grimley-Evans!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111241
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 17 Aug 2010 16:19:18 +0000 (16:19 +0000)]
When creating a JIT, try to load the program so that we can resolve symbols
against it. This affects Windows.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111240
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 17 Aug 2010 15:50:23 +0000 (15:50 +0000)]
Revert r111230, we have to find a better place for the host-specific code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111232
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 17 Aug 2010 15:42:43 +0000 (15:42 +0000)]
Fix failure of unittests/ExecutionEngine/JIT/MultiJITTest.cpp on
cygwin when built with ENABLE_SHARED=1. Patch by NAKAMURA Takumi!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111231
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 17 Aug 2010 13:55:45 +0000 (13:55 +0000)]
Micro-optimize MCObjectWriter to do a byteswap if necessary and then write the
whole integer to the stream instead of doing byte-sized writes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111230
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 17 Aug 2010 11:45:38 +0000 (11:45 +0000)]
There is this new "LLVM" compiler that supports __builtin_bswap but thinks it's gcc 4.2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111228
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Tue, 17 Aug 2010 05:54:34 +0000 (05:54 +0000)]
Allow more cases of undef shuffle indices and add tests for them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111226
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Aug 2010 01:34:49 +0000 (01:34 +0000)]
Add an option to disable codegen prepare critical edge splitting. In theory, PHI elimination is already doing all (most?) of the splitting needed. But machine-licm and machine-sink seem to miss some important optimizations when splitting is disabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111224
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 17 Aug 2010 01:30:33 +0000 (01:30 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111223
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 17 Aug 2010 01:25:29 +0000 (01:25 +0000)]
Copy over some overridden MI wrappers for ARM fast-isel. This is where
we're adding predicates and optional defs to the MachineInstrs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111222
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 17 Aug 2010 01:20:36 +0000 (01:20 +0000)]
PHI elimination should not break back edge. It can cause some significant code placement issues. rdar://
8263994
good:
LBB0_2:
mov r2, r0
. . .
mov r1, r2
bne LBB0_2
bad:
LBB0_2:
mov r2, r0
. . .
@ BB#3:
mov r1, r2
b LBB0_2
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111221
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 17 Aug 2010 01:18:37 +0000 (01:18 +0000)]
Remove predicate workaround, we're going to require that predicate
and optional def operands are handled in the backend support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111220
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 17 Aug 2010 00:46:57 +0000 (00:46 +0000)]
Make arm fast-isel possible to enable via command line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111219
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 17 Aug 2010 00:33:24 +0000 (00:33 +0000)]
Try to silence a overeager GCC warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111214
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 17 Aug 2010 00:00:46 +0000 (00:00 +0000)]
A round of minor cleanups for ELFObjectWriter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111213
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 16 Aug 2010 23:44:29 +0000 (23:44 +0000)]
Add a testcase for svn 111208.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111212
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 16 Aug 2010 23:42:33 +0000 (23:42 +0000)]
Fix another iterator invalidation that caused a *really* nasty miscompilation in 403.gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111210
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 16 Aug 2010 23:37:17 +0000 (23:37 +0000)]
Ignore undef shuffle indices when checking for a VTRN shuffle. Radar
8290937.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111208
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 16 Aug 2010 23:26:09 +0000 (23:26 +0000)]
tidy up. remove unused local.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111206
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Mon, 16 Aug 2010 23:00:12 +0000 (23:00 +0000)]
Silence warnings and simplify code. Eliminate a 32/64 bit portability issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111201
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 22:57:28 +0000 (22:57 +0000)]
The plural of analysis is analyses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111200
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 22:45:12 +0000 (22:45 +0000)]
Make dumpPassStructure be a PMDataManager abstraction, rather than
a Pass abstraction, since that's the level it's actually used at.
Rename Pass' dumpPassStructure to dumpPass.
This eliminates an awkward use of getAsPass() to convert a PMDataManager*
into a Pass* just to permit a dumpPassStructure call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111199
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 16 Aug 2010 22:30:41 +0000 (22:30 +0000)]
Better handle alignment requirements for local objects in pre-regalloc frame
mapping. Have the local block track its alignment requirement, and then
apply that when the block itself is allocated. Previously, offsets could
get adjusted in PEI to be different, relative to one another, than the
block allocation thought they would be, which defeats the point of doing
the allocation this way. Continuing rdar://
8277890
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111197
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 16 Aug 2010 22:26:55 +0000 (22:26 +0000)]
Generalize a pattern for PKHTB: an SRL of 16-31 bits will guarantee
that the high halfword is zero. The shift need not be exactly 16 bits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111196
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 16 Aug 2010 22:21:13 +0000 (22:21 +0000)]
Convert test to FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111195
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 22:03:47 +0000 (22:03 +0000)]
Make some of PMTopLevelManager's members non-public. In particular,
make its constructor protected.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111193
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 21:57:30 +0000 (21:57 +0000)]
Remove redundant inline keywords.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111192
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 21:38:42 +0000 (21:38 +0000)]
Eliminate the TopLevelManagerType enum; instead, just make
PMTopLevelManager's constructor take a PMDataManager *, which already
provides the needed abstraction support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111189
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 16 Aug 2010 21:18:51 +0000 (21:18 +0000)]
Comment out some broken/unused/useless instructions which mess up disassembly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111185
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 16 Aug 2010 21:17:09 +0000 (21:17 +0000)]
Fixes for generation of ELF relocations. Patch by Roman Divacky.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111183
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 16 Aug 2010 21:03:32 +0000 (21:03 +0000)]
Don't attempt to SimplifyShortMoveForm in 64-bit mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111182
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 16 Aug 2010 20:08:40 +0000 (20:08 +0000)]
Until uleb/sleb are MC-ized, add a hack to make them work with ELF object
emission.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111177
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Mon, 16 Aug 2010 19:15:06 +0000 (19:15 +0000)]
Fix a few warnings in and detabify MCELFStreamer and ELFObjectWriter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111175
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Fleming [Mon, 16 Aug 2010 18:57:57 +0000 (18:57 +0000)]
Add ELF ObjectWriter and Streamer support.
I forgot to add these files in commit 111172.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111174
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Fleming [Mon, 16 Aug 2010 18:36:14 +0000 (18:36 +0000)]
Hookup ELF support for X86.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111173
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Fleming [Mon, 16 Aug 2010 18:35:43 +0000 (18:35 +0000)]
Add ELF ObjectWriter and Streamer support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111172
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Fleming [Mon, 16 Aug 2010 18:35:06 +0000 (18:35 +0000)]
Layout helper function.
Introduce a helper method to add a section to the end of a layout. This
will be used by the ELF ObjectWriter code to add the metadata sections
(symbol table, etc) to the end of an object file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111171
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Fleming [Mon, 16 Aug 2010 18:34:31 +0000 (18:34 +0000)]
Record a symbol's size which is needed for ELF symbol tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111170
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Fleming [Mon, 16 Aug 2010 18:33:46 +0000 (18:33 +0000)]
ELF entry size support.
Some ELF sections contain fixed-sized entries. Provide a way to record
the entry size of a section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111169
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 16 Aug 2010 18:27:34 +0000 (18:27 +0000)]
Rename sat_shift operand to shift_imm, in preparation for using it for other
instructions besides saturate instructions. No functional changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111168
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Mon, 16 Aug 2010 18:24:54 +0000 (18:24 +0000)]
Partially revert r111155. It looks like MSVC is calling an operator<() that
clang says is unused.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111167
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Mon, 16 Aug 2010 18:06:15 +0000 (18:06 +0000)]
track local frame size in MFI, not local to the pass, since PEI needs it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111164
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 17:34:25 +0000 (17:34 +0000)]
Revert r111031. The way LLVM defines loop invariance, the property of an
expression being loop invariant is not equivalent to the property of
properly dominating the loop header.
Other optimizations have also made this optimization less important.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111160
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Mon, 16 Aug 2010 17:18:20 +0000 (17:18 +0000)]
Remove unused functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111156
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Mon, 16 Aug 2010 17:18:18 +0000 (17:18 +0000)]
Remove unused functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111155
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 16 Aug 2010 17:06:03 +0000 (17:06 +0000)]
Remove unused code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111154
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 16 Aug 2010 17:05:27 +0000 (17:05 +0000)]
Convert a test to use FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111153
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 17:01:55 +0000 (17:01 +0000)]
Placate overzealous compiler warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111152
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 16:57:24 +0000 (16:57 +0000)]
To create a copy of a SmallVector with an element removed from the
middle, copy the elements in two groups, rather than copying all the
elements and then doing an erase on the middle of the result. These
are SmallVectors, so we shouldn't expect to hit dynamic allocation
in the common case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111151
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Mon, 16 Aug 2010 16:39:59 +0000 (16:39 +0000)]
Install Embedded builds into usr/local. Radar
8313723.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111149
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 16 Aug 2010 16:35:20 +0000 (16:35 +0000)]
silence a vc2010 warning: " result of 32-bit shift implicitly converted to
64 bits (was 64-bit shift intended?)", pointed out by 'nobled' on llvmdev
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111148
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 16:34:09 +0000 (16:34 +0000)]
Tidy whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111147
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 16:31:39 +0000 (16:31 +0000)]
Add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111145
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 16:30:01 +0000 (16:30 +0000)]
Use const_iterator in a few places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111144
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 16:27:53 +0000 (16:27 +0000)]
Use iterators instead of indices in a few more places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111143
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 16:25:35 +0000 (16:25 +0000)]
Micro-optimize SCEVConstant comparison.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111142
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 16:21:27 +0000 (16:21 +0000)]
Move SCEVNAryExpr's virtual member functions out of line, and convert
them to iterators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111140
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 16:16:11 +0000 (16:16 +0000)]
Use iterators instead of indices in simple cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111138
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 16:13:54 +0000 (16:13 +0000)]
Avoid gratuitous inefficiency in ifndef NDEBUG code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111137
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 16:03:49 +0000 (16:03 +0000)]
Make one getAddExpr call when analyzing a+b+c+d+e+... instead of one
for each add instruction. Ditto for Mul.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111136
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 15:57:14 +0000 (15:57 +0000)]
Delete an unused function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111135
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 15:50:00 +0000 (15:50 +0000)]
Instead of having CollectSubexpr's categorize operands as interesting or
uninteresting, just put all the operands on one list and make
GenerateReassociations make the decision about what's interesting.
This is simpler, and it avoids an extra ScalarEvolution::getAddExpr call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111133
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 15:39:27 +0000 (15:39 +0000)]
Put add operands in ScalarEvolution-canonical order, when convenient.
This isn't necessary, because ScalarEvolution sorts them anyway,
but it's tidier this way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111132
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 15:31:45 +0000 (15:31 +0000)]
Specialize FoldingSetTrait<SCEV>, providing implementations of node
comparison and hash computation which don't require constructing
temporary ID values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111131
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 15:30:39 +0000 (15:30 +0000)]
Add hooks to FoldingSetTrait to allow specializations to provide
implementations of equality comparison and hash computation. This
can be used to optimize node lookup by avoiding creating lots of
temporary ID values just for hashing and comparison purposes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111130
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 15:04:39 +0000 (15:04 +0000)]
Tidy up whitespace in comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111129
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 15:03:24 +0000 (15:03 +0000)]
Constify FoldingSetNodeIDRef's Data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111128
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 14:53:42 +0000 (14:53 +0000)]
Reverse the order of GetNodeProfile's arguments, for consistency
with FoldingSetTrait::Profile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111127
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 14:45:36 +0000 (14:45 +0000)]
Fix indentation in example code in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111125
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 14:44:03 +0000 (14:44 +0000)]
Avoid #include <ScalarEvolution.h> in LoopSimplify.cpp, which doesn't
actually use ScalarEvolution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111124
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 14:41:14 +0000 (14:41 +0000)]
Instead, teach SimplifyCFG to trim non-address-taken blocks from
indirectbr destination lists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111122
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Mon, 16 Aug 2010 14:39:19 +0000 (14:39 +0000)]
Revert r111058, the lint check for indirectbr successors that aren't
address-taken. This can occur normally, if the code which took the
address got DCEd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111121
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 15 Aug 2010 23:32:03 +0000 (23:32 +0000)]
Test expects SSE, give him SSE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111115
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Sun, 15 Aug 2010 22:14:42 +0000 (22:14 +0000)]
Updated LLVMLibDeps.cmake
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111112
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Sun, 15 Aug 2010 22:14:36 +0000 (22:14 +0000)]
CMake: Improved COMMENT on a custom command
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111111
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sun, 15 Aug 2010 20:42:56 +0000 (20:42 +0000)]
Restore arch on these test, they fail on arm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111109
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sun, 15 Aug 2010 19:40:29 +0000 (19:40 +0000)]
Mark as XFAIL on darwin 8. PR 7886.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111108
91177308-0d34-0410-b5e6-
96231b3b80d8
Oscar Fuentes [Sun, 15 Aug 2010 15:08:27 +0000 (15:08 +0000)]
Updated the GenLibDeps -> LLVMLibDeps.cmake transformation example.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111104
91177308-0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sun, 15 Aug 2010 10:27:23 +0000 (10:27 +0000)]
Revert r111082. No warnings for this common pattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111102
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Sun, 15 Aug 2010 07:07:24 +0000 (07:07 +0000)]
Update tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111096
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Sun, 15 Aug 2010 07:07:17 +0000 (07:07 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111095
91177308-0d34-0410-b5e6-
96231b3b80d8
Mikhail Glushenkov [Sun, 15 Aug 2010 07:07:12 +0000 (07:07 +0000)]
llvmc: remove dynamic plugins.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111094
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Sat, 14 Aug 2010 21:51:50 +0000 (21:51 +0000)]
Rework how the non-sse2 memory barrier is lowered so that the
encoding is correct for the built-in assembler.
Based on a patch from Chris.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111083
91177308-0d34-0410-b5e6-
96231b3b80d8
Argyrios Kyrtzidis [Sat, 14 Aug 2010 21:35:10 +0000 (21:35 +0000)]
Add ATTRIBUTE_UNUSED to methods that are not supposed to be used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111082
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 14 Aug 2010 17:26:09 +0000 (17:26 +0000)]
improve indentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111073
91177308-0d34-0410-b5e6-
96231b3b80d8
Bob Wilson [Sat, 14 Aug 2010 03:18:29 +0000 (03:18 +0000)]
T2I_rbin_irs rr variant is for disassembly only, so don't provide a pattern.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111068
91177308-0d34-0410-b5e6-
96231b3b80d8