Duncan Sands
f72a53db44
Revert commit 101503 (johannes), in the hope of fixing the dragonegg build,
...
see http://google1.osuosl.org:8011/builders/dragonegg-x86_64-linux/builds/693
Original commit text:
Use a ValueMap not a std::map for the reason indicated
in the comment. This was causing nondeterministic changes
in inlining decisions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101525 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 19:28:59 +00:00
Dan Gohman
899dd9be7f
Trim a #include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101520 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 18:45:11 +00:00
Dale Johannesen
d4ed2a8636
Use a ValueMap not a std::map for the reason indicated
...
in the comment. This was causing nondeterministic changes
in inlining decisions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101503 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 18:16:08 +00:00
Gabor Greif
4ec2258ffb
reapply r101434
...
with a fix for self-hosting
rotate CallInst operands, i.e. move callee to the back
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101465 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 15:33:14 +00:00
Dan Gohman
52d55bd224
Make callIsSmall accessible as a utility function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101463 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 15:14:50 +00:00
Bill Wendling
47639fc5be
The JIT calls TidyLandingPads to tidy up the landing pads. However, because the
...
JIT doesn't use the MC back-end asm printer to emit labels that it uses, the
section for the MCSymbol is never set. And thus the MCSymbol for the EH label
isn't marked as "defined". Because of that, TidyLandingPads removes the needed
landing pads from the JIT output. This breaks EH for every JIT program.
This is a work-around for this limitation. We pass in the label locations
map. If the label has a non-zero value, then it was "emitted" by the JIT and
TidyLandingPads shouldn't remove that label.
A nicer solution would be to mark the MCSymbol as "used" by the JIT and not rely
upon the section being set to determine if it's defined or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101453 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 08:46:10 +00:00
Evan Cheng
64b7bf71e8
Adding support for dag combiner to promote operations for profit. This requires target specific queries. For example, x86 should promote i16 to i32 when it does not impact load folding.
...
x86 support is off by default. It can be enabled with -promote-16bit.
Work in progress.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101448 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 06:14:10 +00:00
Eric Christopher
e429182c01
Add a check for posix_spawn.
...
Regenerate configure and other autoconf files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101444 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 05:14:21 +00:00
Gabor Greif
607a7ab3da
back out r101423 and r101397, they break llvm-gcc self-host on darwin10
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101434 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-16 01:16:20 +00:00
Gabor Greif
2ff961f668
reapply r101364, which has been backed out in r101368
...
with a fix
rotate CallInst operands, i.e. move callee to the back
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101397 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 20:51:13 +00:00
Dan Gohman
005752bbe7
Make getPredecessorWithUniqueSuccessorForBB return the unique successor
...
in addition to the predecessor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101374 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 16:19:08 +00:00
Gabor Greif
9ee1720811
back out r101364, as it trips the linux nightlybot on some clang C++ tests
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101368 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 12:46:56 +00:00
Gabor Greif
165dac08d1
rotate CallInst operands, i.e. move callee to the back
...
of the operand array
the motivation for this patch are laid out in my mail to llvm-commits:
more efficient access to operands and callee, faster callgraph-construction,
smaller compiler binary
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101364 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 10:49:53 +00:00
Dan Gohman
ae541aad5c
Add more const qualifiers for LLVM IR pointers in CodeGen.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101342 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 04:33:49 +00:00
Dan Gohman
46510a73e9
Add const qualifiers to CodeGen's use of LLVM IR constructs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101334 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15 01:51:59 +00:00
Dan Gohman
070c07f2c8
Fix TrackingVH to handle const Value subclasses.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101300 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 22:24:25 +00:00
Dan Gohman
75d4ec3cae
Remove a const here. This makes this function consistent with all the
...
other getOperand wrappers, and it makes it easier to use with DebugInfo
code, which isn't currently prepared to see const MDNode *.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101299 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 22:23:05 +00:00
Dan Gohman
0a60fa3321
Constify GetConstantStringInfo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101298 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 22:20:45 +00:00
Dan Gohman
7ad3b2a3f0
Move a bunch of methods from CallSite to CallSiteBase, so that they can
...
be used in ImmutableCallSite too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101292 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 21:47:32 +00:00
Dan Gohman
7b975f411f
Use FunTy instead of hard-coding Function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101283 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 20:49:44 +00:00
Dan Gohman
ce931088f3
Oops, make these public.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101280 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 20:31:28 +00:00
Dan Gohman
d9587fddd6
Move getType() and getCaller() into CallSiteBase so that
...
ImmutableCallSite can use them too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101279 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 20:28:44 +00:00
Dan Gohman
6465265ae1
Delete unneeeded arguments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101276 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 20:17:22 +00:00
Dan Gohman
6a732b5a66
Delete unused arguments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101275 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 20:05:00 +00:00
Dan Gohman
2520864773
Factor out EH landing pad code into a separate function, and constify
...
a bunch of stuff to support it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101273 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 19:53:31 +00:00
Dan Gohman
833ec1deed
Fix a missing #include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101270 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 18:57:18 +00:00
Dan Gohman
11609451a5
Refine #includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101269 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 18:49:17 +00:00
Dan Gohman
4031d59685
Split ISD::NodeType and a few related items out of SelectionDAGNodes.h
...
into a separate header to allow clients to use them without pulling in
SelectionDAG-specific declarations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101268 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 18:44:34 +00:00
Dan Gohman
c21a2dc8df
Delete an unused function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101263 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 17:22:02 +00:00
Dan Gohman
441516fb3d
Trim #includes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101255 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 16:54:39 +00:00
Dan Gohman
98708260f5
Move the code for emitting livein copies out of SelectionDAGISel.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101254 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 16:51:49 +00:00
Dan Gohman
5861142dad
Fix whitespace, comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101247 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 15:59:02 +00:00
Dan Gohman
4788ec49a9
Add explicit keywords.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101246 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 15:50:02 +00:00
Dan Gohman
6193e5b128
Use C++, not C++-standard-library-internals-ese.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101245 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 15:41:50 +00:00
Dan Gohman
8bc489fd7f
Make SuccIterator's private parts private too.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101244 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 15:38:15 +00:00
Dan Gohman
0118b8d86d
Make helper utility members private.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101243 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 15:33:04 +00:00
Chris Lattner
d305035155
implement mc asmparser support for '.', which gets the
...
current PC. rdar://7834775
We now produce an identical .o file compared to the cctools
assembler for something like this:
_f0:
L0:
jmp L1
.long . - L0
L1:
jmp A
.long . - L1
.zerofill __DATA,_bss,A,0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101227 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-14 04:40:28 +00:00
Daniel Dunbar
07b3a041b4
Fix -Asserts warnings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101191 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-13 23:34:11 +00:00
Sean Callanan
535f4de469
Quick fix for build errors caused by undefined
...
NULL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101180 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-13 21:36:35 +00:00
Sean Callanan
9899f70a74
Fixed a nasty layering violation in the edis source
...
code. It used to #include the enhanced disassembly
information for the targets it supported straight
out of lib/Target/{X86,ARM,...} but now it uses a
new interface provided by MCDisassembler, and (so
far) implemented by X86 and ARM.
Also removed hacky #define-controlled initialization
of targets in edis. If clients only want edis to
initialize a limited set of targets, they can set
--enable-targets on the configure command line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101179 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-13 21:21:57 +00:00
Dan Gohman
81bf03eb5c
Eliminate MachineBasicBlock::const_livein_iterator and make
...
MachineBasicBlock::livein_iterator a const_iterator, because
clients shouldn't ever be using the iterator interface to
mutate the livein set.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101147 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-13 16:57:55 +00:00
Dan Gohman
13e73f483e
Move MachineRegisterInfo's isLiveIn and isLiveOut out of line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101145 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-13 16:55:37 +00:00
Dan Gohman
5c982949bf
Delete an unused member variable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101143 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-13 16:51:39 +00:00
Owen Anderson
fd64901579
SCCVN, we hardly knew ye!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101117 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-13 05:24:08 +00:00
Daniel Dunbar
afc9a0c6b0
VMCore: Add Type::getIntN[Ptr]Ty, which are the obvious generic forms of
...
Type::getInt{1,8,...}[Ptr]Ty, so code can consistently use the methods on Type
without occasionally needed to call IntegerType::get.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101111 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-13 01:39:07 +00:00
Daniel Dunbar
ee09d2781d
IRBuilder: Add Create{Shl,LShr,And,Or,Xor} methods from uin64_t and APInt constants.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101110 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-13 01:38:57 +00:00
Chris Lattner
43ac721e3b
add llvm codegen support for -ffunction-sections and -fdata-sections,
...
patch by Sylvere Teissier!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101106 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-13 00:36:43 +00:00
Sean Callanan
4b318ef974
Bug fix: included System/Types.h instead of
...
inttypes.h to allow building on Windows.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101062 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-12 20:21:56 +00:00
Dan Gohman
53c66eacc4
Enhance ScalarEvolution::isKnownPredicate with support for
...
loop conditions which are invariants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100995 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-11 22:16:48 +00:00
Dan Gohman
e48172710b
Fix a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100992 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-11 22:07:56 +00:00
Dan Gohman
d908bbf727
Fix a #include.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100980 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-11 19:27:52 +00:00
Dan Gohman
3948d0b8b0
Rename isLoopGuardedByCond to isLoopEntryGuardedByCond, to emphasise
...
that it's only testing for the entry condition, not full loop-invariant
conditions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100979 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-11 19:27:13 +00:00
Benjamin Kramer
b61e94fcf8
utostr isn't going away too soon, try to make it slightly smaller.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100977 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-11 19:00:03 +00:00
Chris Lattner
0941534c71
add attributes and module level asm to the ocaml bindings,
...
patch by Patrick Walton!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100932 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-10 17:52:58 +00:00
Wesley Peck
16ddd885d8
Adding IPSCCP and Internalize passes to the C-bindings
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100893 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-09 20:43:20 +00:00
Ted Kremenek
76e94e541c
Move 'Optional' class from Clang to LLVM/ADT.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100889 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-09 20:25:54 +00:00
Bob Wilson
666f8cb9b7
Fix up header comments to match the comment fixups I made in r100849.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100869 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-09 16:24:49 +00:00
Dan Gohman
094b1c851d
Don't use reserved identifiers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100838 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-09 01:19:28 +00:00
Dan Gohman
e056781323
Add variants of ult, ule, etc. which take a uint64_t RHS, for convenience.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100824 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-08 23:03:40 +00:00
Chris Lattner
287df1bc03
delete a forwarding function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100815 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-08 21:34:17 +00:00
Chris Lattner
74aae4726a
move elf section uniquing to MCContext. Along the way
...
merge XCore's section into MCSectionELF
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100812 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-08 21:26:26 +00:00
Chris Lattner
22772214de
remove the TargetLoweringObjectFileMachO::getMachoSection
...
api and update clients to use MCContext instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100808 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-08 20:40:11 +00:00
Chris Lattner
f0559e4b24
move macho section uniquing from MCParser and TLOF to MCContext where
...
the compiler and asmparser now unique to the same sections. This fixes
rdar://7835021.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100807 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-08 20:30:37 +00:00
Evan Cheng
a57fabe815
Coalescer should not delete copy instructions whose defs are partially dead. e.g.
...
%RDI<def,dead> = MOV64rr %RAX<kill>, %EDI<imp-def>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100804 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-08 20:02:37 +00:00
Dan Gohman
113902e9fb
Add a -lint pass which checks for common sources of undefined or likely
...
unintended behavior.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100798 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-08 18:47:09 +00:00
Dan Gohman
88ccf742a3
Fix a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100783 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-08 17:41:04 +00:00
Benjamin Kramer
180c3d4edd
Provide operator delete for BumpPtrAllocator and RecyclingAllocator. They will
...
never be called but msvc complains that they're missing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100766 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-08 15:22:35 +00:00
Evan Cheng
c3b0c341e7
Avoid using f64 to lower memcpy from constant string. It's cheaper to use i32 store of immediates.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100751 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-08 07:37:57 +00:00
Sean Callanan
8f993b8c24
Added support for ARM disassembly to edis.
...
I also added a rule to the ARM target's Makefile to
build the ARM-specific instruction information table
for the enhanced disassembler.
I will add the test harness for all this stuff in
a separate commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100735 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-08 00:48:21 +00:00
Evan Cheng
2dbc8bdfe9
Fix typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100726 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 23:51:38 +00:00
Chris Lattner
38686bdffd
introduce a new recoverable error handling API to LLVMContext
...
and use it in one place in inline asm handling stuff. Before
we'd generate this for an invalid modifier letter:
$ clang asm.c -c -o t.o
fatal error: error in backend: Invalid operand found in inline asm: 'abc incl ${0:Z}'
INLINEASM <es:abc incl ${0:Z}>, 10, %EAX<def>, 2147483657, %EAX, 14, %EFLAGS<earlyclobber,def,dead>, <!-1>
Now we generate this:
$ clang asm.c -c -o t.o
error: invalid operand in inline asm: 'incl ${0:Z}'
asm.c:3:12: note: generated from here
__asm__ ("incl %Z0" : "+r" (X));
^
1 error generated.
This is much better but still admittedly not great ("why" is the operand
invalid??), codegen should try harder with its diagnostics :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100723 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 23:40:44 +00:00
Chris Lattner
b0094c2404
rename llvm_install_error_handler -> install_fatal_error_handler
...
and friends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100717 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 23:12:29 +00:00
Eric Christopher
71988f1e5b
Add support for stpncpy_chk.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100710 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 23:00:07 +00:00
Chris Lattner
75361b69f3
rename llvm::llvm_report_error -> llvm::report_fatal_error
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100709 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 22:58:41 +00:00
Chris Lattner
1ca6531e2e
remove some unneeded errorhandling stuff.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100703 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 22:44:07 +00:00
Chris Lattner
f88c856a47
minor tidying up
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100702 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 22:41:29 +00:00
Dan Gohman
448db1cdef
Generalize IVUsers to track arbitrary expressions rather than expressions
...
explicitly split into stride-and-offset pairs. Also, add the
ability to track multiple post-increment loops on the same expression.
This refines the concept of "normalizing" SCEV expressions used for
to post-increment uses, and introduces a dedicated utility routine for
normalizing and denormalizing expressions.
This fixes the expansion of expressions which are post-increment users
of more than one loop at a time. More broadly, this takes LSR another
step closer to being able to reason about more than one loop at a time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100699 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 22:27:08 +00:00
Anton Korobeynikov
4b38debf59
Remove late ARM codegen optimization pass committed by accident.
...
It is not ready for public yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100673 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 18:23:27 +00:00
Anton Korobeynikov
9ad709b523
Since tblgen bug was fixed (thanks Jakob!) we don't need InstrStage2 hack anymore.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100667 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 18:21:41 +00:00
Anton Korobeynikov
391b3431e2
Make use of new reserved/required scheduling stuff: introduce VFP and NEON locks to model domain cross stalls precisly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100646 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 18:19:40 +00:00
Anton Korobeynikov
96085a36db
Initial support for different kinds of FU reservation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100645 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 18:19:32 +00:00
Anton Korobeynikov
977dfcefa1
Add hook to insert late LLVM=>LLVM passes just before isel
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100640 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 18:18:42 +00:00
Chris Lattner
decc267151
Three changes:
...
1. Introduce some enums and accessors in the InlineAsm class
that eliminate a ton of magic numbers when handling inline
asm SDNode.
2. Add a new MDNodeSDNode selection dag node type that holds
a MDNode (shocking!)
3. Add a new argument to ISD::INLINEASM nodes that hold !srcloc
metadata, propagating it to the instruction emitter, which
drops it.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100605 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 05:20:54 +00:00
Evan Cheng
d94671a25e
Post regalloc LICM. Work in progress.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100592 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07 00:41:17 +00:00
Bill Wendling
aa59c88a6e
Make this hack more specific to the Apple gcc 4.2 non-LLVM compiler.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100556 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 20:07:21 +00:00
Chris Lattner
779804353d
this accessor doesn't need to copy the string.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100542 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 18:37:22 +00:00
Chris Lattner
b019491b8d
enhance SMDiagnostic to also maintain a pointer to the SourceMgr.
...
Add a simplified constructor for clients that don't have locations
like "file not found" errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100538 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 18:06:18 +00:00
Jakob Stoklund Olesen
adc6e06ff0
Avoid overflowing a signed integer which triggers undefined behaviour.
...
Overflowing an unsigned integer is fine and behaves as you would expect.
Also fix a pasto, allowing SignExtend64 to take a 64-bit argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100517 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 03:12:43 +00:00
Chris Lattner
885d94143d
propagate cookie management out one layer of function calls.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100510 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 00:58:50 +00:00
Chris Lattner
421ccd9892
Give MachineModuleInfo an actual Module*.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100508 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 00:51:52 +00:00
Chris Lattner
42a4ee0a35
give LLVMContext an inline asm diagnostic hook member.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100506 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 00:44:45 +00:00
Chris Lattner
214aa8a2cf
give the SourceMgr object a cookie.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100504 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 00:33:43 +00:00
Chris Lattner
8f0f480a10
Give llvm::SourceMgr the ability to have a client-specified
...
diagnostic handler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100503 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06 00:26:48 +00:00
Douglas Gregor
a03948633a
Remove MaybeOwningPtr. We're going to use reference-counting instead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100499 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 23:53:46 +00:00
Chris Lattner
79180e2ef5
Give AsmParser an option to control whether it finalizes
...
the stream. New demo:
$ clang asm.c -S -o - -emit-llvm | llc -filetype=obj -o t.o
$ otool -tv t.o
t.o:
(__TEXT,__text) section
_foo:
0000000000000000 subq $0x08,%rsp
0000000000000004 movl %edi,(%rsp)
0000000000000007 movl %edi,%eax
0000000000000009 incl %eax
000000000000000b movl %eax,(%rsp)
000000000000000e movl %eax,0x04(%rsp)
0000000000000012 addq $0x08,%rsp
0000000000000016 ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100492 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 23:15:42 +00:00
Chris Lattner
e072ab8691
add a comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100490 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 23:07:42 +00:00
Chris Lattner
4c842dda39
stringref-ize the MemoryBuffer::get apis. This requires
...
a co-committed clang patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100485 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 22:42:30 +00:00
Douglas Gregor
2ee35226e5
Introduce MaybeOwningPtr, a smart pointer that may (or may not) have
...
ownership over the pointer it contains. Useful when we want to
communicate ownership while still having several clients holding on to
the same pointer *without* introducing reference counting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100463 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 21:09:22 +00:00
Dan Gohman
54ab2e9326
Add an isReachableFromEntry to MachineDominators, following the one
...
in Dominators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100454 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 19:16:38 +00:00
Chris Lattner
b742b25897
trim some prototypes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100420 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-05 06:21:01 +00:00