Joerg Sonnenberger
2204260330
Use a vector of pairs to implement the section stack, not two
...
independent vectors.
llvm-svn: 126099
2011-02-21 01:07:42 +00:00
Oscar Fuentes
22247bd624
Put targets on folders, if the IDE supports the feature.
...
Requires CMake 2.8.3 or newer.
llvm-svn: 126092
2011-02-20 22:06:10 +00:00
Argyrios Kyrtzidis
a3437f732e
Allow getting the address of the value in a PointerUnion or PointerIntPair if one is
...
confident enough that he knows what he is doing.
llvm-svn: 126019
2011-02-19 03:55:58 +00:00
Ted Kremenek
cfdacb2104
Add ImmutableMap methods 'manualRetain()', 'manualRelease()', and 'getRootWithoutRetain()' to help more aggressively reclaim memory in the static analyzer.
...
llvm-svn: 126011
2011-02-19 01:59:21 +00:00
Devang Patel
777de97e8b
Provide enums to build complex address calucation expressions.
...
(This is infact direct copy from DIFactory, which is disappearing soon.)
llvm-svn: 125989
2011-02-18 23:28:53 +00:00
Devang Patel
918feedd44
Remove unused tag.
...
llvm-svn: 125988
2011-02-18 23:23:09 +00:00
Devang Patel
7bc042d9d4
Provide tag strings for llvm specific tags.
...
llvm-svn: 125986
2011-02-18 23:06:29 +00:00
Devang Patel
d63bce18da
Do not lose debug info of an inlined function argument even if the argument is only used through GEPs.
...
This time with a fix that avoids using invalidated DenseMap iterator.
llvm-svn: 125984
2011-02-18 22:43:42 +00:00
Chris Lattner
9f386640da
Now that -loop-idiom uses TargetLibraryInfo properly, it doesn't
...
need to be pulled out of the pass manager when the user specifies
-fno-builtin. It can intelligently determine which libcalls to
optimize based on what is enabled in TargetLibraryInfo. This
allows -fno-builtin-foo to work someday.
llvm-svn: 125981
2011-02-18 22:36:36 +00:00
Chris Lattner
a0dede2c21
add a way to disable all builtins, wire it up to opt's -disable-simplifylibcalls flag.
...
llvm-svn: 125978
2011-02-18 22:34:03 +00:00
Chris Lattner
3c8b2290ec
add memset and memcpy, though they are always available for now.
...
llvm-svn: 125973
2011-02-18 22:21:24 +00:00
Chris Lattner
2d216b82ee
rearrange some comments, no functionality change.
...
llvm-svn: 125972
2011-02-18 22:21:07 +00:00
Owen Anderson
a2d2de33c5
Add FixedLenDecoderEmitter, the skeleton of a new disassembler emitter for fixed-length instruction encodings.
...
A major part of its (eventual) goal is to support a much cleaner separation between disassembly callbacks
provided by the target and the disassembler emitter itself, i.e. not requiring hardcoding of knowledge in tblgen
like the existing disassembly emitters do.
The hope is that some day this will allow us to replace the existing non-Thumb ARM disassembler and remove
some of the hacks the old one introduced to tblgen.
llvm-svn: 125966
2011-02-18 21:51:29 +00:00
Chris Lattner
63dfb2c797
introduce a new TargetLibraryInfo pass, which transformations can use to
...
query about available library functions. For now this just has
memset_pattern16, which exists on darwin, but it can be extended for a
bunch of other things in the future.
llvm-svn: 125965
2011-02-18 21:50:34 +00:00
Rafael Espindola
05e2f8b789
Expose getTypeName to the C API. Patch by Patrick Walton.
...
llvm-svn: 125845
2011-02-18 16:35:37 +00:00
Benjamin Kramer
c52c7162d7
The objectsize intrinsic doesn't access any memory.
...
llvm-svn: 125842
2011-02-18 16:11:40 +00:00
Cameron Zwarich
f6fa19a03f
Roll out r125794 to help diagnose the llvm-gcc-i386-linux-selfhost failure.
...
llvm-svn: 125830
2011-02-18 04:58:10 +00:00
Chris Lattner
87de1d1bb8
hoist GlobalValue::removeDeadConstantUsers up to being a method on Constant.
...
llvm-svn: 125828
2011-02-18 04:41:42 +00:00
Devang Patel
b6f55191b3
Do not lose debug info of an inlined function argument even if the argument is only used through GEPs.
...
llvm-svn: 125794
2011-02-17 23:33:27 +00:00
Nadav Rotem
ad2fd4eada
Enhance constant folding of bitcast operations on vectors of floats.
...
Add getAllOnesValue of FP numbers to Constants and APFloat.
Add more tests.
llvm-svn: 125776
2011-02-17 21:22:27 +00:00
NAKAMURA Takumi
00228d0c2c
Triple::MinGW64 is deprecated and removed. We can use Triple::MinGW32 generally.
...
No one uses *-mingw64. mingw-w64 is represented as {i686|x86_64}-w64-mingw32. In llvm side, i686 and x64 can be treated as similar way.
llvm-svn: 125747
2011-02-17 12:24:17 +00:00
Stuart Hastings
47e45a32a8
Swap VT and DebugLoc operands of getExtLoad() for consistency with
...
other getNode() methods. Radar 9002173.
llvm-svn: 125665
2011-02-16 16:23:55 +00:00
Rafael Espindola
4ef1268b39
Gas is very inconsistent about when a relaxation/relocation is needed. Do
...
the right thing and stop trying to copy it. Fixes PR8944.
llvm-svn: 125648
2011-02-16 03:25:55 +00:00
Rafael Espindola
b59fdeb3de
Add support for pushsection and popsection. Patch by Joerg Sonnenberger.
...
llvm-svn: 125629
2011-02-16 01:08:29 +00:00
Nick Lewycky
5c854580b2
Teach PatternMatch that splat vectors could be floating point as well as
...
integer. Fixes PR9228!
llvm-svn: 125613
2011-02-15 23:13:23 +00:00
Devang Patel
f927b9703e
Move DbgInfoPrinter specific utlities inside DbgInfoPrinter.cpp
...
llvm-svn: 125571
2011-02-15 17:36:11 +00:00
Duncan Sands
061150ac1b
Spelling fix: consequtive -> consecutive.
...
llvm-svn: 125563
2011-02-15 09:23:02 +00:00
Chris Lattner
f800339278
fix comments
...
llvm-svn: 125543
2011-02-15 00:23:53 +00:00
Chris Lattner
db204cbe42
convert ConstantVector::get to use ArrayRef.
...
llvm-svn: 125537
2011-02-15 00:14:00 +00:00
Chris Lattner
0848675c80
fix some typos.
...
llvm-svn: 125536
2011-02-15 00:06:37 +00:00
Jakob Stoklund Olesen
70f48f08c1
Move more fragments of spill weight calculation into CalcSpillWeights.h
...
Simplify the spill weight calculation a bit by bypassing
getApproximateInstructionCount() and using LiveInterval::getSize() directly.
This changes the computed spill weights, but only by a constant factor in each
function. It should not affect how spill weights compare against each other, and
so it shouldn't affect code generation.
llvm-svn: 125530
2011-02-14 23:15:38 +00:00
Chris Lattner
ee7f7c2494
revert my ConstantVector patch, it seems to have made the llvm-gcc
...
builders unhappy.
llvm-svn: 125504
2011-02-14 18:15:46 +00:00
Rafael Espindola
a667a598aa
Move broken HasCommonSymbols to ELFWriter.cpp.
...
llvm-svn: 125490
2011-02-14 16:51:08 +00:00
Chris Lattner
34f32cb4c2
Switch ConstantVector::get to use ArrayRef instead of a pointer+size
...
idiom. Change various clients to simplify their code.
llvm-svn: 125487
2011-02-14 07:55:32 +00:00
Chris Lattner
cf712db15a
add a new ArrayRef class. This is intended to replace the idiom we
...
use in many places where we pass a pointer and size to abstract APIs
that can take C arrays, std::vector, SmallVector, etc. It is to arrays
what StringRef is to strings.
llvm-svn: 125486
2011-02-14 07:35:09 +00:00
Chris Lattner
2552afcae6
fix two comment thinkos
...
llvm-svn: 125481
2011-02-14 06:14:42 +00:00
Nick Lewycky
e980f95634
Fix typo in comment.
...
llvm-svn: 125480
2011-02-14 06:14:20 +00:00
Chris Lattner
f427f729cd
missed a header
...
llvm-svn: 125471
2011-02-13 22:30:09 +00:00
Chris Lattner
4286019ee4
fix thinko :)
...
llvm-svn: 125466
2011-02-13 19:53:36 +00:00
Chris Lattner
c9c0de6faf
Revisit my fix for PR9028: the issue is that DAGCombine was
...
generating i8 shift amounts for things like i1024 types. Add
an assert in getNode to prevent this from occuring in the future,
fix the buggy transformation, revert my previous patch, and
document this gotcha in ISDOpcodes.h
llvm-svn: 125465
2011-02-13 19:09:16 +00:00
Chris Lattner
307c1d4847
add a helper method.
...
llvm-svn: 125453
2011-02-13 08:04:16 +00:00
Zhanyong Wan
c1bc219fc1
Adds llvm::sys::path::is_separator() to test whether a char is a path separator
...
on the host OS. Reviewed by dgregor.
llvm-svn: 125406
2011-02-11 21:24:40 +00:00
Jim Grosbach
b080b9045e
Remove trailing whitespace.
...
llvm-svn: 125385
2011-02-11 18:45:44 +00:00
Douglas Gregor
cd73e97a29
Poison the relational operators ==, !=, <, <=, >=, > on llvm::Optional
...
objects, since they'll end up using the implicit conversion to "bool"
and causing some very "fun" surprises.
llvm-svn: 125380
2011-02-11 18:13:20 +00:00
Chris Lattner
9e2e84606d
make the constantexpr interfaces for inbounds GEPs follow the same style
...
as other constantexpr flags, reducing redundancy.
llvm-svn: 125365
2011-02-11 05:34:33 +00:00
Rafael Espindola
bb94ca00f7
Remove std::string version of getNameWithPrefix.
...
llvm-svn: 125363
2011-02-11 05:23:09 +00:00
Jim Grosbach
872c008cab
Remove trailing whitespace.
...
llvm-svn: 125327
2011-02-11 01:21:00 +00:00
Owen Anderson
a9a32dea04
Clean trailing whitespace.
...
llvm-svn: 125304
2011-02-10 19:56:23 +00:00
Chris Lattner
63f1d56458
switch the constantexpr, target folder, and IRBuilder interfaces
...
for NSW/NUW binops to follow the pattern of exact binops. This
allows someone to use Builder.CreateAdd(x, y, "tmp", MaybeNUW);
llvm-svn: 125270
2011-02-10 07:01:55 +00:00
Douglas Gregor
0044fad1e6
Rip out realpath() support. It's expensive, and often a bad idea, and
...
I have another way to achieve the same goal.
llvm-svn: 125239
2011-02-09 23:33:15 +00:00