Devang Patel
4969322bc4
Let dwarf writer allocate extra space in the debug location expression. This space, if requested, will be used for complex addresses of the Blocks' variables.
...
llvm-svn: 130178
2011-04-26 00:12:46 +00:00
Devang Patel
3da97b7d34
Rename a local variable.
...
llvm-svn: 130171
2011-04-25 23:05:21 +00:00
Devang Patel
e28211b031
Rename a method to match what it really does.
...
s/addVariableAddress/addFrameVariableAddress/g
llvm-svn: 130170
2011-04-25 23:02:17 +00:00
Devang Patel
b1b33d6569
Do not drop a variable's complex address if it is not based on frame base.
...
Observed this while reading code, so I do not have a test case handy here.
llvm-svn: 130167
2011-04-25 22:52:55 +00:00
Dan Gohman
6ff1c50bb5
Fix an iterator invalidation bug.
...
llvm-svn: 130166
2011-04-25 22:48:29 +00:00
Eric Christopher
2fbd7a6280
Make this test disable fast isel as it's not needed.
...
llvm-svn: 130165
2011-04-25 22:39:46 +00:00
Chris Lattner
efcac8f9f0
mark a large static table static. Pointed out by Michael Ilseman!
...
llvm-svn: 130160
2011-04-25 22:14:33 +00:00
Chris Lattner
e2e476dbdd
Improve adherence to general style, use "foo_t &x" instead of "foo_t& x"
...
llvm-svn: 130153
2011-04-25 21:02:12 +00:00
Chris Lattner
75652009a0
allow adding a FoldingSetNodeID to a FastFoldingSetNode, resolving PR9499,
...
patch by Johannes Schaub!
llvm-svn: 130151
2011-04-25 20:58:50 +00:00
Chris Lattner
35166f3b22
add a missed bitfield instcombine.
...
llvm-svn: 130137
2011-04-25 18:44:26 +00:00
Akira Hatanaka
59b356bcc3
Lower BlockAddress node when relocation-model is static.
...
llvm-svn: 130131
2011-04-25 17:10:45 +00:00
Devang Patel
83eac5e134
A dbg.declare may not be in entry block, even if it is referring to an incoming argument. However, It is appropriate to emit DBG_VALUE referring to this incoming argument in entry block in MachineFunction.
...
llvm-svn: 130129
2011-04-25 16:33:52 +00:00
Benjamin Kramer
b2992c34b5
Make tests more useful.
...
lit needs a linter ...
llvm-svn: 130126
2011-04-25 10:12:01 +00:00
Chandler Carruth
74094b8d4a
Remove some hard coded CR-LFs. Some of these were the entire files, one of
...
these was just one line of a file. Explicitly set the eol-style property on the
files to try and ensure this fix stays.
llvm-svn: 130125
2011-04-25 07:11:23 +00:00
Duncan Sands
e4e802432c
Fix comment typo. Noticed by Liu.
...
llvm-svn: 130120
2011-04-25 06:21:43 +00:00
Rafael Espindola
a14f5303dd
Simplify the logic. Noticed by aKor.
...
llvm-svn: 130116
2011-04-24 19:55:34 +00:00
Rafael Espindola
8c824c73b6
Synchronize the conditions for producing a .cfi_startproc and a .cfi_endproc.
...
Fixes PR9787.
llvm-svn: 130115
2011-04-24 19:00:34 +00:00
Sebastian Redl
ef01c3c33f
Fix Target/ARM/Thumb1FrameLowering.h header guard.
...
llvm-svn: 130097
2011-04-24 15:47:01 +00:00
Sebastian Redl
0d36a0b806
Give MC/MCDisassembler/Disassembler.h a header guard.
...
llvm-svn: 130096
2011-04-24 15:46:56 +00:00
Sebastian Redl
5fea40be23
Give SplitKit.h a header guard.
...
llvm-svn: 130095
2011-04-24 15:46:51 +00:00
Sebastian Redl
69f3b52528
Give ImmutableIntervalMap.h an include guard.
...
llvm-svn: 130094
2011-04-24 15:46:46 +00:00
Jay Foad
cd76fe8e21
Fix an assert to check exactly what it says.
...
llvm-svn: 130093
2011-04-24 14:30:00 +00:00
Mikhail Glushenkov
e2c4cc8224
Add a TODO.
...
llvm-svn: 130092
2011-04-24 14:17:41 +00:00
Mikhail Glushenkov
0d5d2e214c
Regenerate.
...
llvm-svn: 130091
2011-04-24 14:17:37 +00:00
Mikhail Glushenkov
37d5b582ea
Remove all references to plugins from the LLVMC docs.
...
llvm-svn: 130090
2011-04-24 14:17:32 +00:00
Jay Foad
bda0742eef
PR9214: Convert the DIBuilder API to use ArrayRef.
...
llvm-svn: 130086
2011-04-24 10:11:03 +00:00
Jay Foad
c146569beb
Remove unused STL header includes.
...
llvm-svn: 130068
2011-04-23 19:53:52 +00:00
Jay Foad
9547cc903c
Like the coding standards say, do not use "using namespace std".
...
llvm-svn: 130054
2011-04-23 09:06:00 +00:00
Benjamin Kramer
fee48a936f
Silence an overzealous uninitialized variable warning from GCC.
...
llvm-svn: 130053
2011-04-23 08:21:06 +00:00
Andrew Trick
f85b5360a8
Accidental function name mangling.
...
llvm-svn: 130050
2011-04-23 04:08:15 +00:00
Andrew Trick
a130d110d1
Thumb2 and ARM add/subtract with carry fixes.
...
Fixes Thumb2 ADCS and SBCS lowering: <rdar://problem/9275821>.
t2ADCS/t2SBCS are now pseudo instructions, consistent with ARM, so the
assembly printer correctly prints the 's' suffix.
Fixes Thumb2 adde -> SBC matching to check for live/dead carry flags.
Fixes the internal ARM machine opcode mnemonic for ADCS/SBCS.
Fixes ARM SBC lowering to check for live carry (potential bug).
llvm-svn: 130048
2011-04-23 03:55:32 +00:00
Andrew Trick
db92825944
Comment edit.
...
llvm-svn: 130047
2011-04-23 03:27:19 +00:00
Andrew Trick
31c7962ce5
whitespace
...
llvm-svn: 130046
2011-04-23 03:24:11 +00:00
NAKAMURA Takumi
ada5cc7c01
docs: Introduce cascading style <div> and <p> continued on <h[2-5]>.
...
<h2>Section Example</h2>
<div> <!-- h2+div is applied -->
<p>Section preamble.</p>
<h3>Subsection Example</h3>
<p> <!-- h3+p is applied -->
Subsection body
</p>
<!-- End of section body -->
</div>
FIXME: Care H5 better.
llvm-svn: 130040
2011-04-23 00:30:22 +00:00
NAKAMURA Takumi
6efe7518bf
test/CodeGen/X86/shrink-compare.ll: Relax expressions for Win64.
...
llvm-svn: 130039
2011-04-23 00:15:45 +00:00
Owen Anderson
e1b33b92a3
Teach FastISel to deal with instructions that have two immediate operands.
...
llvm-svn: 130033
2011-04-22 23:38:06 +00:00
Devang Patel
929bbb6bf9
Let front-end tie subprogram declaration with subprogram definition directly.
...
llvm-svn: 130028
2011-04-22 23:10:17 +00:00
Eric Christopher
4de9ef5cf7
Fix comment.
...
llvm-svn: 130027
2011-04-22 23:08:45 +00:00
Jakob Stoklund Olesen
0dcf650f0a
Always compare the cost of region splitting with the cost of per-block splitting.
...
Sometimes it is better to split per block, and we missed those cases.
llvm-svn: 130025
2011-04-22 22:47:40 +00:00
Mikhail Glushenkov
d744ade563
The .inc file is auto-generated and must not be edited by hand.
...
llvm-svn: 130021
2011-04-22 22:05:29 +00:00
Chris Lattner
d9c0db9bd7
Recommit the fix for rdar://9289512 with a couple tweaks to
...
fix bugs exposed by the gcc dejagnu testsuite:
1. The load may actually be used by a dead instruction, which
would cause an assert.
2. The load may not be used by the current chain of instructions,
and we could move it past a side-effecting instruction. Change
how we process uses to define the problem away.
llvm-svn: 130018
2011-04-22 21:59:37 +00:00
Johnny Chen
dfac31bc1b
Disassembly of A8.6.59 LDR (literal) Encoding T1 (16-bit thumb instruction) should
...
print out ldr, not ldr.n.
rdar://problem/9267772
llvm-svn: 130008
2011-04-22 19:12:43 +00:00
Benjamin Kramer
f6eab5f86e
DAGCombine: fold "(zext x) == C" into "x == (trunc C)" if the trunc is lossless.
...
On x86 this allows to fold a load into the cmp, greatly reducing register pressure.
movzbl (%rdi), %eax
cmpl $47, %eax
->
cmpb $47, (%rdi)
This shaves 8k off gcc.o on i386. I'll leave applying the patch in README.txt to Chris :)
llvm-svn: 130005
2011-04-22 18:47:44 +00:00
Devang Patel
6aac901f77
Do not leak argument's DbgVariables.
...
llvm-svn: 130004
2011-04-22 18:09:57 +00:00
Devang Patel
ee6cdc52e0
Add asserts.
...
llvm-svn: 129995
2011-04-22 16:44:29 +00:00
Benjamin Kramer
7feae20986
X86: Try to use a smaller encoding by transforming (X << C1) & C2 into (X & (C2 >> C1)) & C1. (Part of PR5039)
...
This tends to happen a lot with bitfield code generated by clang. A simple example for x86_64 is
uint64_t foo(uint64_t x) { return (x&1) << 42; }
which used to compile into bloated code:
shlq $42, %rdi ## encoding: [0x48,0xc1,0xe7,0x2a]
movabsq $4398046511104, %rax ## encoding: [0x48,0xb8,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00]
andq %rdi, %rax ## encoding: [0x48,0x21,0xf8]
ret ## encoding: [0xc3]
with this patch we can fold the immediate into the and:
andq $1, %rdi ## encoding: [0x48,0x83,0xe7,0x01]
movq %rdi, %rax ## encoding: [0x48,0x89,0xf8]
shlq $42, %rax ## encoding: [0x48,0xc1,0xe0,0x2a]
ret ## encoding: [0xc3]
It's possible to save another byte by using 'andl' instead of 'andq' but I currently see no way of doing
that without making this code even more complicated. See the TODOs in the code.
llvm-svn: 129990
2011-04-22 15:30:40 +00:00
Frits van Bommel
20f0d49a4a
Comment out some unused parameter names to silence out-of-tree -Wunused warnings.
...
llvm-svn: 129988
2011-04-22 11:36:45 +00:00
Eric Christopher
dbe03d6412
Use enums for constant values.
...
llvm-svn: 129984
2011-04-22 06:34:01 +00:00
Eric Christopher
f48677a625
Make the file format strings a little prettier for mach-o.
...
llvm-svn: 129980
2011-04-22 04:08:58 +00:00
Eric Christopher
c134a52f40
Add MachOObjectFile.cpp to cmake.
...
llvm-svn: 129978
2011-04-22 04:06:24 +00:00