Daniel Dunbar
f4693e289a
Add more output to clang -parse-print-callbacks
...
- Just added prints for all the action functions. Ideally this would
be extended to print all the information for the actions.
llvm-svn: 54259
2008-08-01 00:41:12 +00:00
Daniel Dunbar
74aa7e1eae
Support constructor and destructor attributes in CodeGen
...
- There is an miscompilation issue remaining due to a poor
interaction between the delayed emission of static functions and
the emission of constructors, but that already existed prior to
this change.
llvm-svn: 54258
2008-08-01 00:01:51 +00:00
Daniel Dunbar
032db47f0f
Support __attribute__(({con,de}structor)) in Parse & Sema
...
- Including possible priority argument
- In other news, the attribute parsing code really needs a cleanup
llvm-svn: 54257
2008-07-31 22:40:48 +00:00
Ted Kremenek
a7045d663d
Enhanced path-sensitive return-of-stack-address check to print out the name of the variable whose address was returned.
...
llvm-svn: 54253
2008-07-31 20:31:27 +00:00
Dale Johannesen
962178e77e
Make sse2 explicit, for non-x86 hosts.
...
llvm-svn: 54251
2008-07-31 20:16:33 +00:00
Bruno Cardoso Lopes
e4798c83d0
Expand fcopysign
...
llvm-svn: 54250
2008-07-31 18:50:54 +00:00
Bruno Cardoso Lopes
23471047be
Handle more SELECT corner cases considering legalize types, probabily wont work with
...
the default legalizer.
llvm-svn: 54249
2008-07-31 18:31:28 +00:00
Dale Johannesen
c31eb205c1
Add a flag to disable jump table generation (all
...
switches use the binary search algorithm) for
environments that don't support it. PPC64 JIT
is such an environment; turn the flag on for that.
llvm-svn: 54248
2008-07-31 18:13:12 +00:00
Ted Kremenek
e5b40a9112
Remove getCodeBody() from Decl, and hoist getBody() into Decl as a virtual function.
...
llvm-svn: 54247
2008-07-31 17:32:12 +00:00
Chris Lattner
b4ec8de163
improve order
...
llvm-svn: 54244
2008-07-31 06:48:13 +00:00
Chris Lattner
330f0f2567
Fix a regression I introduced in r54107:
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=54107
llvm-svn: 54242
2008-07-31 04:58:58 +00:00
Mon P Wang
b160a0d78d
Updated to match new atomic names (to enable overloading for pointers to
...
different address spaces) for llvm r54195.
llvm-svn: 54241
2008-07-31 03:28:23 +00:00
Dan Gohman
345d63ccf2
Improve dagcombining for sext-loads and sext-in-reg nodes.
...
llvm-svn: 54239
2008-07-31 00:50:31 +00:00
Daniel Dunbar
b39b1cd7c3
Fix implicit initialization of structures.
...
<rdar://problem/6113085>
llvm-svn: 54237
2008-07-30 21:00:24 +00:00
Bruno Cardoso Lopes
2d7ddea240
Added pattern for floating point zero immediate (avoiding a constant pool
...
access).
Added pattern to match bitconvert node.
Fixed MTC1 asm string bug.
llvm-svn: 54229
2008-07-30 19:00:31 +00:00
Dan Gohman
88e0df0c91
Move SelectionDAG::viewGraph() out of line; as an inline function
...
it isn't always visible to gdb.
llvm-svn: 54228
2008-07-30 18:48:53 +00:00
Dan Gohman
2fe4352691
Don't look for leaf values to store when lowering stores of
...
empty structs. This fixes PR2612.
llvm-svn: 54226
2008-07-30 18:36:51 +00:00
Owen Anderson
c818c01539
Use existing LiveInterval methods to simplify live interval merging. Thanks to Evan for pointing these out.
...
llvm-svn: 54225
2008-07-30 18:27:35 +00:00
Dan Gohman
f8cc0aa87d
I missed this file in r54223. movzbl is now used instead
...
of movzbw here.
llvm-svn: 54224
2008-07-30 18:23:34 +00:00
Dan Gohman
86b06335aa
Reapply r54147 with a constraint to only use the 8-bit
...
subreg form on x86-64, to avoid the problem with x86-32
having GPRs that don't have 8-bit subregs.
Also, change several 16-bit instructions to use
equivalent 32-bit instructions. These have a smaller
encoding and avoid partial-register updates.
llvm-svn: 54223
2008-07-30 18:09:17 +00:00
Ted Kremenek
6a77d42a4d
Use stable sort.
...
llvm-svn: 54222
2008-07-30 18:03:31 +00:00
Ted Kremenek
e8fce56cd1
"Escape" bug names with quotes for selecting/deselecting from the bug table.
...
llvm-svn: 54220
2008-07-30 17:58:08 +00:00
Ted Kremenek
a8b8ce499a
Add range highlighting for path-sensitive return-of-stack-address check.
...
llvm-svn: 54219
2008-07-30 17:49:12 +00:00
Owen Anderson
7b5f535590
Value numbers whose def index is a special sentinel value should not be remapped.
...
llvm-svn: 54218
2008-07-30 17:42:47 +00:00
Bruno Cardoso Lopes
a950422221
Fixed bug in global address lowering for functions and in Brcond lowering
...
llvm-svn: 54215
2008-07-30 17:06:13 +00:00
Bruno Cardoso Lopes
57e17f0e14
Removed small section flag for mips, the assembler doesnt support this flag
...
llvm-svn: 54214
2008-07-30 17:04:04 +00:00
Bruno Cardoso Lopes
f714e25f7e
Added new features to represent specific instructions groups
...
llvm-svn: 54213
2008-07-30 17:01:06 +00:00
Bruno Cardoso Lopes
89e2b163fb
Instruction definition cleanup
...
llvm-svn: 54212
2008-07-30 16:58:59 +00:00
Daniel Dunbar
e49df9b58f
Change CodeGenModule GlobalDeclMap to directly reference globals
...
instead of mapping the decl to a bitcast of the global to the correct
type.
- GetAddrOf{Function,GlobalVar} introduce the bitcast on every use now.
- This solves a problem where a dangling pointer could be introduced
by the RAUW done when replacing a forward or tentative
definition. See testcase for more details.
- Fixes <rdar://problem/6108358>
llvm-svn: 54211
2008-07-30 16:32:24 +00:00
Matthijs Kooijman
be31571ca5
Document BasicBlock::Create.
...
llvm-svn: 54210
2008-07-30 12:53:14 +00:00
Matthijs Kooijman
ca4ffaabcd
Not that using stream headers other than iostream is allowed.
...
llvm-svn: 54209
2008-07-30 12:14:10 +00:00
Mon P Wang
2c839d4b1e
Added support for overloading intrinsics (atomics) based on pointers
...
to different address spaces. This alters the naming scheme for those
intrinsics, e.g., atomic.load.add.i32 => atomic.load.add.i32.p0i32
llvm-svn: 54195
2008-07-30 04:36:53 +00:00
Eli Friedman
4736916aa6
Another SCEV issue from PR2607; essentially the same issue, but this
...
time applying to the implicit comparison in smin expressions. The
correct way to transform an inequality into the opposite
inequality, either signed or unsigned, is with a not expression.
I looked through the SCEV code, and I don't think there are any more
occurrences of this issue.
llvm-svn: 54194
2008-07-30 04:36:32 +00:00
Owen Anderson
e9a0bae238
More fixes for corner cases when remapping live range indices.
...
llvm-svn: 54186
2008-07-30 00:22:56 +00:00
Owen Anderson
1aebe49ae7
When merging live intervals, we also need to merge in any live ranges that are inputs to two-address instructions
...
that themselves define a range we already care about.
llvm-svn: 54185
2008-07-30 00:21:16 +00:00
Eli Friedman
5ae90441c4
Fix for PR2607: SCEV miscomputing the loop count for loops with an
...
SGT exit condition. Essentially, the correct way to flip an inequality
in 2's complement is the not operator, not the negation operator.
That said, the difference only affects cases involving INT_MIN.
Also, enhance the pre-test search logic to be a bit smarter about
inequalities flipped with a not operator, so it can eliminate the smax
from the iteration count for simple loops.
llvm-svn: 54184
2008-07-30 00:04:08 +00:00
Ted Kremenek
8cf5045012
Fix regression in range highlighting in HTML output.
...
llvm-svn: 54181
2008-07-29 23:35:38 +00:00
Daniel Dunbar
9c426524f8
Rework codegen emission of globals
...
- No (intended) functionality change.
- Primary purpose is to clearly separate (lazy) construction of
globals that are a forward declaration or tentative definition from
those that are the final definition.
- Lazy construction is now encapsulated in
GetAddrOf{Function,GlobalVar} while final definitions are
constructed in EmitGlobal{Function,Var}Definition.
- External interface for dealing with globals is now limited to
EmitGlobal and GetAddrOf{Function,GlobalVar}.
- Also updated helper functions dealing with statics, annotations,
and ctors to be private.
llvm-svn: 54179
2008-07-29 23:18:29 +00:00
Owen Anderson
6b1cc46fee
When merging a PHI operand's live interval into the PHI's live interval, we need to merge over all liveranges in
...
the operand's interval that share the relevant value number, not just the range that immediately precedes the PHI.
llvm-svn: 54174
2008-07-29 21:17:08 +00:00
Owen Anderson
2532e75933
Don't decrement the BB remap when we don't need to.
...
llvm-svn: 54173
2008-07-29 21:15:44 +00:00
Duncan Sands
fa4120530e
Fix PR2609. If a label is deleted, then it needs
...
to be marked invalid regardless of whether it is
a debug, an exception handling or (hopefully) a
GC label.
llvm-svn: 54172
2008-07-29 20:56:02 +00:00
Bruno Cardoso Lopes
2a24157364
Changed some methods order.
...
llvm-svn: 54169
2008-07-29 19:29:50 +00:00
Nate Begeman
82f1925708
Fix broken CellSPU lowering, re-instate braces in Legalize
...
llvm-svn: 54168
2008-07-29 19:07:27 +00:00
Bruno Cardoso Lopes
e683bbabc7
Added floating point lowering for select.
...
llvm-svn: 54167
2008-07-29 19:05:28 +00:00
Duncan Sands
078791bab3
Set the executable bit - means it can actually
...
be run when installing on sparc sun. Set the
mime type to text/x-sh while there.
llvm-svn: 54165
2008-07-29 18:31:42 +00:00
Nate Begeman
d63495ff25
Disable a fix in the previous patch, since it breaks CellSPU.
...
The CellSPU codegen is broken, but needs to be fixed before we can
put this back in.
llvm-svn: 54164
2008-07-29 18:28:31 +00:00
Steve Naroff
873bd8497a
Fix incomplete implementation for rewriting protocol refs.
...
<rdar://problem/6108127> clang ObjC rewriter: no translation of id <proto>
llvm-svn: 54163
2008-07-29 18:15:38 +00:00
Daniel Dunbar
837fd272f8
Fix codegen of chained declarations
...
- Killed useless CodeGenModule::EmitGlobalVarDeclarator, instead just
recurse on any ScopedDecl.
- Fix for <rdar://problem/6093838>
llvm-svn: 54162
2008-07-29 17:47:36 +00:00
Nate Begeman
fecbc8cff1
Add vector shifts to the IR, patch by Eli Friedman.
...
CodeGen & Clang work coming next.
llvm-svn: 54161
2008-07-29 15:49:41 +00:00
Matthijs Kooijman
98b5c16e3b
Add -unroll-allow-partial command line option that enabled the loop unroller to
...
partially unroll a loop when fully unrolling would not fit under the threshold.
Patch by Mikael Lepistö.
llvm-svn: 54160
2008-07-29 13:21:23 +00:00